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

WAF攻防相关知识点总结1--信息收集中的WAF触发及解决方案

什么是WAF

       WAF可以通过对Web应用程序的流量进行过滤和监控,识别并阻止潜在的安全威胁。WAF可以检测Web应用程序中的各种攻击,例如SQL注入、跨站点脚本攻击(XSS)、跨站请求伪造(CSRF)等,并采取相应的措施,例如拦截请求、阻止访问、记录事件等。

常见的waf拦截页面的汇总,可以根据waf的拦截页面进行判断waf的种类

参考下面链接里面的总结

微信公众平台 (qq.com)icon-default.png?t=N7T8https://mp.weixin.qq.com/s/3uUZKryCufQ_HcuMc8ZgQQ

如图是文章中对于常见waf的拦截页面的页面的总结,当我们在进行测试的时候碰到了waf的情况,我们可根据不同waf的拦截页面去判断waf的种类

触发waf的条件--不正常的流量特征

信息收集的时候我们会进行目录扫描以获得网站的信息,这个时候我们有两种方式一种是主动收集,一种是被动收集,主动收集就是使用漏扫工具扫描网站的目录,这种方式一般会产生大量非正常的流量,一般的waf检测到这种流量后就会进行拦截封锁我们的IP,使得我们的信息收集无法进一步进行。被动收集就是使用fofa 360夸克等搜索引擎去获取网站的信息,这种方式就不需要我们主动进行扫描,而是从网站直接获得网站的相关信息从而也不会产生非正常的流量,也不会触发waf。

解决方案一:使用被动扫描

我们可以借助第三方搜索引擎去帮助我们进行信息收集,从而避免我们主动信息收集产生的恶意流量

平台推荐
1.奇安信的鹰图平台

鹰图平台 (qianxin.com)icon-default.png?t=N7T8https://hunter.qianxin.com/

2.360测绘空间

360网络空间测绘 — 因为看见,所以安全icon-default.png?t=N7T8https://quake.360.net/quake/#/index

3.fofa平台网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统icon-default.png?t=N7T8https://fofa.info/

fofa平台如果要使用其全部功能需要开通会员,前两个平台只需要邀请用户可以获得一定次数的使用权限

解决方式二:使用搜索引擎的爬虫头

在有的信息收集的工具中,为了避免在信息收集的过程中被网站检测到,支持以指定的头部信息进行信息收集,我们采用大型的网站的爬虫头信息加入到我们的信息收集工具中,模拟爬虫进行爬取,因为网站对于百度谷歌这样的搜索引擎的爬虫一般是允许的,因为这样有利于增加网站的曝光度给网站地带来一定的经济效益,为此,我们可以使用这种方法饶过一定的waf拦截

相关搜索引擎的爬虫头参考以下的网站

搜索引擎蜘蛛头(user-agent)大全 - 易学在线工具 (e-learn.cn)icon-default.png?t=N7T8https://www.e-learn.cn/tools/user-agent

例如7kbscan工具就支持这个功能

这样即可以指定大型网站的爬虫的形式进行爬虫去获取网站的目录相关信息,可以绕过部分WAF的检测

解决方式三:代码伪造

如果还被拦截的话我们就需要使用代码伪造正常的网站对于浏览器去对于网站进行访问检测,这样的话就需要使用代码编写来进一步将我们的请求伪造成合法的请求,消除一些工具上的流量特征

示例代码

import requests
import timeheaders={'Connection': 'keep-alive','Cache-Control': 'max-age=0','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36','Sec-Fetch-Dest': 'document','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','Sec-Fetch-Site': 'none','Sec-Fetch-Mode': 'navigate','Sec-Fetch-User': '?1','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7','Cookie': 'bdshare_firstime=1581597934650; PHPSESSID=ncsajdvh39qse0qlsgqokshuc4; yx_auth=dc4fq8FAEkyiAUZ54b5zl9GGStCxXoRb1TFaAaozygMiSc5uZYHjR3gCQm%2BtKNz3bcjbTi8BRgcd%2F7LvR0lHN1j319CI6x29Z2QDI38',
}for paths in open('php_b.txt',encoding='utf-8'):url='http://www.testxiaodi.fun/'paths=paths.replace('\n','')urls=url+pathsproxy = {'http': 'tps686.kdlapi.com:15818',}try:code=requests.get(urls,headers=headers,proxies=proxy).status_code#req=requests.get(urls, headers=headers, proxies=proxy)#print(urls)#print(req.text)#time.sleep()print(urls+'|'+str(code))if code==200 or code==403:print(urls+'|'+str(code))except Exception as err:print('connecting error')time.sleep(3)

解决方案四:代理延迟

延迟就是在工具中进行简单的设置比如我们可以控制信息收集的时候流量的速度,当然如果我们想要达到最佳效果可以进行反复测试到达最佳的值

许多工具都支持这个功能,查询相关文章手册进行设置即可

解决方案五:使用代理

为了保证代理的稳定可靠性,我们可以到代理池网站上购买代理来进行操作

我们可以在网站上购买代理池,然后在工具中进行配置即可

awvs中的代理设置

goby中的代理设置

需要注意的是goby一般是进行端口探针不是走的http/https协议,一般配置为sokets协议,其他的工具也是如从,如果有代理配置的功能的话就可以进行代理设置

使用代理池的好处就是我们在进行测试的时候及时触发了waf设置的规则,网站也不会对于我们自己的主机进行封锁,他封锁的是我们使用代理池中的IP,在进行大量测试的时候,我们主机不会受到影响,我们可以使用代理池中合法的测试结果在我们的主机上进行进一步测试即可

写在最后

如有错误,请及时指出,感谢

相关文章:

WAF攻防相关知识点总结1--信息收集中的WAF触发及解决方案

什么是WAF WAF可以通过对Web应用程序的流量进行过滤和监控,识别并阻止潜在的安全威胁。WAF可以检测Web应用程序中的各种攻击,例如SQL注入、跨站点脚本攻击(XSS)、跨站请求伪造(CSRF)等,并采取相…...

行云部署前端架构解析-前言 | 京东云技术团队

一个简单的自我介绍 项目规模 截止目前上万次代码提交,总代码行数1超过21万行,其中人工维护的代码超过 13万行,近千个文件。 前端线上服务直接对接的后端服务,达十多个。 跟很多应用一样, 它有行云的入口, 也有独立的服务, 还…...

git提交代码到远端仓库的方法详解

一、何为git git就是版本控制器,就比如说你新建了一个git文件夹,里面用于存放你的C语言实习报告,现在要用git对该文件夹进行接管。当你修改了你的C语言实习报告点击保存之后,就用git的相关命令,提交给git,让…...

基于网络爬虫的天气数据分析

二、网络爬虫设计 网络爬虫原理 网络爬虫是一种自动化程序,用于从互联网上获取数据。其工作原理可以分为以下几个步骤: 定义起始点:网络爬虫首先需要定义一个或多个起始点(URL),从这些起始点开始抓取数据…...

Javaweb之SpringBootWeb案例员工管理之删除员工的详细解析

3.3 删除员工 查询员完成之后,我们继续开发新的功能:删除员工。 3.3.1 需求 当我们勾选列表前面的复选框,然后点击 "批量删除" 按钮,就可以将这一批次的员工信息删除掉了。也可以只勾选一个复选框,仅删除一…...

写点东西《什么是网络抓取?》

写点东西《什么是网络抓取?》 什么是网络抓取? 网络抓取合法吗? 什么是网络爬虫,它是如何工作的? 网络爬虫示例 网络抓取工具 结论 您是否曾经想同时比较多个网站上同一件商品的价格?或者自动提取您最喜欢的…...

使用C#操作文件:一个实际案例——替换文件中的IP地址

标题: 使用C#操作文件:一个实际案例——替换文件中的IP地址 介绍: 欢迎阅读我的最新博客!今天,我们将探讨如何使用C#来处理一个实际的编程挑战:读取一个配置文件并替换其中的IP地址。这是一个非常常见的…...

Zookeeper简介

系列文章目录 Zookeeper安装教程 目录 一、Zookeeper简介 二、Zookeeper的数据结构 三、CPA理论 四、BASE 理论 五、ZooKeeper的特性 前言 这是我的学习笔记,以便后面翻阅。 一、Zookeeper简介 ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务&a…...

第33集《佛法修学概要》

请大家打开讲义第八十七页。我们讲到六度法门,这是菩萨道的六度。 佛教的修学,从浅入深,大致上可以分成三个主要的次第: 我们刚开始修学佛法的时候,第一个修学的重点,叫作“见山是山,见水是水…...

C++ 之LeetCode刷题记录(十三)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可…...

容器技术1-容器与镜像简介

目录 1、容器与虚拟化 2、容器发展历程 3、镜像简介 4、镜像原理 (1)分层存储 (2)写时复制 (3)内容寻址 (4)联合挂载 1、容器与虚拟化 容器技术在操作系统层面实现了对计算机…...

openssl3.2 - 官方demo学习 - smime - smdec.c

文章目录 openssl3.2 - 官方demo学习 - smime - smdec.c概述笔记END openssl3.2 - 官方demo学习 - smime - smdec.c 概述 从pem证书中得到x509*和私钥, 用私钥和证书解密MIME格式的PKCS7密文, 并保存解密后的明文 MIME的数据操作, 都是PKCS7相关的 笔记 /*! \file smdec.c …...

vue中改变v-html中包含body标签的样式修改方法

vue-改变body的css样式 beforeCreate() {document.querySelector(body).setAttribute(style, background-color:#f4f4f4; color:#666666;)}, beforeDestroy() {document.body.removeAttribute(style)},在方法里加这个 document.querySelector(body).setAttribute(style, backg…...

港科夜闻|香港科大团队研发多功能,可重构和抗破坏单线感测器阵列

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大团队研发多功能、可重构和抗破坏单线感测器阵列。研究人员开发出一种受人类听觉系统启发的感测器阵列设计技术。透过模仿人耳根据音位分布来区分声音的能力,这种新型感测器阵列方法可能优化感测器阵列…...

线程池的简单介绍及使用

线程池 线程池的参数介绍拒绝策略 线程池的任务处理流程使用Executors创建常见的线程池 线程池的参数介绍 corePoolSize: (核心线程数)这是线程池中始终存在的线程数,即使这些线程处于空闲状态。maximumPoolSize:(最大线程数) 是线程池允许的最大线程数。keepAliveT…...

使用Python的pygame库实现下雪的效果

使用Python的pygame库实现下雪的效果 关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 先给出效果图: 源码如下: import pygame import random# 初始化pygame pygame.init()# 设置屏幕尺寸 width…...

qt学习:进度条,水平滑动条,垂直滑动条+rgb调试实战

目录 水平滑动条,垂直滑动条 常用信号 进度条 常用信号 修改进度条 例子 rgb调色 配置ui界面 编写3个进度条的事件函数 添加链表容器和按钮索引 在.h里的类定义 初始化链表容器和按钮索引 编写添加颜色的按钮点击事件函数 效果 水平滑动条&#xff0c…...

C语言中的浮点数存储

首先明确一个概念:C语言中整形是按照二进制存储在内存中,浮点型是按科学计数法存储在内存中(本质上存储的还是二进制数据0和1)。 如果没看懂这句话,没关系!看完以下正文,你就会豁然开朗&#x…...

Pypputeer自动化

Pyppeteer简介 pyppeteer 是 Python 语言的一个库,它是对 Puppeteer 的一个非官方端口,Puppeteer 是一个 Node 库,Puppeteer是Google基于Node.js开发的一个工具,它提供了一种高层次的 API 来通过 DevTools 协议控制 Chrome 或 Ch…...

selenium爬虫爬取当当网书籍信息 | 最新!

如果对selenium不了解的话可以到下面的链接中看基础内容: selenium爬取有道翻译-CSDN博客 废话不多说了下面是代码并且带有详细的注释: 爬取其他类型的书籍和下面基本上是类似的可以自行更改。 # 导入所需的库 from selenium import webdriver from …...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘&#xf…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...