Author:舞林
腾讯微博:http://t.qq.com/wulinlw
今天在微博看到有位童鞋遇到了一个伪静态的注入点。因为自动化工具都会检测url,所以无法依赖工具快速注入了。
T00ls之前有位叫xiamig的童鞋,发布过关于伪静态的文章,让人获益匪浅!
连接如下:
http://www.t00ls.net/thread-7934-1-1.html //伪静态注入
http://www.t00ls.net/thread-9058-1-1.html //伪静态注入实战篇
通常情况下,动态脚本的网站的url类似下面这样
http://www.xxoo.net/aa.php?id=123
做了伪静态之后类似这样
http://www.xxoo.net/aa.php/id/123.html
以斜杠“/”代替了“=”并在最后加上.html,这样一来,就无法直接用工具来注入了,至于手动的方法,xiamig的文章有详细的讲解。
现在我们就来讨论下如何用工具来注入,大家都知道cookies注入中转吧,其实原理都差不多,我们自己写一个动态网页脚本,构造自己的url规则,通过这个页面中转来访问目标页!即我们把伪静态url规则变回原来的?id=123这样的形式,形成一个普通的可方便注入的url。
好吧,试验下!
我在本地用thikphp搭建了一个简单的注入点,因为thinkphp自带了简单的伪静态,比较方便演示。
这个注入点的sql如下:
接收get过来的id
SELECT `account` AS `username`,`password` FROM `think_user` WHERE id=1
页面url如下:
http://localhost/inj/index.php/index/index/id/1.html
变幻1的值来注入!
我比较熟悉php,就用php来写一个注入中转页面吧
inj.php 中转页面源码: set_time_limit(0); $ch = curl_init(); $output = curl_exec($ch); |
将这个文件保存成inj.php即可,这个文件url如下:
http://localhost/inj/inj.php
把产生注入的$id根据目标页的伪静态规则放到指定的位置就可以了。如上。
原理就是通过curl来取得目标页的内容(与直接访问目标页效果一样),只需要修改$url的内容就可以适应各种伪静态规则了。
脚本比较简陋,有需要的童鞋,可根据情况加入post方式,代理,referer等功能。
我们现在访问 http://localhost/inj/inj.php?id=1,
即相当于访问 http://localhost/inj/index.php/index/index/id/1.html ,
呵呵,现在我们就可以把 http://localhost/inj/inj.php?id=1 这个连接放到工具里面注入了。
如图,havij,SQLIHelper可以注入,
文章写的不好,望各位童鞋勿怪,抛砖引玉了,大家有啥好想法,不妨一起交流交流!
留言评论(旧系统):