Sqli-labs靶场详细攻略Less 29-33

Less 29-33

Less 29 GET -Error based- IMPIDENCE MISMATCH- Having a WAF infront of web application

这一关在web应用前有一个waf,在关卡列表界面直接点开是没有的,要在地址栏输入

http://127.0.0.1/Less-29/login.php

才是有waf保护的界面

在这里插入图片描述

其实这里并不是真正的硬件waf,只是有两个函数模拟了waf的功能和收到参数的反应。sqlilabs靶场也提供了能够部署真正硬件waf的代码,不过随着时代的发展,waf也在变化,专门配置这样一个waf也没太有必要,直接使用这个模拟题目的就好了。

这一关在正常配置waf的情况下,的结构图如下所示

在这里插入图片描述

客户端在访问服务器端时,需要先经过一个tomcat服务器,这个tomcat服务器中部署的过滤代码充当了waf的功能。输入的参数经过tomcat服务器过滤后,再被传入到真正的服务端apache服务器上处理,然后逐层返回到客户端。

这里传入的参数只有一个,名为id,当我们强行传入两个名都为id的参数时,waf获取的是第一个参数,而忽略第二个参数,则对第二个参数的内容不做任何检查和过滤,这样第二个参数就可以传入到apache服务器端,进行解析。

构造如下代码

?id=0&id=-1' union select 1,2,database() --+

传入两个参数用&符号隔开,第一个参数用于绕过waf,第二个参数则是传入apache服务器进行运行的注入代码。

在这里插入图片描述

注入成功。

Less 30 GET - BLIND - IMPIDENCE MISMATCH- Having a WAF infront of web application

这一关的绕过waf的思路与上一关相同,依然是传入两个名为id的参数,第一个参数用于让waf检测,第二个参数用于在服务端注入。这一关的使用"进行闭合,除此之外,在服务端没有任何过滤手段,这里使用前面的盲注脚本,基本没什么需要修改的地方,只是加入一个名为id的传入参数即可。

from lxml import html
import requests

def getCheck(url,xpath,payload):
    r=requests.get(url
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值