个中,zzzphp为下载的zzzphp cms的内容。
然后,本机上的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);create database 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注入的风险。