验证Web服务器中的路径遍历漏洞

Fer*_*eia 14 security curl directory-traversal

我想验证我的Web应用程序没有路径遍历漏洞.

我正试图用curl它,像这样:

$ curl -v http://www.example.com/directory/../
Run Code Online (Sandbox Code Playgroud)

我希望将HTTP请求显式地发送到/directory/../URL,以测试涉及代理的特定nginx规则不容易受到路径遍历的影响.即,我希望发送此HTTP请求:

> GET /directory/../ HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

但是curl正在重写/URL 的请求,如输出中所示:

* Rebuilt URL to: http://www.example.com/
(...)
> GET / HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

是否可以使用curl此测试,强制它传递请求中的确切URL?如果没有,那么什么是合适的方式?

J.-*_* C. 17

你正在寻找的卷曲旗帜是curl --path-as-is.


Sil*_*Fox 1

您可以使用拦截代理捕获对应用程序的请求,并在更改参数(例如从应用程序请求的原始 URL)的情况下重复该请求。

Burp Suite免费版将允许使用 Repeater 进行此操作。

然而,还有一些替代方案也应该允许这样做,例如ZapWebScarabFiddler2