本文由团队-手电筒分享绕过防火墙是渗透测试过程中必须掌握的技能。本文将介绍几种常见的绕过方法,包括但不限于写木马、上传绕过、绕过WAF等。下面将逐一介绍这些方法。1. 使用异或运算绕过WAF异或运算符在字符串之间进行运算,可以将字符串转化为ASCII码,再转化为二进制进行运算,然后再转化为ASCII码,从而绕过检测。测试结果:成功连接。2. 利用注释绕过WAF通过加密shell并放入注释中,利用类的反射机制获取类的注释,再解密生成shell。测试结果:成功连接。3. 利用字符运算符绕过WAF设置字符串为assers,对其进行自增操作。这里的++操作直接对字符串中的最后一个字符进行自增,得到结果为assert。接着与$_REQUEST[x]拼接生成shell。测试结果:正常连接。4. 通过end函数代替[]操作绕过WAFend函数输出数组中当前元素和最后一个元素的值。由于传参仅有一个,直接输出传参值,达到传入参数的目的,相当于shell中的参数传入。测试结果:正常连接。5. 利用常量绕过WAF使用define函数定义常量,并设置值为$_GET[1]。再执行常量a,即eval($_GET[1]),实现绕过。测试结果:正常连接。6. 字符串拼接+双美元符号绕过WAF将assert分割,进行拼接,并使用$$执行可变变量。测试结果:正常连接。7. 通过函数定义绕过WAF设置自定义函数a,当函数中有参数时返回该参数内容。函数内执行效果相当于a($_REQUEST),等同于eval($_REQUEST[1])。测试结果:正常连接。8. 通过类定义绕过WAF定义类User,设置$name为空,设置析构函数,在脚本结束前调用对象。使用eval执行,new函数实例化对象并输出方法。最后,$user->name = ‘’.$_REQUEST[1],相当于eval($_REQUEST[1])。测试结果:正常连接。9. 多传参方式绕过WAF将获取的cookie传参设置为$cookie,作为数组,通过foreach遍历键值对。当$key为assert时,与$_REQUEST[‘s’]拼接生成shell。测试结果:正常连接。10. 利用get_defined_functions绕过WAF获取所有已定义的函数,包括内置函数和用户定义的函数。通过get_defined_functions得到所有函数,并通过[‘internal’][841]访问调用相应函数,再后接($_GET[‘a’])生成shell。测试结果:正常连接。通过这些绕过方法,可以成功绕过安全狗的检测。本文提供的绕过方法适用于初学者收藏学习。对于更深入的绕过技术,后续将有更多内容补充。如有帮助,可点个赞。此外,提供免费视频教程,学习渗透思路与技巧,观看后即可直接进行靶场实战练习。熟悉技能原理与操作,通过在线直播课程,如错过直播,可领取录播视频。自行实践,结合线上资源与实践平台,提升技能水平。