栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

waf绕过-成功使用扫描器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

waf绕过-成功使用扫描器

大佬轻喷,本篇都是一些基本的骚操作,小白不易,谢谢。

各位表哥们在做项目的和挖src的时候,想挖出尽可能多的漏洞。这时在已经授权的情况下,开启扫描器一顿ak狂扫,说不定可以收获几个洞洞,但是烦恼来了,有waf,这就导致了误报,更直接的就是被ban了ip。

 

这真是个悲伤的故事。为了解决这种情况的发生,我们先来探讨waf的拦截机制


waf拦截机制
  • 扫描速度过快被ban

自动扫描器在开扫时,就会在短时间内发送大量的数据包,这对服务器会造成负荷,影响服务器运行,waf自然会对其进行拦截。

waf可以开启cc防御来抵御扫描器扫描

 

通过设置每秒钟ip的访问上限,来配置cc防御的基本设置,一旦超过这个上限就会被拦截

 

  • 扫描器指纹被waf识别出来导致被ban

waf有着自己所收集的常用工具指纹库,扫描器在发送数据包时都有自己的指纹头,这些指纹头一般都在数据包中的UA头体现

 

我们再来看下宝塔规则库

 

可以看见常见扫描器awvs,appscan等常见扫描器都被记录在内

  • payload特征被waf识别封禁

扫描器在进行漏洞在扫描时,会发送大量的具有攻击性的payload给目标,waf识别出来了这是带有攻击性的payload,自然会对其进行拦截,导致我们的扫描器误报甚至ip被ban

想必各位都有在测试sql注入时,输入and 1=1 偶吼,被拦截了,这就是payload被识别出来了导致被拦截


 

知道了为啥会被拦截,我们就好对症下药


解决办法
  • 针对扫描速度过快,我们可以采用延时扫描,代理池,伪造ua的方法来进行绕过

先用延时扫描举例,代理池绕过,伪造ua的方法下面会提

比如说sqlmap中的delay参数

python sqlmap.py -u xxx.xxx.com --delay 2

通过delay参数,来延时扫描绕过cc防护,这时有小伙伴就说我用了delay参数啊,但是还是被ban了(这里假设是扫描速度过快导致),那肯定是延时时间不够,就拿阿里云服务器做例子,阿里云服务器延时2秒被ban,延时2.5秒被ban,只有延时3秒才可以绕过。

  • 针对扫描器指纹被waf修改,可以修改UA头,伪造模拟真实用户,使得扫描器指纹改变,让waf识别不出来

比如说awvs

我们上文提到了宝塔的指纹库中有awvs,然而最新版的awvs,可以设置UA头,这样我们就能进行绕过了。

 

在ua头这里,建议大家选择爬虫引擎的ua头,因为有些网站考虑到自身流量的问题,希望网站被爬虫引擎收录,而爬虫引擎的扫描速度自然也是极快的,为了防止爬虫引擎被ban,有些waf(某狗)就会将爬虫引擎设置在白名单内,此时我们伪造成爬虫引擎的ua头,就可以成功地绕过cc防护和扫描器指纹,一举两得

贴出常见爬虫的ua头

Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0);
“Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)”
“Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)”
“Sosospider+(+http://help.soso.com/webspider.htm)”
“Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)”
  • 针对payload特征被waf识别,我们将字典中的数据变异,来进行扫描

比如说对一个网站进行目录扫描,而目录扫描可能会出现这种情况

 

我们都知道文件上传的时候,如果对方是windows系统,我们可以在文件名后面加个空格或者加个.或者加::$DATA,就可以绕过黑名单限制

这里我们同样也可以利用这个特性,在扫描路径后面加个.或者空格或者::$DATA来进行绕过


案例

在实战中,我们会采用awvs,appscan等工具对网站进行整个web漏洞扫描,我们自然可以通过延时扫描来绕过waf的cc防护,但是虽然绕过了,我们花费的时间自然是极大的,一两个小时出结果,想必也等不及。这时我们祭出终极大法:隧道代理。

拿安全狗+宝塔+阿里云的网站做个例子

绕过安全狗:延时,ua头修改,代理池

绕过宝塔:延时,代理池

绕过阿里云:延时,代理池

所以面对这个架构的网站,我们可以采用延时和代理池绕过,延时效率低,我们介绍下代理的方法

代理可以选择白嫖的和付费的

白嫖的代理,表哥们大多是通过爬虫工具将代理网站上的代理ip爬下来,然后逐一验证有效性,最后存放在本地。有几个缺点就是这个白嫖过来的ip有效性可能只有一两分钟左右,还有就是怎样实现发送一个数据包,就换一个ip接着扫描,这需要自己写脚本来实现,是比较麻烦的。而付费的代理则可以完美解决以上问题

去快代理买个隧道代理,记住一定要选择隧道代理每次请求换ip的,一天也不贵,就一杯奶茶钱

 

隧道代理有个优点就是可以实现每次请求更换ip,并且ip数量多,正常情况下完全不用担心ip数量不够

接着去会员中心将本机ip地址设置在白名单内,这样使用买的隧道接口就不需要输入账号密码

 

然后在awvs内设置代理

 

然后就可以愉快地开扫了,并且也是成功扫出了漏洞

扫完看下宝塔日志,可以看见被封的ip都是代理Ip,并且每个Ip都不一样,实现了每个请求都更换ip

 

隧道代理还可以利用在sqlmap上,表哥们在发现注入点后,兴致旦旦的开启sqlmap扫,结果一片姨妈红,事后发现ip还被ban了真是烦恼。这时我们就可以利用sqlmap的proxy参数使用隧道代理来开扫,实现每次请求换ip,成功拿到数据。之前我尝试过使用tor代理,使用代理池弄了几天都没有成功实现每次请求换ip(我菜),出了20块钱就解决了一直困扰我的问题

sqlmap命令

python sqlmap.py -u xxx.xxx.com --proxy="http://tps116.kdlapi.com:15818" --user-agent="Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)"

隧道代理还有许多妙用,还有望各位表哥去探索

前路漫漫,一起学习

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号