文/似曾相识
常规的伪静态页面如下:http://www.XXX.com/play/Diablo.html,在看到之前先要确定这个页面是静态还是伪静态,鉴别方法很多,也很简单这里就不说了。
例如关联的动态页面是game.php ,那么当用户访问后程序会自动转换成类似http://www.XXX.com/game.php?action=play&name=Diablo 的形式,当然这部分是PHP执行的所以在访问时看不到。
假如name=Diablo这个参数有注入点但是访问的是伪静态页面,那么注入的语句其实差不多,不过如果是MYSQL数据库是不能用注释符的,因为注释的斜杠会被当成目录访问,那么就会出现问题,所以这里的注入需要把语句补全。
注入点检测可以用:http://www.XXX.com/play/Diablo’ and 1=’1.html与http://www.XXX.com/play/Diablo’ and 1=’2.html来判断,联合查询我也试过,不过失败了。
我用的语句如下:http://www.XXX.com/play/diablo’ and 1=2 union select 1,2… from information_schema.columns where 1=’1.html,但是测试了N次都不能成功,有可能程序的SQL语句后面还有其他条件,具体原因没仔细看。
所以这个时候只能用盲注来检测,不过因为伪静态注入的URL比较特殊,一般的注入工具是利用不了的,所以就把刺猬写的COOKIES注入中转器的 get方式注入的代码修改了一下,只要把注入的参数写成Diablo ,然后在提交的语句后面加上.html那么就可以直接放到穿山甲里注入了。
注入的速度就看中转的速度了,感觉用低版本的穿山甲效果更好,高版本有可能因为速度比较快所以在猜解字母的时候会导致部分内容检测不到。
以上是我在伪静态注入时的一些方法,也许有些地方写的不正确还请各位大牛指出,我不会写程序,最多只能修改代码,所以如果有大牛可以写一款伪静态注入的工具那么感激不尽!