后台弱口HTTP走私

极客

《天哪!后台弱口HTTP走私,这波骚操作我直接裂开!》

哎哟喂,各位安全圈的老铁们,今天咱不聊那些高大上的APT攻击,也不扯什么量子加密黑科技,咱就聊聊一个让我半夜惊醒、后背发凉的玩意儿——后台弱口HTTP走私,嘿,您还别撇嘴,这玩意儿听着不起眼,但它简直是Web安全的“隐身刺客”,专门挑那些配置马虎、架构混乱的软柿子捏!我跟你讲,这波水,深得很呐!

啥是HTTP走私?我咋感觉像听天书?

得嘞,咱先别急,搬个小板凳坐好,您想啊,现在大点的网站,谁还不是前台(负载均衡、CDN)加后台(源站服务器)双层结构?HTTP走私就是利用前后台对请求解析规则的细微差异,在中间“夹带私货”,用句大白话说,就像你给门卫看了一张写着“放行”的纸条,结果纸条背面用隐形墨水写着“顺手把保险柜搬走”——前台只看到正面,后台却读到了背面。后台弱口HTTP走私,重点就在这个“弱口”上,指的是后台服务器对某些畸形Header或分块编码的容错性太强,愣是把走私请求当成了正常请求处理,哎呀妈呀,想想都刺激!

这漏洞咋触发的?我这暴脾气,非得掰扯清楚!

咱说实话,这玩意儿不是凭空蹦出来的,核心在于Content-LengthTransfer-Encoding这两个头,正常情况下,标准协议说,俩头同时出现?以TE为准!有些老旧的代理服务器或者配置不严的CDN,愣是只认CL,或者对TE的解析存在偏差,这时候,攻击者就可以构造一个恶意请求,让前端认为一个请求,后端却看到两个!

POST / HTTP/1.1
...
Transfer-Encoding: chunked
Content-Length: 4
0
GET /admin/delete?user=1 HTTP/1.1
Host: 内部后台地址
...

懂了吧?前端一看有TE,直接按分块解析,结果发现第一个块长度是0,请求结束,高高兴兴放行了,但后端某个“弱口”呢?它优先读了Content-Length=4,于是只消费了“0\r\n\r\n”这部分,后面的GET /admin/delete就成了一个完整的、未被前台审计的独立请求!唉呀妈呀,这不等于是拿着后台的钥匙开了大门吗?你说气不气人?

危害程度?简直炸裂!

我可告诉您,这要是被利用,轻则缓存投毒,让用户访问到错误页面;重则越权操作,直接把后台删除操作绕过权限校验;更狠的是,如果前后台架构再复杂点,还能劫持用户会话,把别人在线状态玩得团团转,我自己做测试的时候,就曾用这招绕过了WAF拦截,直接打到了内网的Admin接口,当时冷汗就下来了——好家伙,这后台弱口HTTP走私一旦被利用,简直比喝假酒还上头,防不胜防啊!

咋防?别慌,我给您支几招,走心那种!

咱不能光吐槽不干活,对不对?统一前端和后端的HTTP解析引擎!别搞那种“一台Nginx配一台IIS”的混搭风,要配就配得整整齐齐。严格过滤CL和TE头,凡是不合规的请求,啪一下,直接拒绝,别给“弱口”任何一丝幻想!配置安全的默认规则,比如对接收到的请求,强制标准化格式,定期做安全审计,别等被打了才拍大腿,哎,这安全跟搞卫生一样,得天天扫,才能不积灰呀!

给同行们掏心窝子的话

我跟你们讲,现在网络攻防对抗越来越卷了,这种后台弱口HTTP走私的玩法,早就被黑产盯上了,咱们搞安全的,别整天只盯着SQL注入、XSS这些老面孔,多看看协议层的“灯下黑”吧!唉,说多了都是泪,写这篇文章的时候,我还顺手检查了自己负责的服务器配置,好在没啥问题,不然我这心呐,得像坐过山车一样,瞎蹦跶。

想学更多真实网络安全实战技巧?想跟资深老白帽一起挖洞? 加QQ: 记得备注“安全学习”,咱一起守住网络安全的底线!

后台弱口HTTP走私


(本文由安全圈老炮儿原创,观点犀利,语气真实,欢迎转发交流,但请勿用于非法用途哦!)

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码