0 前言
最近天天跟着做项目,打累了就休息一下,给社区的师傅们分享一下我在项目中遇到的一个漏洞,连着两个项目居然都出现了这个漏洞,不知道是不是很常见。
1 漏洞描述
F5 BIG-IP 是美国 F5 公司一款集成流量管理、DNS、出入站规则、web应用防火墙、web网关、负载均衡等功能的应用交付平台。F5 Big-IP可以解码cookie,获取内网真实IP。当客户端向目标服务器发起请求时,会用到HTTP CookieInsert或HTTP Cookie Rewrite方法,这些Cookie方法会让客户端与服务器端保持有效,样式为BIGipServer,其中包含了客户端请求的,经过编码处理的目标服务器IP和端口信息。
2 Cookie编码规则
内网IP编码
1.将IP地址的每个八位字节值转换为等效的一字节十六进制值
2.将十六进制字节的顺序反向,然后连接成一个四字节的十六进制值
3.将生成的四字节十六进制值转换为其十进制等效值
Port端口编码
1.把十进制的端口值转换为等效的两字节十六进制值
2.反向两字节的十六进制顺序
3.将生成的两字节十六进制值转换为十进制等效值
3 漏洞特征
这个bigf5 内网ip泄露的特征还是很明显的。他在这个cookie值这里会有很明显的BIGip……,大家测试的时候看到这个明显特征,那恭喜你,你这个项目有产出了。这里给大家提供一个我测试遇到的案例。
img
4 Cookie解码思路
例子:BIGipServer=987654321.20480.0000
内网IP解码
1.把第一小节的十进制数987654321取出来,将其转为十六进制数 3ade68b1
img
2.从后至前,每两位取一组出来,依次得到 b1 68 de 3a
3.再从前往后依次把这四组从十六进制转为十进制数:177 104 222 58 最后,组合起来得到真实内网IP:177.104.222.58
img
Port端口解码
同样
1.把第二小节的十进制数取出来,得到20480将其转为十六进制数 5000
2.从后至前,每两位取一组出来,依次得到 00 50
3.再从前往后依次把这两组从十六进制转为十进制数:80 最后,得到真实内网Port:80
组合起来就是泄露的内网IP地址:177.104.222.58:80
5 工具直接解码
这里给师傅们提供一个直接写好的工具:https://bbs.zkaq.cn/t/31849.html。要用python2的环境,可以直接把cookie值复制进去,就可以直接解码得到泄露内网IP,利用如下:
img
无偿获取网络安全优质学习资料与干货教程
申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。