C# 改变了我的 http 请求模式
例如,我在 C# (.net 4) 上发送 http 请求时遇到一些问题
,假设我尝试发送包含“/../../../../../etc/passwd”的请求
当我使用代理检查请求时,我意识到我的请求已更改为 GET /etc/passwd。我的请求的“/../”部分消失了。我认为这是因为框架控制。
如何在没有 .net 框架进行任何控制的情况下发送原始请求?
你有什么想法吗?
I am having some trouble with sending http request on C# (.net 4)
for example, assume that i am trying to send a request includes "/../../../../../etc/passwd"
when i examined the request by using proxy, I realized that my request had been changed to GET /etc/passwd. "/../" part of my request disappeared. I thought that is because of framework control.
How can I send my raw request without any control done by .net framework ?
Do you have any idea ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
“/../../../../../etc/passwd” 会变成“/etc/passwd”
,因为 URL 以“/”字符开头,这表明 URL 是从服务器的根目录;显然,你不能从根开始上升任何级别 - 因为你已经处于最高级别。
如果 URL 有更多内容,请也将其发布。
"/../../../../../etc/passwd" gets turned into "/etc/passwd"
because you have started the URL with the "/" character which indicates the URL is starting from the root of the server; and you obviously can not go up any more levels from the root - as you're at the highest level already.
If there is more to the URL, then please post that up too.