代码审计 - zzzphp Sql注入

简介: zzzphp Sql注入

640.png

       zzzphp免费开源建站系统采用PHP免费建站整站系统,所有源码开源完整,支持手机自动同步。

在本地搭建服务器,httpd-vhosts.conf 中设置本地绑定的域名:

640.png

其中,zzzphp为下载的zzzphpcms的内容。

然后,本机上的zzzphp cms的目录结构为如下:

640.png

在按照要求安装好cms后,本地cms的后台地址访问地址为admin264.

在登陆后台后,使用postman发送如下请求:

必须在cookie中设置登陆服务器后返回的cookie值,否则执行将失败:

640.png

该cookie值在成功登陆服务器后台后会自动获得。

在postman中绑定cookie之后,发送请求:

       http://[本地绑定的域名]/[后台地址]/save.php?act=content

       需要注意的是,需要在act中传参数act=content。

使用post传的参数中其他都是无关项,但是c_content为关键项。

c_content参数需要先使用单引号和括号闭合语句,然后插入想要执行的sql语句。

       这里c_content的值为content’,1,9);createdatabase kaixinjiuhao;//

640.png

开始在phpstorm中进行跟踪:

640.png

可以看见此时$act=”content”,继续跟进:

       然后在phpstorm中跟踪,跟踪到save_content()方法:

其中getform函数为获得我们之前通过post提交的各种参数,需要注意的是$c_content参数

       此时,$c_content参数的取值貌似被转义,但是不用着急,往下看。

640.png

       在第299行,$c_pagedesc参数在post不传值的情况下,成功获得我们输入的$_content的值,并且该值未经过转义:

640.png

继续跟踪,在第237行执行db_insert函数,跟进:

640.png

然后在在db_insert函数的第243行执行db_exec函数,继续跟进:

640.png

$d->exec($sql)执行命令

640.png

最后postman返回消息:

640.png 

继续往下执行,postman接收到返回回来的数据:

640.png

可见命令执行成功、可以成功在数据库中找到新创建的kaixinjiuhao数据库:

640.png

证明sql语句执行成功。

       同理,save_content()函数中的$c_title2同样在post请求未传值时从$c_title处获取值,也存在sql注入的风险。




相关文章
|
3天前
|
SQL 安全
jeecg-boot sql注入漏洞解决
jeecg-boot sql注入漏洞解决
26 0
|
3天前
|
SQL 关系型数据库 MySQL
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
|
3天前
|
SQL NoSQL 关系型数据库
一个基于 BigQuery 的 SQL 注入挖掘案例
一个基于 BigQuery 的 SQL 注入挖掘案例
8 0
|
3天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
27 0
|
3天前
|
SQL 安全 关系型数据库
SQL 注入神器:SQLMap 参数详解
SQL 注入神器:SQLMap 参数详解
|
3天前
|
SQL 存储 Java
如何避免SQL注入?
【4月更文挑战第30天】如何避免SQL注入?
25 0
|
3天前
|
SQL 安全 PHP
【PHP 开发专栏】PHP 防止 SQL 注入的方
【4月更文挑战第30天】本文介绍了PHP防止SQL注入的策略,包括理解SQL注入的原理和危害,如数据泄露和系统控制。推荐使用参数化查询(如PDO扩展)、过滤和验证用户输入,以及选择安全的框架和库(如Laravel)。此外,强调了保持警惕、定期更新维护和开发人员安全培训的重要性,以确保应用安全。
|
3天前
|
SQL 存储 安全
|
3天前
|
SQL Oracle 关系型数据库
常见 SQL 注入绕过方法
常见 SQL 注入绕过方法
|
3天前
|
SQL Oracle 关系型数据库
利用 SQL 注入提取数据方法总结
利用 SQL 注入提取数据方法总结