AI智能
改变未来

bluecms v1.6 代码审计


0x01 使用seay源代码审计系统进行审计

扫描到了很多个可疑漏洞,不过工具都有一定的误报,下面我们就逐个进行验证

0x02 /ad_js.php SQL注入漏洞

查看源码,我们发现程序通过GET方法接收ad_id的值,然后通过trim函数去除首尾的空白字符,并没有做其他操作,直接代入了SQL语句。

追踪函数getone(),代码在mysql.class.php中,直接执行了sql语句。

因此,我们直接可以通过联合查询来进行注入:

0x03 /user.php 文件包含漏洞

查看源码,我们发现当$act==\’pay\’时,将执行include \’include/payment/\’.$_POST[\’pay\’].\”/index.php\”;

并且$_POST[\’pay\’]的值没有经过处理。

这样我们就可以构造payload,使其包含恶意文件,比如在phpstudy根目录下新建一个index.php文件

通过目录穿越,即可包含该文件:

当然,也可以利用文件路径长度截断(php版本小于等于5.2) ,如用字符.或者/.或者./来截断,造成文件包含漏洞,这样可以包含任意文件。

系统文件路径长度限制:

Windows 259个字节

Linux 4096个字节

0x04 /user.php SQL注入漏洞

这个注入和上边的ad_js.php sql注入原理和操作都相差不大,就不对其分析了。

0x05 /user.php XSS漏洞

发现email是直接post进数据库的,未对其做任何过滤从而引起的xss,但由于其他的,例如用户名有长度验证所以不能xss.

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » bluecms v1.6 代码审计