平常我们会遇到很多的类似于“.html”的静态网站,有纯静态的,也有伪静态的。今天主要是谈谈伪静态的网站,很多人都认为伪静态的网站不能用sqlmap来注入,其实也不一定。下面就给大家分享一个很老的案例:
今日找到一个网站,做下安全检测,url是这样的:
http://www.xxxx.com/id/3.html
虽然说上面那个网址不是传统的.php结尾,因此很多人认为这个不能注入,其实伪静态也能注入的,原理都是相通的。这个url虽然做了伪静态,但是还是需要传递参数到数据库去查询的,先试试能否注入?于是提交:
http://www.xxxx.com/product/detail/id/3-1.html
结果,页面的信息出现了变化,如下图:
页面出现了变化,通常来说是存在SQL注入的。
注意:因为加号会被url编码,所以我们通常使用减号来进行判断。
既然漏洞已经找到,接下来就很常规了,直接用sqlmap跑。
命令:
sqlmap.py -u www.xxxx.com/product/detail/id/3*.html --dbms=mysql -v 3
参数说明:
--dbsm 指定数据库
-v 3 可以看到payload,不用使用代理抓包看sql注入语句了。
经过测试,确实存在漏洞,可以注入,下面已经把表给跑了出来了,如下图:
最后,只需要找到后台,再找上传点,直接上传php拿webshell了,太常规了,就不说废话了。
总结:
虽然这是 一个很老的案例,但是它的思路以及原理我们还是有必要学习一下,这个至少是永不过时的。