zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    用户场景分析
    团队项目个人工作总结(4月22日)
    团队项目个人工作总结(4月21日)
    团队项目个人工作总结(4月20日)
    第九周学习进度情况
    站立会议10-个人总结
    站立会议9-个人总结
    站立会议8-个人总结
    textarea中文提交乱码问题解决
    站立会议7-个人总结
  • 原文地址:https://www.cnblogs.com/vege/p/13492263.html
Copyright © 2011-2022 走看看