Golang
CONNECT方法
在Go编程语言中,处理HTTP请求时的常见做法,特别是使用net/http
库时,是将请求路径自动转换为标准格式。这个过程包括:
以斜杠(
/
)结尾的路径,如/flag/
,会被重定向到它们的非斜杠对应路径,即/flag
。包含目录遍历序列的路径,如
/../flag
,会被简化并重定向到/flag
。以句点结尾的路径,如
/flag/.
,也会被重定向到干净的路径/flag
。
然而,在使用CONNECT
方法时存在一个例外。与其他HTTP方法不同,CONNECT
不会触发路径规范化过程。这种行为为访问受保护资源打开了一个潜在的途径。通过在curl
中使用--path-as-is
选项,结合CONNECT
方法,可以绕过标准路径规范化,潜在地访问受限区域。
以下命令演示了如何利用这种行为:
最后更新于