Web漏洞-深入WAF注入绕过

目录

简要其他测试绕过

方式一:白名单(实战中意义不大)

方式二:静态资源

方式三: url白名单

方式四:爬虫白名单

#阿里云盾防SQL注入简要分析

#安全狗+云盾SQL注入插件脚本编写

在攻防实战中,往往需要掌握一些特性,比如服务器、数据库、应用层、WAF层等,以便我们更灵活地去构造Payload,从而可以和各种WAF进行对抗,甚至绕过安全防御措施进行漏洞利用。

简要其他测试绕过

方式一:白名单(实战中意义不大)

从网络层获取的ip,这种一般伪造不来,如果是获取客户端的IP,这样就可能存在伪造ip绕过的情况。

测试方法:修改nttp的header来bypass waf

X-forwarded-for

x-remote-IP

x-originating-IP

x-remote-addr

x-Real-ip

方式二:静态资源

特定的静态资源后缀请求,常见的静态文件(.js .jpg .swf .css等等),类似白名单机制,waf为了检测效率,不去检测这样一些静态文件名后缀的请求。

http ://1o.9.9.201/sql.php?id=1

http : //1o.9.9.201/sql.php/ 1.js?id=1

备注: Aspx/ php只识别到前面的.aspx/ .php后面基本不识别

方式三: url白名单

为了防止误拦,部分waf内置默认的白名单列表,如admin/manager/system等管理后台。只要url中存在白名单的字符串,就作为白名单不进行检测。

常见的url构造姿势:

http://10.9.9.201/sql .php / a dmin.php?id=1

http : //10.9.9.201/sql.php ? a=/manage/&b=../etc/passwd

http : //10.9.9.201/ ../ ../ ../manage/ ../ sql.asp?id=2

waf通过/manage/进行比较,只要uri中存在/manage/就作为白名单不进行检测,这样我们可以通过/sql.php ?a=/manage/&b=../etc/passwd 绕过防御规则。

方式四:爬虫白名单

部分waf有提供爬虫白名单的功能,识别爬虫的技术一般有两种:1、根据userAgent

2、通过行为来判断

UserAgent可以很容易欺骗,我们可以伪装成爬虫尝试绕过。User Agent switcher (Eirefox附加组件),下载地址:

https://addons.mozilla.org/en-Us/firefox/addon/user-agent-switcher

在MySQL里,多行解释 是 /* /,这个是SQL的标准 但是MySQL扩张了解释 的功能 假如 在起头的/后头加了惊叹号,那么此解释里的语句将被推行

Eg:

/*!50001 select * from test */; 这里的50001表示假如 数据库是5.00.01以上版本,该语句才会被推行

(只针对于mysql---可以实现绕过)

#阿里云盾防SQL注入简要分析

中转注入:编写脚本,更改参数、本地搭建一个脚本---远程地址---sqlmap注入本地脚本(请求远程地址得数据包可以自定义编写)

#安全狗+云盾SQL注入插件脚本编写

sqlmap--tamper使用技巧-CSDN博客

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

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

相关文章

下拉选中搜索angularjs-dropdown-multiselect.js

需要引入angularjs-dropdown-multiselect.js 页面 <div ng-dropdown-multiselect"" options"supplierList_data" selected-model"supplierList_select" events"changSelValue_supplierList" extra-settings"mucommonsetti…

四、Yocto创建静态IP和VLAN(基于raspiberrypi 4B)

Yocto创建VLAN配置 在车载域控中很多时候需要创建VLAN&#xff0c;本小节记录如何为yocto构建出来的image自动化创建静态IP以及VLAN。 关于各种VLAN的配置参考&#xff1a;VLAN 1. ubuntu系统中使用netplan创建VLAN 正常情况下我们在ubuntu系统中可以通过netplan来自动化创建…

【Web自动化】Selenium的使用(一)

目录 关于自动化测试selenium工作机制 selenium的使用selenium中常用API定位元素按id定位按名称定位按类名定位按标签名定位按CSS选择器定位按XPath定位示例 操作测试对象等待sleep休眠隐式等待显示等待 打印信息浏览器操作键盘事件鼠标事件切换窗口截图关闭浏览器 欢迎阅读本文…

YOLO格式数据集转COCO格式

网上找了很久的YOLO格式数据集转COCO格式的代码&#xff0c;但是没有一个成功的&#xff0c;费尽千辛万苦终于找到一个能用的&#xff0c;因此记录一下。 一、首先YOLO格式数据集文件布局 其中lmages和labels 中的内容布局如下&#xff0c;只不过一个存放图片&#xff0c;一个存…

接口自动化框架搭建(三):pytest库安装

1&#xff0c;使用命令行安装 前提条件&#xff1a;已安装python环境 pip install pytest 或者 pip3 install pytest2&#xff0c;从编译器pycharme中安装

数组指针的运用

这段代码使用了数组指针&#xff0c;实现了从二维数组中获取指定位置的元素值。以下是代码的总结&#xff1a; tipsInputHangLie 函数用于提示用户输入要获取的元素的行号和列号&#xff0c;然后通过指针参数返回用户输入的行号和列号。 getDataFromArray 函数接收一个二维数组…

[TS面试]TypeScript 中 any, nerver, unknown, null undefined 和 void 有什么区别?

TypeScript 中 any, nerver, unknown, null & undefined 和 void 有什么区别? any: 动态类型变量 失去了类型检查作用 never: 永远不存在值的类型 抛出异常, 根本没有返回值的函数表达式 或者箭头函数表达式返回值类型 unknown 任何类型的值都可以赋值给unknown unknown…

6.2物联网RK3399项目开发实录-驱动开发之GPIO使用(wulianjishu666)

物联网嵌入式开发源码例程&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1B3oqq5QBhN-VmTFt9CI-7A?pwd2ihg ******************************************************************************************* GPIO 使用 简介 GPIO, 全称 General-Purpose Input/…

机器学习概念、步骤、分类和实践

在当今数字化时代&#xff0c;机器学习已经渗透到我们生活的方方面面&#xff0c;从智能手机应用、搜索引擎优化&#xff0c;到自动驾驶汽车、医疗诊断等&#xff0c;其应用无处不在。本文将带您走进机器学习的世界&#xff0c;了解它的基本概念、步骤、分类以及实践应用。 一…

前端-css-2

1.背景样式 属性名作用属性值background-color背景颜色颜色background-image设置背景图像地址url(地址)background-repeat设置背景图像重复方式 repeat&#xff1a;重复。 repeat-x&#xff1a;横向重复。 repeat-y&#xff1a;纵向重复。 no-repeat&#xff1a;不重复。 back…

SpringBoot集成JWT基础使用

目录 一.接口统一前缀设置二.JWT POM依赖三.JWT工具类TokenUtils.java四.拦截器JwtInterceptor.java五.拦截器设置六.设置自定义头配置 一.接口统一前缀设置 1.指定controller统一的接口前缀 2.加自定义拦截器JwtInterceptor&#xff0c;设置拦截规则,指定Login接口放行,不需验…

2024-3-28

今日流水账&#xff1a; 把计网实验报告完成了&#xff0c;当然还有点小问题就是PC2>PC4的测试截图没有看了下V8中是如何实现快速 for in的&#xff0c;嗯&#xff0c;懵懵懂懂吧&#xff0c;就了解了个 enum cache&#xff0c;其是描述符数组的一个字段&#xff0c;所以其…

计组:指令格式与寻址方式

指令格式 指令格式 一、引言 在计算机科学中&#xff0c;指令格式是计算机指令系统的一个重要组成部分。它规定了计算机指令的编码方式、结构以及各个字段的含义&#xff0c;是计算机硬件和软件之间交互的桥梁。了解指令格式对于理解计算机组成原理、汇编语言编程以及计算机…

YOLOv9改进策略 : C2f改进 | 引入YOLOv8 C2f结构

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;应订阅者需求&#xff0c;如何将YOLOv8 C2f结构引入到YOLOv9 &#x1f4a1;&#x1f4a1;&#x1f4a1;C2f层是一种特殊的卷积层&#xff0c;用于将不同尺度的特征图融合在一起&#xff0c;以提高目标检测的准…

C# 多线程

文章目录 C# 多线程进程与线程无参数的子线程带参数的子线程运行结果 销毁线程 Abort()运行结果 ThreadPool和Task运行结果 C# 多线程 进程与线程 进程&#xff1a;进程就是一个应用程序&#xff0c;对电脑的各种资源的占用 线程&#xff1a;线程是程序执行的最小单位&#…

MySQL锁机制详解及死锁处理方式

前言 为了给高并发情况下的MySQL进行更好的优化&#xff0c;有必要了解一下MySQL查询更新时的锁表机制。 概述 MySQL有三种锁的级别&#xff1a;页级、表级、行级。 MyISAM和MEMORY存储引擎采用的是表级锁&#xff08;table-level locking&#xff09;&#xff1b; BDB存储引…

新型的FPGA器件将支持多样化AI/ML创新进程

作者&#xff1a;郭道正, Achronix半导体中国区总经理 近日举办的GTC大会把人工智能/机器学习&#xff08;AI/ML&#xff09;领域中的算力比拼又带到了一个新的高度&#xff0c;这不只是说明了通用图形处理器&#xff08;GPGPU&#xff09;时代的来临&#xff0c;而是包括GPU、…

Ubuntu服务器搭建 - 环境篇

Ubuntu服务器搭建 - 环境篇 基于腾讯云服务器 - Ubuntu 20.04 LTS 一、安装 - MySQL 1.1 概述 MySQL安装方式有三种: 1. 使用Ubuntu 包管理工具 apt安装 2. 使用MySQL官方APT存储库安装 3. 使用MySQL官方二进制发行版安装 1.2 安装 MySQL 使用MySQL官方APT存储库安装 $ wget…

WSL启动nvidia-docker镜像:报错libnvidia-ml.so.1- file exists- unknown

1.首先使用docker而不是nvidia-docker启动原始镜像下的容器&#xff1a; sudo docker run --rm -it registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1 bash2.在该容器中删除相关nvidia库文件&#xff…

08-研发流程设计(上):如何设计Go项目的开发流程?

在Go 项目开发中&#xff0c;我们不仅要完成产品功能的开发&#xff0c;还要确保整个过程是高效的&#xff0c;代码是高质量的。 所以&#xff0c;Go 项目开发一定要设计一个合理的研发流程&#xff0c;来提高开发效率、减少软件维护成本。研发流程会因为项目、团队和开发模式…