我使用的环境php5.4.45+apache
重装覆盖漏洞
我们先走正常流程搭建好网站如下
由于很多网站会存在重装覆盖的漏洞,所以我们先访问下install文件
可以发现这里确实可以重新安装该网站,漏洞+1(这里还和代审无关)
SQL注入
这里,我们需要用上seay源代码审计工具
别看这里好像漏洞很多,大多其实是误报,需要我们人工核实
这里我们先学习挖掘select类型的SQL漏洞吧
首先先挑选/ad_js.php文件
$ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);
先追踪一下getgone函数,这一看就是自定义函数
这里没什么大碍,就是执行sql语句的,让我们回到刚才的文件
可以发现数据是从这里利用GET方式进入的,当参数不为空时,trim函数会去除字符串两侧的空格,所以对我们没什么影响
这里可以发现文件上方引用了另外一个文件
可以发现,当没有开启魔术引号的时候就进入下面这处对数据的输入进行一定地处理
定位deep_addslashes进入文件
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串
最后我们在该处存在注入的地方看到
所以说,我们需要在源代码里查看输出
Okey,我们来复现下这块漏洞,联合查询这些反复的操作就不多叙述了
由于这里存在魔术引号,当我们爆表以及接下来操作的时候难免会用到引号,但是这里又存在魔术引号无法在该处绕过,所以说我们可以通过把表名转化为16进制即可如下:
/ad_js.php?ad_id=-1%20union%20select%201,2,3,4,5,6,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=0x626c7565
未完待续
本文始发于微信公众号(F12sec):【代码审计】0开始学习之bluecms①
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论