BlueCMS-前台盲注
前言:俺开始学代码审计了,之前一直在黑盒方面学习,黑盒漏洞挖掘,没有接触过白盒,于是开始学习代码审计。【PHP代码审计项目】系列是一些用来学习练手的CMS的审计笔记,写的不好,但是也是一个记录吧,多年之后再看也是会感慨万千吧哈哈,最后学习完了代码审计我会写一个总结性的文章,还望各位大佬师傅轻喷,欢迎随时指教小弟……
审计环境
- phpstudy 2018
- php-5.4.45
- Apache 2.4.23
- phpstrom 2018
- CMS源码:BlueCMS
审计过程
- 使用正则表达式在phpstrom全局搜索sql语句,找可控变量
1 | (update|select|insert|delete|).*?where.*= |
- 跟进代码,看$ad_id是否可控
- 可以看到,GET方式接收变量,接收时没有任何过滤,继续跟进getone(),看是否有过滤
- getone()没有过滤,继续跟进query()
- query()也没有过滤
漏洞复现
- 那么就很简单了,直接访问,构造sql语句开始注入,加单引号,成功报错
- 尝试联合注入,但是没有回显位,上sqlmap盲注直接抬走哈哈
1 | python sqlmap.py -u http://localhost/cms/bluecms/ad_js.php?ad_id=1 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 X1ly?S!
评论