• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

waf绕过-成功使用扫描器

武飞扬头像
白面安全猿
帮助2

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

各位表哥们在做项目的和挖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头

  1.  
    Mozilla/5.0 (compatible; Baiduspider-render/2.0; http://www.百度.com/search/spider.html)
  2.  
    Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0);
  3.  
    “Mozilla/5.0 (compatible; Googlebot/2.1; http://www.谷歌.com/bot.html)”
  4.  
    “Mozilla/5.0 (compatible; bingbot/2.0; http://www.bing.com/bingbot.htm)”
  5.  
    “Sosospider ( http://help.soso.com/webspider.htm)”
  6.  
    “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.百度.com/search/spider.html)"

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

前路漫漫,一起学习

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgakkaj
系列文章
更多 icon
同类精品
更多 icon
继续加载