我是靠谱客的博主 传统外套,最近开发中收集的这篇文章主要介绍Sqlilabs Less 29-31 Protection with WAF,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这几关都是过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关一样,变成了双引号和括号闭合, 这里就不多说了。

          函数分析


最后

以上就是传统外套为你收集整理的Sqlilabs Less 29-31 Protection with WAF的全部内容,希望文章能够帮你解决Sqlilabs Less 29-31 Protection with WAF所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部