46 WAF绕过-信息收集之反爬虫延时代理池技术

目录

    • 简要本章具体内容和安排缘由
    • 简要本课具体内容和讲课思路
    • 简要本课简要知识点和具体说明
    • 演示案例:
      • Safedog-默认拦截机制分析绕过-未开CC
      • Safedog-默认拦截机制分析绕过-开启CC
        • 总结:
      • Aliyun_os-默认拦截机制分析绕过-简要界面
      • BT(防火墙插件)-默认拦截机制分析绕过-简要界面
    • 涉及资源:

在这里插入图片描述

简要本章具体内容和安排缘由

这四块不是说所有的东西都能绕过,如果说所有的层面你都能绕过,那这个WAF还有什么存在的必要呢,我们能绕够只是说某些地方有相关防护是不安全的,我们可以绕过,不是说他所有的拦截你都能绕过,有时候我们会发现在实际情况下面,有些东西你没思路,或者你搞不了,那不代表那个东西就能绕过,可能就是绕过不了

在测试过程中每一步都会被拦截,所以我们要学习测试方法,基本上文章没有讲到的就是绕过不了或者很难绕过

简要本课具体内容和讲课思路

信息收集有很多方法,比如像前期的子域名扫描,但是有一些信息收集是不会触发WAF的,他没有和实际网站相接触,比如我们想子域名收集,资产信息收集,在现在我们可以不通过网站的扫描,就能获取,可以通过第三方接口查询网站的相关信息,并没有涉及到对网站的相关扫描,所以不会触发这个WAF,这些东西我们就不说了,能触发WAF,又比较关键的信息收集的手段,其中最重点的就是目录扫描,就是我们常说的扫他的敏感文件,是否有备份文件、敏感后台地址,是否有上传地址这些东西,这是非常重要的信息收集的东西,就是对这个网站进行目录扫描,这个是非常重要的,也是我们经常做安全测试会做的一步,利用相关的扫描工具对它的文件或者目录这种东西进行扫描探针,这一步由于是直接对网站进行扫描的,这一块是会直接触发到WAF拦截的,所以我们今天讲的就是围绕这一点进行讲解

简要本课简要知识点和具体说明

绕过分析关于WAF界面的功能介绍,然后利用fuzz模糊测试去进行测试,那些拦截,那些不拦截,在拿出来对比、探针,得到最终的结果,然后我们再根据他的结果和规则去想相应的办法,去尝试绕过

演示案例:

Safedog-默认拦截机制分析绕过-未开CC

我们先用目录扫描器对有使用安全狗的网站进行扫描,这个结果显然是假的,是一种误报,这种误报给你的错觉目录是存在,但是他压根就不存在
在这里插入图片描述
安全狗防护日志是空的可能是功能上的问题,可能是数据包压根就被安全狗阻止之外,就是说安全狗压根就没有接收到这个请求的数据包
在这里插入图片描述
使用head请求方法,会导致被安全狗拦截,可以更换成get请求方式,模拟用户用真实浏览器去请求的一个方式

这个工具默认选择head方式,是因为head的请求回复速度会比get请求方式会快,也就是说这个程序扫描的会更加快捷,但是工具和waf是可以直接拦截出来的
在这里插入图片描述

Safedog-默认拦截机制分析绕过-开启CC

我们把安全狗的等级提升一个档次,把cc攻击防护给开启
在这里插入图片描述
我们用刚才的工具再对网站进行扫描,误报就出现了
在这里插入图片描述
我们再看一下网站,他说请求过于频繁已经被拦截,CC其实是检测你的访问速度、你的来源,这些我们前面讲过是CC的大致原理
在这里插入图片描述
由于扫描工具是多线程工具、速度工具,现在请求速度过快了,因为按照正常网站访问速度来讲的话,你是不可能1秒钟或者在短时间内请求了大量数据包,这个是不现实的,这个绝对是工具,所以拦截的原因是他检测到你这个请求不是正常用户,你是工具,速度过快了

我们的绕过思路就是跟用户的访问习惯一致就可以了,我们可以采取延时扫描,设置3或者4秒,看设置多少秒的时候既能保证速度也能保证结果,这样子就是完美的

现在网站就没有拦截了,但是扫的速度有点慢,但是又不得不这样

上面这个是更改请求方式,下面这个是模拟用户请求数据包,模拟用户请求数据包多了几个参数
在这里插入图片描述
不是黑名单和白名单,那就是按他的防护规矩来,对方如果在这里把路径设置上去之后,这个路径下面的攻击就会成为白名单,这个东西就不会被拦截;同样的道理如果设置黑名单,也就是说这个东西无论你怎么搞都是死的,不会被绕过,所以这个是黑名单白名单的具体区别
在这里插入图片描述
爬虫白名单就是为了确保网站能被正常收录,安全狗的默认设置是为了正常应用和防护的兼容性,把防护等级调的高的话,可能一些正常访问也会出现误报、误拦截,这样子是会干扰正常业务的进行,所以安全狗默认设置是建立在一个平衡的层面去选择一些功能的开关的,但是有些人宁愿误报,也不愿意放过

组织搜索引擎的爬虫会导致网站的收录过低,会影响到一个网站的流量、权重这些价值信息

由于这里是爬虫白名单,爬虫进来白名单,对方是爬虫过来的就不会拦截,因为它是一个正常的,搜索引擎过来的,爬你的网站数据,给搜索引擎一个收录的结果
在这里插入图片描述
修改ua头,就可以模拟搜索引擎访问,这也是反爬虫的一个技术
在这里插入图片描述
但是扫描结果却没有出来,只能使用python脚本去模拟用户访问,然后修改UA头,才能得到结果

import requests
import time

headers = {
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Cookie': 'PHPSESSID=4d6f9bc8de5e7456fd24d60d2dfd5e5a',
    'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Microsoft Edge";v="92"',
    'sec-ch-ua-mobile': '?0',
    'Sec-Fetch-Dest': 'document',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-Site': 'none',
    'Sec-Fetch-User': '?1',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)'
}

for paths in open('php_b.txt', encoding='utf-8'):
    url = "http://127.0.0.1/pikachu"
    paths = paths.replace('\n', '')
    urls = url + paths
    proxy = {
        'http': '127.0.0.1:7777'
    }
    try:
        code = requests.get(urls, headers=headers, proxies=proxy).status_code
        # time.sleep(3)
        print(urls + '|' + str(code))
    except Exception as err:
        print('connect error')
        time.sleep(3)

这个脚本会把数据包发送到BP,我们可以直接在BP上面看请求的内容
在这里插入图片描述
使用python脚本模拟用户访问不指向头,请求的数据包内容就是这样子
在这里插入图片描述
很明显就能看出来是python脚本在请求
我们选择用脚本去开发这些工具,是因为你自己写的脚本,你任何地方都能控制,别人的工具不提供这个给你,你就没办法了

我们之所以去学python开发,原因是不要去求别人的工具,你用别人的东西,永远是别人说怎么搞,你用自己的东西,你想怎么来就怎么来,不是说必须要开发,是很多东西,你要满足,就必须要有这个能力

用脚本跑出来的结果
在这里插入图片描述
在这里插入图片描述
实现了CC开启也能绕过,而且不用延迟,保证速度和质量的扫描结果

还可以使用代理池技术来绕过,我们可以使用网上免费的代理
在这里插入图片描述

总结:

先本地测试安全狗-默认拦截-数据包问题 (未开cc)
先本地测试安全狗-绕过拦截-更改提交方式或模拟用户
先本地测试安全狗-默认拦截-数据包问题 (开cc)
先本地测试安全狗-绕过拦截-延时或代理池或爬虫引擎

Aliyun_os-默认拦截机制分析绕过-简要界面

阿里云上也是有一些简单的防护,阿里云上面也是有付费产品和免费产品,一般你购买阿里云产品,上面也有一些免费的防护,然后他还有一个付费的防护,付费的其实也是大同小异,无非就是多了个实时监控,通知一些攻击情况

阿里云服务器扫着扫着然后就访问不了了,有时候用户访问网站,发现网站响应慢,然后刷新了几下,就被封了,阿里云的检测相当苛刻,被封一次就是1个小时了,重启服务器、在阿里云平台上进行操作都打开不了,这个规则是可能放在阿里自身内部产品里面进行控制

这个WAF绕过没有什么检测机制,没有什么界面,你也不知道它是一个什么检测机制,总的来说就是请求速度的问题,只能采用代理池或延时绕过

速度过快,阿里云该拦截还是拦截,不管你是不是搜索引擎爬虫

阿里云要延迟3秒,延迟两秒也会被封掉

BT(防火墙插件)-默认拦截机制分析绕过-简要界面

宝塔里面是有付费的插件,免费的宝塔基本上很多防护都没有,不是说他买了这些插件,他就有这些东西,他得启动起来,这些插件还是比较贵的
在这里插入图片描述
宝塔默认不买插件的话,有些自带的防护,但是防护的不太严谨,基本上就等同于没防护,但是有了这些收费的产品就不一样了

宝塔-爬虫未知,延迟可以,代理池也可以

发现你在探针敏感目录的东西,就直接拦截
在这里插入图片描述
所以我们在扫描字典里面还要再优化一下,像里面不能有bak,但是如果字典里面不能有bak,那我们扫描它还有什么意义,我们大部分扫描就是扫描它的备份文件,所以实际上有些东西还是受到了限制

我们扫描的意义就是想扫这些东西,而WAF不让我扫,我们可以采取两种方式,字典重写,把带有敏感的目录错开行写;字典变异,加上.或者空格,例如index.php.bak.或index.php.bak%20,不会影响到扫描结果

我们发现一个sql注入,我们要绕过,我们要想到免费的WAF,一个是宝塔上面还有一个套层,还有阿里云的一个套层,我们要满足所有的WAF,真的机会很小,基本上就不用看了;看上去是说WAF绕过,网上文章各种各样的绕过,牛逼的很,自己一搞,一个用的也没有,因为实战环境不会跟我们靶场环境一样,实战环境搞个两三个,只能给虐

用人工智能去识别和攻击的也有
黑盒测试发现漏洞的概率太小了

一个服务器上可能使用多款WAF,我们要绕过就要绕过所有的WAF,很多东西都会有其它因素来影响到你,你能把影响因素找到,然后进行绕过,这才行,否则的话没用,我们进行WAF绕过不仅看产品,有时候服务器上面的安全你也要考虑到,比如像阿里云就是一个很特殊的情况

涉及资源:

宝塔官网:https://www.bt.cn/
安全狗官网:http://free.safedog.cn/website_safedog.html
各大搜索引擎的User-Agent:https://www.cnblogs.com/iack/p/3557371.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/302867.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小米汽车的占用网络是什么

大家好啊,我是董董灿。 昨天小米汽车开了发布会,一下子喜提十几个热搜。 就在人们纷纷猜测,小米汽车的定价会不会延续小米极致性价比风格时。 雷总的一句"电池成本都不下于十几万",瞬间把人们对于小米汽车定价的幻想拉…

CMake入门教程【核心篇】静态库 (.a, .lib)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 概述创建静态库添加静态库到你的项目完整代码示例实战使用技巧与注意事项总结与分析概述 静态库在C++开发中扮演着重要的角色。它们通常以.a(在Unix-like系统

新手练习项目 4:简易2048游戏的实现(C++)

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、效果图二、代码(带注释)三、说明 一、效果图 二、代码(带…

MYSQL篇--索引高频面试题

mysql索引 1什么是索引? 索引说白了就是一种数据结构,可以协助快速查询数据,以及更新数据库表中的数据,更通俗的来说索引其实就是目录,通过对数据建立索引形成目录,便于去查询数据,而mysql索引…

静态网页设计——旅游景点介绍(HTML+CSS+JavaScript)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 感谢大佬的视频: https://www.bilibili.com/video/BV1f64y1N7uH/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术:HTMLCSSJS(…

虚拟机VMware安装Linux

关于安装,安装版本是CentOS 7,选择最小安装即可 第一步:选择创建新的虚拟机 第二步:默认典型,点击下一步 第三步:选择稍后安装操作系统 第四步:选择Linux和版本 第五步:输入虚拟机名…

初识Kafka

1.初识kafka 官网:Apache Kafka Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。 Kafka是一个分布式的发布-订阅消息系统,可以快速地处理高吞吐量的…

杨中科 ASP.NET Core前后端分离开发

一、 前后端分离 1、传统MVC开发模式: 前后端的代码被放到同一个项目中,前端人员负责编写页面的模板,而后端开发人员负责编写控制器和模型的代码并且“套模板”。 缺点: 互相依赖,耦合性强,责任划分不清。 2、主流的“前后端分离…

西门子WinCC的C脚本——对象的事件任务

1、 全局脚本编辑器; 2、 对象的属性任务; 3、 对象的事件任务。 本文探讨一下用C脚本来实现对象的事件任务。 一、例程说明引文:博途工控人平时在哪里技术交流博途工控人社群 如图1所示,为本例程的运行画面。本例程实现以下…

【MATLAB第89期】基于MATLAB的差分自回归滑动平均模型ARIMA时间序列预测模型含预测未来

【MATLAB第89期】基于MATLAB的差分自回归滑动平均模型ARIMA时间序列预测模型含预测未来 往期文章 【MATLAB第82期】基于MATLAB的季节性差分自回归滑动平均模型SARIMA时间序列预测模型含预测未来 一、模型介绍 1、模型简介 差分自回归移动平均模型(Autoregressiv…

外包做了1个月,技术退步一大半了。。。

先说一下自己的情况,本科生,20年通过校招进入深圳某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

【mysql】—— 事务

目录 (一)前言 (二)事务的理解 1、为什么会出现事务 2、什么是事务? 3、事务的版本支持 4、事务提交方式 (三)事务常见操作方式 1、正常演示 - 证明事务的开始与回滚 2、非正常演示…

CSAPP cache lab - Optimizing Matrix Transpose

CSAPP cache lab part B 矩阵转置 矩阵转置是一种操作,它将矩阵的行和列互换位置,即将原始矩阵的行变为转置矩阵的列,将原始矩阵的列变为转置矩阵的行。转置操作可以通过改变矩阵的布局来方便地进行某些计算和分析。 假设有一个mn的矩阵A&…

Qt读取文件对比:每次获取自定义的长度和使用系统的API,耗时对比

0. 前言 在编程过程中,经常遇到文件读写操作,太频繁了。每次也都写的不一样。 突发奇想,想测试下几种不同的读取文件的效率。 测试以下三种方式读取文件效率: 自定义读取文件耗时使用QFile类API读取文件耗时使用QTextStream类AP…

【BIAI】Lecture 5 - Auditory system

Lecture 5 - Auditory system 专业术语 auditory system 听觉系统 pinna 耳廓 auditory canal 耳道 tympanic membrane 鼓膜 cochlea 耳蜗 ossicles 听骨 auditory-vestibular nerve 前庭神经 oval window 椭圆窗 attenuation reflex 衰减反射 tensor tympani muscle 鼓膜张肌…

那些年听烂了的名词之“高可用“

那些年听烂了的名词之"高可用" 引言什么是可用性 ?哪些风险会影响系统的可用性 ?如何应对这些风险,从而确保系统的可用性 ?Phase: 设计做好容灾和多活处理做好容错设计做好资源隔离做好扩展性设计做好数据一致性处理 Phase: 预防做…

适配器Adapters

1.适配器作用 主要是对底层的东西进行改造 2.适配器种类:容器适配器,迭代器适配器,仿函数适配器 2.1容器适配器: stack,queue他们两的底层结构都为deque,deque有好多功能,而stack&#x…

如何将支持标准可观测性协议的中间件快速接入观测

前言 作为一名云原生工程师,如何将支持标准可观测性协议的中间件快速接入观测云呢?答案是只需要三步。 首先,需要确定您要观测的中间件类型。支持标准可观测性协议中间件可通过观测云的 DataKit 采集到中间件的关键指标。有些中间件自带可观…

文件系统与日志分析

一,文件系统 (一)inode 和block概述 1,文件数据包括元信息与实际数据 2,文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节 3,block (块) 连续的八个扇区组成一…

Java常用类---包装类

包装类 包装类简介 Java语言是典型的面向对象编程语言,但是其中的8种基本数据类型并不支持面向对象编程,基本类型数据不具备"对象"的特性,即:没有携带属性以及没有方法可以调用。 为了解决上述问题,java为…