在对网站进行渗透测试的时候 , 发现很多网站都在使用squid反向代理系统 , 该系统存在可以执行远程代码的漏洞 , 很多客户找我们做渗透测试服务的同时 , 我们会先对客户的网站进行信息搜集工作 , 包括域名 , 二级域名收集 , 网站使用的反向代理系统 , 网站程序开发语言 , 是否使用开源的代码 , 以及网站后台路径收集 , 都在前期渗透中需要做的 。
文章插图
前段时间某一个客户网站使用的就是squid反向代理系统 , 客户App , 以及网站后台都被攻击者篡改 , 被恶意提现 , 会员注单篡改 , 账号被篡改 , 充值通道篡改 , 给客户带来了很大的经济损失 , 通过老客户介绍找到我们 , 我们对该情况进行详细的了解 , 针对实际情况 , 定制了详细的渗透测试服务方案 。关于squid系统漏洞的检测 , 我们来详细的介绍一下:
文章插图
squid是开源的一套网站反向代理系统 , 可以对网站进行加速 , 缓存 , 有些网站访问较慢 , 就会在国内的服务器节点做反向代理 , 加速网站的快速访问 , 将图片 , 以及JS文件 , css文件进行缓存 , 还有一个好处通过squid可以隐藏网站的真实IP 。squid支持很多种TCP协议 , 包括80端口的http协议 , FTP的21端口协议 , HTTPS433端口的协议 , 都可以进行反向代理 , 简单易用受到很多开发者的喜欢 。
squid漏洞产生的原因在于缓冲区溢出导致可以执行远程代码 , 当反向代理收到cachemgr的请求时候 , 会使用parseheaders这个函数接口 , 将请求来的参数进行解析操作 , 并赋值于后端去 , 正常应该对请求的参数进行字数限制 , 而该请求并没有对字数多少进行限制 , 导致可以写入代码进行数据溢出 , 当长度超过squid的安全限制后 , 就会执行恶意的代码 。漏洞的利用方式是 , 构造恶意的代码 , 使用FTP协议的方式进行请求 request-uri , 将代码加密 , 提交到服务器中去 , 就可以达到渗透服务器的权限 。代码如下:
文章插图
文章插图
当服务器执行恶意代码后 , 就会产生一个webshell到网站的根目录下 , 从而对网站进行控制 , 该webshell也叫网站木马后门 , 相当于网站的管理员权限 , 可以写入文件 , 修改文件 , 修改数据库等操作 , 通过对客户网站的渗透测试发现 , 导致被篡改的问题根源 , 是squid系统存在漏洞 , 随即我们对客户的squid漏洞进行了修复 , 对代码的长度进行了限制 , 防止溢出 , 并对所有的请求包括get,post.cookies的请求都进行了字符长度限制 。
【网站安全渗透 之squid代理漏洞挖掘与修复】
推荐阅读
- 百度技术架构师总结:微服务架构之访问安全
- 做好以下的工作,可以让我们的微信支付更加安全
- 游泳安全知识
- 汽车违章多长时间后没收到短信才是“安全”?交警终于说出答案
- 科学运用4大心率区间,安全减脂增肌,降低运动损伤风险
- 作文展示|安全用电 安全用电作文
- 30分钟搭一个wordpress网站
- 为什么说 HashMap 是非线程安全的?
- 互联网架构演化
- 不同食物的冰箱储存安全期限