SSRF漏洞之Gopher协议发起GET与POST请求

如果是在网页之中利用PHP后端发起的请求,则需要在原本的URL编码之上进行二次URL编码

例如:
gopher://12.1.1.1:80/_GET%20/index.html%20HTTP/1.1%0aHost:%2012.1.1.1%0aContent-Length:%202%0a

上面这种属于可以利用命令行CURL进行访问,如果你测试的是从前端发送Gopher协议则需要下面这种:

gopher://12.1.1.1:65535/_GET%2520/index.html%2520HTTP/1.1%250aHost:%252012.1.1.1%250aContent-Length:%25202%250a

原理是因为从前端传递数据到后端的CURL函数的时候,该参数已经被解码一次,所以会请求失败,而当我们使用两次URL编码,则可以在CURL函数发出去的时候的进行自动解码。这样我们的数据格式就完全正确了。

Gopher协议快速阅览:https://zhuanlan.zhihu.com/p/112055947

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容