0个× 00前言
山卫士哪个好用'/>
[k8号]
根据上述规则,该数字与多个数字匹配,但在数字变为字符串后仍被截获
高级匹配规则:
和%20(+=(.)+):
[k9号]
[k10号]
此假设规则还可以确认上述测试中的and 1=1,并将请求包中的and%20的'='s'更改为and/**/'s'='s',360主机卫士将不会拦截
同样,将and/**/'s'='s'改为and+'s'='s'
[k11号]
我们也把and+'s'='s'改为and+1=1
[k12号]
这样,我们假设可以相对地建立和1=1的匹配规则。因为我们可以用这种形式绕过,我们可以得到一个通过WAF的姿势
我们可以使用布尔盲注释来获取网站表中的数据
首先,看库名
语句和+'ow'=database/**/()
[k13号]
找出相应的名称
当然,我们主要绕过软WAF,所以这里不做布尔盲注的详细测试
联合选择匹配规则
初步假设:联合%20选择%20+
[k14号]
让我们用union+select+1,2替换%20
[k15号]
初步假设失败,让我们继续测试
高级假设:
联合(.)+选择(.)+\d+,\d+%20
[k16号]
这里还有一根火柴。基本上,这种匹配规则是无法逃脱的
[k17号]
我们的假设几乎没有错。union-select的匹配规则基本上是这样的
0个× 04提交方法旁路
[k18号]
您可以看到所有数据包都是以get模式传递的。让我们将get提交模式更改为post以查看结果
[k19号]

如你所见,我们将进攻皮洛德。在它被执行之后,它没有被截获。原理很简单。程序首先确定请求模式
当我们发送post请求时,我们在请求体中没有发山卫士哪个好用_主机卫士 安全狗'/>
0个× 05资源限制角旁路
这是一个众所周知的难题。如果HTTP请求post主体太大,则会检测到所有内容,并且WAF集群会消耗太多CPU和内存资源。因此,许多WAF只检测前几个K字节、1M或2m。对于攻击者来说,他们只需要在post body前面添加大量无用的数据,并将攻击负载放在末尾以绕过WAF检测
360安全卫士测试,将SQL注入代码中的$get[“Id”]更改为$post[“Id”],然后测试:
[第23页]
还是会被拦截?我们在攻击pyload之前添加了更多无用的角色
[第24页]
在攻击有效载荷之前,我添加了789个字符,但是360主机守卫没有再次拦截它。然后我们用/**/
[第25页]
我们将把这里无用的字符简化为485个字符,绕过360主机保护
[第26页]
我们来看看云锁
[第27页]
当云锁满足post请求时,它不需要遍历
安全狗:
[第28页]
安全狗在这方面与360主机卫士类似。到目前为止,360主机卫士有三个位置,安全狗有第一个位置,云锁有两个位置
0个× 05测试安全狗和云锁/**/旁路
我们重点介绍了用于测试的特性,//执行结果只是一个空间,可以绕过它并注入//security dog和cloud lock
安全狗试验:
第yload:union//select//1 ,2个
[第29页]
第yload:union/ *********/选择/********/1,2
[k30公里]
在测试结束时,让我们向有效负载添加字母、符号等
第yload:union/ **sssssssss“'****/选择/******sssssssssss”'*****/1,2
使用当前pyload成功绕过安全狗。让我们简化pyload:
第yload:union/ **“'******/选择/****”'*****/1,2
[k31号]
当我们删除字符时,我们被截获,这意味着当安全狗匹配/*/时,它将匹配符号,而不是字符。更改有效负载
第yload:union/ **s******/选择/****s****/1,2
[k32号]
让我们简化这个*并得到以下有效载荷
第yload:union/s **/选择/s**/1,2
[k33公里]
当使用/*/绕过安全狗时,右字符串必须大于或等于2个*符号,中间字符串必须大于或等于1个字母才能绕过安全狗
云锁测试:
根据上面安全狗的姿势测试云锁/*s**/
Pload:union/s**/select/s**/1,2
[k34号]
让我们更改有效负载并添加符号
第yload:union/s “/select/s'”/1,2
[k35公里]
成功绕过云锁并简化pyload
第yload:union/ “/选择/”/1,2
[k36号]
使用/**/绕过云锁时,只需添加“bypass”即可绕过云锁
通过以上的旁路姿态,当360主机卫士、云锁、安全狗组合在一起时,可以得到如下姿态
第yload:union/w '**/select/w'**/1,2
上述pyload可以通过post提交和绕过
0个× 06 SQL注入漏洞修复
[k37号]
修理后:
[k38号]
这可以有效地防止SQL注入
0个× 浅析一句话原则
PHP语句原型:
[k39号]
句子的原型可以分为两部分
@Eval():函数部分
$\Post[“ceshi”:价值转移部分
原理分析:
当我还没接触编程的时候,我真的很想知道为什么木马有这么?你可以上传,下载和写文件。为什么
我们主要写这个文件,其实实现的各种功能都是使用语言内置函数来完成的
file\ put\ Contents():写入文件操作
[k40号]
函数使用file\put\在执行内容(文件名、文件内容)后,文件将被保存。PHP出现在当前目录中。访问以查看输出是否为1
[第41页]
0个× 08 PHP免杀
:查杀
:查杀
:查杀
:查杀
不许杀人
不许杀人
根据上述杀戮情况,我们得出结论:单代码执行的函数safety dog不会被杀戮,只有在有外部可控参数转移的情况下才会被杀戮
让我们继续测试。既然我们知道了,我们就可以原封不动地讨论这个问题,而不是让软WAF检测到我们有参数
[第42页]
可以绕过安全狗,360主机守护。尽量不要使用Eval代码来执行函数,而是使用与assert()函数相同的函数来完成相同的函数
0个× 09关键字函数替换
[第43页]
get传递函数将与360主机卫士的键函数匹配,所以我们只需要将其更改为phpinfo/**/(),这样就可以绕过它
[第44页]
通过post传递关键功能可以直接绕过

0个× 10摘要
一个好的WAF不是通过吹,而是通过练习。研究WAF绕过的目的不是为了攻击网站,而是为了提高WAF的防御能力
当然,我们不能只停留在一个层面,还要了解其漏洞的原理,并在代码层面加以修复,而不是依靠第三方软件进行防御。调查原因
我也希望WAF厂商能看到这样的文章,解决自己的WAF问题
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-373936-1.html
……