02-waf绕过漏洞发现之代理池指纹被动探针

news2024/9/20 17:00:40

WAF绕过-漏洞发现之代理池指纹被动探针

思维导图

img

漏洞发现触发WAF点-针对xray工具,awvs工具等

  • 1.扫描速度(绕过方法:代理池,延迟,爬虫白名单)
  • 2.工具指纹(绕过方法:特征指纹,伪造模拟真实是用户)
  • 3.漏洞payload(绕过方法:数据变异,数据加密,白名单)

一、代理池Proxy_pool项目搭建及使用解释

Proxy_pool免费,但是不适用于waf绕过,因为它是抓取网上各种代理平台提供的免费代理,免费代理存活时间短,成功率随机,稳定性差。

需要搭配redis数据库

安装使用步骤:

1.Proxy_pool下载(地址:https://github.com/jhao104/proxy_pool),安装库文件,修改setting.py文件

HOST = "127.0.0.1"

DB_CONN = 'redis://:@127.0.0.1:6379/0'

2.下载并安装Redis-x64-3.2.100.msi,地址:https://github.com/MicrosoftArchive/redis/releases。

安装完成后,启动服务(找到安装路径,双击redis-cli.exe文件即可,或者在计算机管理-服务 处启动)

3.Redis可视化工具Redis Desktop Manager下载(http://pan.baidu.com/s/1kU8sY3P),安装,连接。

04.启动调度程序即可抓到代理,命令:python proxyPool.py schedule

Redis Desktop Manager中查看

image-20230419131427198

5.启动webApi服务即可通过web api查看代理。

启动命令:python proxyPool.py server

查看:http://127.0.0.1:5010/get/

img

二、充钱代理池直接干safedog+BT+aliyun探针

免费代理不好用,那我们就买代理,建议选择隧道代理,每次请求换IP。

快代理:https://www.kuaidaili.com/

买隧道代理的,每次请求都更改ip,稳定

0

购买完成后提供代理配置网站

img

配置到脚本中就可以实现绕过了:

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 = {
        '购买的代理池'
    }
    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)


//这里php_b.txt是爆破的目录字典
//head里面放入正常的数据包头部信息


0

宝塔日志,可以看到如果拦截,拦截的也是代理的IP。

image-20230419133126515

三、safedog-awvs漏扫注入测试绕过-延时,白名单

本地测试sqlilabs,并且本地的安全狗也是开启状态,cc防护也开了

awvs扫描漏洞,直接扫描会被拦截。

开启sqlmap及waf进行测试。

image-20230419133206070

awvs开启慢速扫描:

awvs扫描sqli-labs(绕过安全狗),设置最低速或者修改AWVS指纹头

image-20230419133310478

速度很快会被安全狗拦截。也可以修改User-Agent,也可以用burpsuite拦截,然后通过按键精灵自己控制速度进行发包速度调整较为麻烦。

对于漏洞payload触发WAF这种情况,我们怎么绕过呢?

方法1:

我们举个例子,由于每个工具判断注入点的方式不同,假设awvs通过and 1=1判断注入,xray通过or 1=1判断注入,那么当waf对and 1=1进行拦截时,我们就不能使用awvs来扫描了,因为扫描不出结果,但是我们可以换xray扫描,这样就绕过了waf拦截,所以实际操作时,我们可以多换几个工具进行扫描。

方法2:

此外还可以使用冷门扫描工具,因为工具冷门,所以漏洞验证和指纹都不会被WAF采集到,可以绕过。

方法3:

使用开源的或者自己编写的工具扫描时,可以针对触发WAF点进行数据变异,从而绕过拦截

四、BT(baota)-awvs+xray漏扫Payload绕过

注意:不是每个工具都可以控制扫描速度和改变指纹头,比如xray貌似就不行。

因此xray没办法直接实现绕过。

为什么要使用xray,因为不同工具扫描漏洞使用的payload是不同的,扫描结果可能也不同。

解决xray拦截问题:

awvs扫描,配置代理,将数据包发送到burp,burp配置代理,将数据包发送给xray,实现三者联动。

此时如果awvs控制了扫描速度,那么xray也会被动延时。

步骤:

配置代理,发送至burp

0

bp配置:

image-20230419134805935

xray开启监听:

0

三者联动(AWVS +Burpsuite +Xray)结果:

image-20230419134918383

五、充钱代理池干safedog+BT+AliyunOS漏洞发现

宝塔正常开启

image-20230419135027512

代理配置:

image-20230419135047888

image-20230419135113808

image-20230419135156093

可以成功看到sql注入测试语句:

image-20230419135217168

补充:手工测试注入

and 1=1 安全狗拦截

image-20230419135317584

xor 1 = 1 被BT的防火墙拦截

image-20230419135342938

每个工具的payload不一样,有的可能会触发waf被拦截

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt Quick - Container

Qt Quick - Container使用总结 一、概述二、使用容器三、管理当前索引四、容器实现 一、概述 Container 提供容器通用功能的抽象基类。Container是类容器用户界面控件的基本类型,允许动态插入和删除Item。DialogButtonBox, MenuBar, SwipeView, 和 TabBar 都是继承…

测试工程师为什么要关注研发效能?

研发效能中的“研发”,指的是广义的研发团队,包含开发、测试、和研发团队内部的产品经理(不包含业务部门的产品经理)。测试工程师身处其中,作为研发团队的一员,对于整体的效能如何提升也应该了然于胸。这篇…

【论文写作】如何写科技论文?万能模板!!!(以IEEE会议论文为例)

0. 写在前面 常言道,科技论文犹如“八股文”,有固定的写作模式。本篇博客主要是针对工程方面的论文的结构以及写作链条的一些整理,并不是为了提高或者润色一篇论文的表达。基本上所有的论文,都需要先构思好一些点子,有…

「计算机控制系统」5. 模拟设计法

模拟控制器的离散化 数字PID控制器 Smith预估控制 文章目录 模拟控制器的离散化数值积分法一阶后向差分法一阶前向差分法双线性变换法(Tustin) 零极点匹配法其他方法 数字PID控制器模拟PID控制器的离散化数字PID的改进PID控制各环节的作用PID参数的整定扩…

win11删除的文件不在回收站原因及找回文件方法

win11是微软最新推出的操作系统,它的外观和功能都有所升级。但是,在使用win11的过程中,有时候你会误删一些重要的文件,而这些文件并没有进入回收站,这该怎么办呢?win11删除的文件不在回收站怎么找回&#x…

[强化学习]学习路线和关键词拾零

强化学习学习方法和路线 学习路线 先从基础教材开始,构建RL的知识框架,熟悉关键名词和公式推导,扩展到Model-Free的Value-Based和Policy-Based方法,同时参考github的代码练习。接下来精读几篇经典论文,如DQN,PPO等。…

Node内置模块 【压缩zlib模块】

文章目录 🌟前言🌟zlib模块🌟关于gzip与deflate🌟使用zlib🌟压缩与解压缩🌟案例:压缩🌟案例:解压缩 🌟服务端gzip压缩🌟HTTP配置🌟HTT…

Android Binder图文详解和驱动源码分析

文章目录 前言一、跨进程通讯的过程1. AIDL客户端代码2. AIDL服务端代码3. 通信过程a. 发送请求时序图b. 接收请求时序图 二、Binder一次拷贝1. 发送给Binder驱动的数据2. 一次拷贝示意图 三、Binder驱动源码1. 相关数据结构2. 阅读Binder驱动源码 参考 前言 最近在学习Binder…

Jupyter Notebook的安装与使用

Jupyter Notebook Jupyter Notebook介绍Jupyter Notebook使用安装启动创建文件编写代码和文本常用命令配置文件 Anaconda Jupyter Notebook介绍 Jupyter Notebook是一个基于Web的交互式计算环境,可以让用户以文档形式记录代码、数据分析结果和说明文本,并…

认识ThinkPHP框架

认识ThinkPHP框架 前言一、MVC框架体系二、 ThinkPHP框架文件夹结构三. ThinkPHP下载和基本配置四. ThinkPHP其他东西 前言 ThinkPHP框架是一款非常优秀的PHP框架,是完全由中国人发明的框架 一、MVC框架体系 ThinkPHP框架由MVC框架体系构成,MVC的解释如下…

ubuntu下安装配置grpc

目录 1.准备环境 2.安装protobuf 3.安装cares库 3.安装grpc-1.17.x 1.准备环境 sudo apt-get install pkg-config sudo apt-get install autoconf automake libtool make g unzip sudo apt-get install libgflags-dev libgtest-dev sudo apt-get install clang libc-dev 如…

linux中的vim编辑器

Vim是一款强大的文本编辑器,可以在终端中使用。它有很多优点,比如快速、高效、灵活等,但同时也有一些难以掌握的操作。在本篇博客中,我们将详细介绍Vim的各种功能,以及如何使用它来提高的编辑效率。 1.基本模式 Vim具…

Unity之ShaderGraph入门

前言 随着Unity版本的不断升级,URP(可编程渲染管线)也越来越普及了。不管是从效果还是性能,都是吊打老版的build-in-shader。所以无论如何我们都要开始 拥抱URP,升级Unity的时候到了。 引擎版本 我这里选择了Unity …

01_Linux操作系统

第一章:Linux操作系统 阶段内容说明: Linux命令:软件测试第一个任务,一般都要进行环境搭建,一部分环境搭建内容是在服务器上实现的,跟服务器交互需要使用Linux命令(因为服务器没有图形化界面&a…

Atlassian Confluence CVE-2022-26134 RCE漏洞

Atlassian Confluence CVE-2022-26134 RCE漏洞 Atlassian Confluence CVE-2022-26134 RCE漏洞 漏洞简介 远程攻击者在未经身份验证的情况下,可构造OGNL表达式进行注入,实现在Confluence Server或Data Center上执行任意代码. 漏洞影响范围 Confluence …

代码优化- 基本概念

思考一个问题:我们可以再抽象语法树上做编译优化吗? 答案是否定的,如果在抽象语法树上做编译优化的话,程序员所写的可能包含错误的代码,可能就被删除了,比如,对下面的程序做不可达代码删除优化…

Hadoop笔记整理

Hadoop 一. 引言 1.1 什么是大数据 大数据:(Big Data):数据量级很大的应用处理。TB级 ,日数据增长GB级 K -- M---- G ---- T ----PB ---- EB ---ZB 1024通过对海量数据进行分析,挖掘,进而发现数据内在的规律,从而为企业或者…

【数据结构】超详细讲解:算术表达式转化为后缀表达式、前缀表达式、表达式树的构建

作者:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:算法、数据结构、Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: 【数据结构】:该专栏专注于数据结构知识,持续更新&#xff0c…

Praat脚本-037 | 批量把标注TextGrid生成韵律文本

目录 引题方案一方案二方案三获取脚本关注版权说明 引题 Praat是一种非常出色、轻便、开源免费的标注工具,它的最主要用途是标注,即对语音信号中的一些特征、信息进行标注,保存为TextGrid文件,这个TextGrid文件实质 上就是一种文…

chatGPT写文章-为什么chatGPT写的文章是原创

用chatGPT写文章会重复吗 ChatGPT在生成文本时会优先从先前的训练数据中学习到的文本中选取片段,并根据先前的内容和上下文来生成新的文本。因此,从理论上来说,在相同的输入条件下,每次使用ChatGPT生成文本都可能会产生不同的输出…