渗透测试服务 对客户网站squid系统的漏洞检测与利用



        在对网站进行渗透测试的时候,发现很多网站都在使用squid反向代理系统,该系统存在可

以执行远程代码的漏洞,很多客户找我们SINE安全做渗透测试服务的同时
,我们会先对客户的

网站进行信息搜集工作,包括域名,二级域名收集,网站使用
的反向代理系统,网站程序开发

语言,是否使用开源的代码,以及网站后台路径收
集,都在前期渗透中需要做的。

 
前段时间某一个客户网站使用的就是squid反向代理系统,客户APP,以及网站后台都被攻击者

篡改,被恶意提现,会员注单篡改,银行卡号篡改,充值通道篡改,给
客户带来了很大的经济

损失,通过老客户介绍找到我们SINE安全,我们对该情况进
行详细的了解,针对实际情况,定

制了详细的渗透测试服务方案。关于squid系统
漏洞的检测,我们来详细的介绍一下:

 
 
squid是开源的一套网站反向代理系统,可以对网站进行加速,缓存,有些网站访问较慢,就会

在国内的服务器节点做反向代理,加速网站的快速访问,将图片,以
及JS文件,css文件进行缓

存,还有一个好处通过squid可以隐藏网站的真实IP。
squid支持很多种TCP协议,包括80端口的

http协议,FTP的21端口协议,HTTPS433
端口的协议,都可以进行反向代理,简单易用受到很

多开发者的喜欢。
 
 
squid漏洞产生的原因在于缓冲区溢出导致可以执行远程代码,当反向代理收到cachemgr的请求

时候,会使用parseheaders这个函数接口,将请求来的参数进行解
析操作,并赋值于后端去,正

常应该对请求的参数进行字数限制,而该请求并没有
对字数多少进行限制,导致可以写入base64

代码进行数据溢出,当长度超过squid
的安全限制后,就会执行恶意的代码。漏洞的利用方式是,

构造恶意的代码,使用
FTP协议的方式进行请求 request-uri,将base64代码加密,提交到服务器

中去,
就可以达到渗透服务器的权限。代码如下:



 
 
当服务器执行恶意代码后,就会产生一个webshell到网站的根目录下,从而对网站进行控制,该

webshell也叫网站木马后门,相当于网站的管理员权限,可以写入文
件,修改文件,修改数据库

等操作,通过对客户网站的渗透测试发现,导致被篡改
的问题根源,是squid系统存在漏洞,随即

我们SINE安全对客户的squid漏洞进行了
修复,对base64代码的长度进行了限制,防止溢出,并

对所有的请求包括
get,post.cookies的请求都进行了字符长度限制。
分享: