免责声明:本文发表前已跟学校联系,漏洞现已修复,请勿利用文章内的相关技术从事非法测试,由于传播、利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。
网址是UTS其中一个子域名
通过sqlmap进行注入要单独加 --tamper="space2comment.py"
可以看到直接赋值给了$s
然后直接进入ASP_Query这个类中
我们进入这个类的construct方法看看,将获取到的参数(包含之前的$s)进行一些简单的处理
在这里面进入了clear_phrase去处理$s这个参数,我们跟进去看看做了什么
只是进行了一些简单的处理 移除多余的空格,去掉字符串两端的空白,去除反斜杠转义字符,但是没有做任何的安全性防护。而因为他移除了所有多余的空格,我们常规注入注不进去,所以要在sqlmap中添加space2comment.py这个脚本,这个脚本使用注释符号/* */替换掉空格,完美绕过该函数的处理。
结尾进入get_posts结束,我们跟进这个get_posts这个函数看看,发现在708这行给$s重新赋值,并且进入了applyExceptions
跟进看看,先判断有没有例外词,如果没有的话就直接return回去,如果有的话就进行一些功能性的处理,比如替换 " ," 、 ", " 和 " , " 为纯逗号等,但是对于安全性没有较强的管控。
然后就是赋值给finalPhrases中,进入循环
在循环中,这个参数直接在730和731中进入search函数,首先我们看一下ASP_Search_INDEX类,在这个类中找不到search函数,那我们往上调用找他的父类
我们在父类ASP_Search_CPT 依旧没有找到对应的search函数,在往上找
终于在ASP_Search类中找到了这个search,其中这个函数并没有进行安全性处理,然后我们直接跟进这个do_search函数,看看他的功能点
我们直接定位到ASP_Search_INDEX类中的do_search函数中,先获取了我们的$s参数
通过三元运算符赋值到words中,直接拼接到sql语句中,然后变成$queries
最后直接进入到wordpress官方的sql查询语句执行,至此攻击链分析完成
原文始发于微信公众号(ZAC安全):对本校UTS的一次SQL注入渗透及分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论