zzzphp免费开源建站系统采用PHP免费建站整站系统,所有源码开源完整,支持手机自动同步。
在本地搭建服务器,httpd-vhosts.conf 中设置本地绑定的域名:
其中,zzzphp为下载的zzzphpcms的内容。
然后,本机上的zzzphp cms的目录结构为如下:
在按照要求安装好cms后,本地cms的后台地址访问地址为admin264.
在登陆后台后,使用postman发送如下请求:
必须在cookie中设置登陆服务器后返回的cookie值,否则执行将失败:
该cookie值在成功登陆服务器后台后会自动获得。
在postman中绑定cookie之后,发送请求:
http://[本地绑定的域名]/[后台地址]/save.php?act=content
需要注意的是,需要在act中传参数act=content。
使用post传的参数中其他都是无关项,但是c_content为关键项。
c_content参数需要先使用单引号和括号闭合语句,然后插入想要执行的sql语句。
这里c_content的值为content’,1,9);createdatabase kaixinjiuhao;//
开始在phpstorm中进行跟踪:
可以看见此时$act=”content”,继续跟进:
然后在phpstorm中跟踪,跟踪到save_content()方法:
其中getform函数为获得我们之前通过post提交的各种参数,需要注意的是$c_content参数
此时,$c_content参数的取值貌似被转义,但是不用着急,往下看。
在第299行,$c_pagedesc参数在post不传值的情况下,成功获得我们输入的$_content的值,并且该值未经过转义:
继续跟踪,在第237行执行db_insert函数,跟进:
然后在在db_insert函数的第243行执行db_exec函数,继续跟进:
$d->exec($sql)执行命令
最后postman返回消息:
继续往下执行,postman接收到返回回来的数据:
可见命令执行成功、可以成功在数据库中找到新创建的kaixinjiuhao数据库:
证明sql语句执行成功。
同理,save_content()函数中的$c_title2同样在post请求未传值时从$c_title处获取值,也存在sql注入的风险。
------------------------------------------------------------------------------
《企业信息安全建设与运维指南》
(1)系统全面,讲述企业信息安全建设从0到1的全部过程。本书聚焦安全体系如何落地,从安全体系规划、方案设计、产品选型、产品开发、部署实施、日常运维等维度详细阐释,内容覆盖办公安全、IDC安全、产品安全、数据安全、安全管理、安全自动化系统开发和业务安全体系建设,基本满足大多数中小企业的安全建设需求。
(2)结合作者实践经验,可操作性强。笔者有十多年信息安全从业经验,曾任职于国内知名网络安全厂商,为数十家企业和各类单位提供安全咨询和专业服务,熟悉企业的安全需求和痛点,本书将作者的实际工作经验总结为案例,具体实用。
(3)分析具体,深入浅出,易于理解。本书从与日常的生活与工作息息相关的安全问题着手,由浅入深循序渐进,讲解信息安全建设过程中的注意事项,便于读者理解安全架构的原理,进而使安全系统建设更加完备。
本文始发于微信公众号(Khan安全攻防实验室):代码审计 - zzzphp Sql注入 (文末抽奖)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论