当前位置: 首页 > news >正文

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 timeheaders = {'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 + pathsproxy = {'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

相关文章:

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

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

[Markdown] Markdown常用快捷键分类汇总

文章目录 Markdown1、标题2、列表3、强调4、链接和图片5、代码和公式6、表格和任务列表7、引用8、分割线9、脚注10、目录11、注释12、定义 Markdown Markdown是一种轻量级的标记语言,可以让你用简单的语法来编写格式丰富的文档。 Markdown编辑器是一种专门用于编辑…...

uniapp自定义封装只有时分秒的组件,时分秒范围选择

说实话&#xff0c;uniapp和uview的关于只有时分秒的组件实在是不行。全是日历&#xff0c;但是实际根本就不需要日历这玩意。百度了下&#xff0c;终于看到了一个只有时分秒的组件。原地址&#xff1a;原地址&#xff0c;如若侵犯请联系我删除 <template><view clas…...

SpringBoot 中 @Transactional 注解的使用

一、基本介绍 事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。本篇只说明声明式注解。 1、在 spring 项目中, Transactional 注解默认会回滚运行时异常及其子类&#xff0c;其它范…...

【还不了解 Dockerfile 的同学不是好测试人】

近年来 Docker 非常火&#xff0c;想要玩好 Docker 的话 Dockerfile 是绕不开的&#xff0c;这就好比想要玩好 Linux 服务器绕不开 shell 道理是一样的。 今天我们就来聊一聊 Dockerfile 怎么写&#xff0c;那些指令到底是什么意思。 前言 一、先来看一个简单的 Dockerfile #这…...

新手一键重装系统Win10步骤教程

如果我们发现电脑上的操作系统出现很严重的问题&#xff0c;不能通过简单的操作解决&#xff0c;这时候就可以选择重新安装电脑系统&#xff0c;快速解决问题。但是&#xff0c;新手用户不具备专业的装机知识&#xff0c;不知道重装Win10系统要怎么操作&#xff1f;那么可以按照…...

Ceph源码分析-在C++中,符号““和“*“有不同的用法。

在C中&#xff0c;符号"&"和"*"有不同的用法。 "&"符号&#xff1a; 在变量声明时&#xff0c;"&"用于定义引用类型。例如&#xff1a;int a 10; int& ref a; 这里的"ref"是一个引用&#xff0c;它引用了…...

Azure AI 内容安全Content Safety Studio实战

Azure AI Content Safety 检测应用程序和服务中用户生成和 AI 生成的有害内容。 Azure AI 内容安全包括文本和图像 API&#xff0c;可用于检测有害材料。 交互式 Content Safety Studio&#xff0c;可用于查看、浏览和试用用于检测不同形式的有害内容的示例代码。 关注TechLead…...

计算机网络学习笔记(四)

文章目录 1.介绍一下HTTPS的流程。2.介绍一下HTTP的失败码。3.说一说你知道的http状态码。4. 301和302有什么区别&#xff1f;5.302和304有什么区别&#xff1f;6. 请描述一次完整的HTTP请求的过程。7.什么是重定向&#xff1f;8. 重定向和请求转发有什么区别&#xff1f;9.介绍…...

typora导出html添加目录

typora导出html添加目录 使用方法 首先要从typora导出html文件&#xff0c;之后用记事本编辑器html文件 找到文档最后面&#xff0c;如图&#xff1a; 用文字编辑类工具打开sideBar.txt&#xff0c;复制其中所有内容【内容在下面】 在如上图的位置插入所复制的内容 打开修改…...

vue3 封装一个按钮组件(可自定义按钮样式)

效果图 鼠标悬浮有对应的文字提示&#xff0c;且图标出现背景色和颜色 实现 目前提供五个固定样式的图标及三个用户自定义的图标&#xff0c;可根据需要补充 组件代码 <script setup lang"ts"> import { onMounted, PropType, reactive, ref, watch } from v…...

Docker 中使用超级用户

在docker中安装keytool产生的问题&#xff1a; sudo apt-get install openjdk-8-jre-headless bash: sudo: command not found elasticsearchd989639e3cb4:~/config/certs$ apt-get install openjdk-8-jre-headless E: Could not open lock file /var/lib/dpkg/lock-frontend …...

git打tag以及拉取tag

场景&#xff1a;某次git代码发布后定版记录&#xff0c;将发版所在的commit时候代码打上tag记录&#xff0c;方便后期切换到对应tag代码位置。 查看所有tag名 git tag// 1.1.0 // 1.0.0查看tag和描述 git tag -l -n//1.0.0 云监管一期项目完结 //1.1.0 …...

TS 36.212 V12.0.0-信道编码、复用和交织(1)-通用过程

本文的内容主要涉及TS 36.212&#xff0c;版本是C00&#xff0c;也就是V12.0.0。...

纯前端上传word,xlsx,ppt,在前端预览并下载成图片(预览效果可以,下载图片效果不太理想)

纯前端上传word,xlsx,ppt,在前端预览并下载成图片&#xff08;预览效果可以&#xff0c;下载图片效果不太理想&#xff09; 一.安装依赖二、主要代码 预览效果链接: https://github.com/501351981/vue-office 插件文档链接: https://501351981.github.io/vue-office/examples/d…...

WPS Office找回丢失的工作文件

WPS office恢复办公文件方法有两种. 1.通过备份中心可以查看近期编辑 office 历史版本进行恢复. 2.缓存备份目录可以查看编辑过的 office 文件的历史版本&#xff0c;新版本 WPS 可以在配置工具-备份清理找到&#xff0c;2019 年旧版本 WPS 可以在新建任意 office 文件-文件-选…...

【MATLAB源码-第106期】基于matlab的SAR雷达系统仿真,实现雷达目标跟踪功能,使用卡尔曼滤波算法。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 雷达系统参数设定&#xff1a; - 工作频率&#xff1a;选择一个适合的工作频率&#xff0c;例如X波段&#xff08;8-12 GHz&#xff09;。 - 脉冲重复频率&#xff08;PRF&#xff09;&#xff1a;设定一个适当的PR…...

【机器学习】scikit-learn机器学习中随机数种子的应用与重现

随机数种子是为了能重现某一次实验生成的随机数而设立的&#xff0c;相同的随机数种子下&#xff0c;生成的随机数序列一样 一、随机数种子基础应用 在python中简单运用随机数种子 import random random.seed(1) a random.sample(range(0,100),10) random.seed(2) b random.…...

欧洲编程语言四巨头

从左往右&#xff0c;依次是 尼克劳斯沃斯 (Niklaus Wirth)&#xff0c;迪杰斯特拉&#xff08;Edsger Dijkstra&#xff09;&#xff0c;霍尔&#xff08;Tony Hoare&#xff09; 尼克劳斯沃斯 (Niklaus Wirth) 瑞士人&#xff0c;一生发明了8种编程语言&#xff0c;其中最著…...

检查密码(字符串)

本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成&#xff0c;并且只能有英文字母、数字和小数点 .&#xff0c;还必须既有字母也有数字。 输入格式&#xff1a; 输入第一行给出一个正整数 N&#xff08;≤…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...