概述
这几关都是过waf的,其实是前面加了个tomcat的站点,做了些过滤,但是实际是玩的还是apache里面的源码,结构也挺简单,就是前端JSP,过滤后跳转到后端的apache处理结果。tomcat的安装方法和这几关的用法在环境搭建里面有说明。
Less-29 Protection with WAF
手工注入
- 试了下,不管是啥都报错。。。还是直接看源码去了。
- 看源码的时候有个问题有点搞不懂。。。过滤传参都在apache里面的login.php中的,但是JSP重定向的是去apache中的index.php,不晓得网上为啥都说指定的是login.php。。
- JSP中的两个函数,request.getParameter("id"),这个是取ID的值的;request.getQueryString()这个函数是将url中"?"后所有的传入的值都取出来。
- index.jsp中的流程大概是,如果id是空,那就重定向到apache的index.php上;如果id非空,那就作判断,一,如果id参数不是整数,那就重定向到hacker.php上。二,如果id参数是整数,那就重定向到apache的index.php并且同时传入参数为qs。
- 这里得用上HPP(HTTP Parameter Pollution),即
http://10.1.1.201:8080/sqlilabs/Less-29/?id=1&id=2
,在最后加入两个参数,JSP只会判断第一个参数是不是整数,到是将整段参数都输入apache后,apache会处理id=2的,根据这个原理,我们只需要在id=2后面构造语句即可。
- 写的时候突然想到,要是我把jsp的重定向写到login.php会不会好玩一些,试试。。。
结果发现并没有什么区别,还是和之前一样,再去看下源码,原来后台写的参数也会分割处理,没意思,没想明白要两个php的意义干啥。。。哎呀,我擦,突然知道了,login.php的作用,是为了没有tomcat的人来准备的,如果没有安装tomcat的同学,直接访问apache的login.php就可以得到类似的效果,作者牛逼。
函数分析
- 都是些见过的函数,没啥分析,无
Less-30 Protection with WAF - Blind Injection witch double quotes
手工注入
- 和29关一样,变成了盲注了和双引号闭合, 这里就不多说了。
函数分析
- 无
Less-31 Protection with WAF - Error Injection witch double quotes and parenthesis
手工注入
- 和29关一样,变成了双引号和括号闭合, 这里就不多说了。
函数分析
- 无
- 和29关一样,变成了双引号和括号闭合, 这里就不多说了。
- 和29关一样,变成了盲注了和双引号闭合, 这里就不多说了。
最后
以上就是传统外套为你收集整理的Sqlilabs Less 29-31 Protection with WAF的全部内容,希望文章能够帮你解决Sqlilabs Less 29-31 Protection with WAF所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复