3377体育网官网入口

证券简称:3377体育网官网入口 证券代码:002212
7x24小时服务: 400-777-0777

案例分享丨一次文件读取误差的“危害升级”历程

在授权测试某金融类APP时,,,, ,发明一个鸡肋低危文件读取误差,,,, ,实验将其升级为高危 。。。。。。。。发明首次翻开APP时,,,, ,会向服务器读取文件加载并展示图片 。。。。。。。。测试时一定要仔细,,,, ,笔者发明只有首次翻开APP时,,,, ,才会加载图片,,,, ,后面再翻开应该是资源已被纪录,,,, ,就不会向服务器再次举行请求了 。。。。。。。。

案例分享丨一次文件读取误差的“危害升级”历程

宣布时间:2022-11-04
浏览次数:4724
分享:

在授权测试某金融类APP时,,,, ,发明一个鸡肋低危文件读取误差,,,, ,实验将其升级为高危 。。。。。。。。

PS:本文仅用于手艺讨论与剖析,,,, ,严禁用于任何不法用途,,,, ,违者效果自尊 。。。。。。。。

0x00 起源探测

发明首次翻开APP时,,,, ,会向服务器读取文件加载并展示图片 。。。。。。。。

测试时一定要仔细,,,, ,笔者发明只有首次翻开APP时,,,, ,才会加载图片,,,, ,后面再翻开应该是资源已被纪录,,,, ,就不会向服务器再次举行请求了 。。。。。。。。

此加载展示图片的GET请求数据包如下:

GET /ixxx/LgonImage.do?XxxxxImageDir=/XXXXX/Pictures&SaveXxxxxImageName=this_is_image.jpg HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

拿到这个数据包的第一反应,,,, ,以往的渗透测试履历告诉我,,,, ,从这个地方或许路会保存文件读取误差 。。。。。。。。

剖析并推测功效点URI的每个参数的功效 。。。。。。。。

LogonImageDir=/XXXXX/Pictures - 图片所在的目录

SaveXxxxxImageName=this_is_image.jpg - 目录下的图片名

0x01 误差测试

既然已经起源探测到了可能保存误差的危害点,,,, ,并且文件读取功效的参数已经搞清晰,,,, ,下一步就睁开读取测试 。。。。。。。。

首先测试,,,, ,是否可以举行目录列出,,,, ,直接将SaveXxxxxImageName参数置空,,,, ,看看是否可以读取/XXXXX/Pictures目录下的内容:

GET /ixxx/LogonImage.do?XxxxxImageDir=/XXXXX/Pictures&SaveXxxxxImageName= HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

返回为“空”,,,, ,失败,,,, ,说明程序功效点不保存列出目录误差:

测试是否可以跳出目录,,,, ,选用Payload如下:

GET /ixxx/LogonImage.do?XxxxxImageDir=/XXXXX/Pictures/../../../../../../etc/&SaveXxxxxImageName=passwd HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

返回某恒防火墙阻挡界面,,,, ,失败:

接下来进一步测试,,,, ,是/etc/passwd触发的WAF,,,, ,照旧/../触发的WAF 。。。。。。。。

测试只举行一层目录跳出,,,, ,并且删除/etc/passwd要害字:

GET /ixxx/LogonImage.do?XxxxxImageDir=/XXXXX/Pictures/../&SaveXxxxxImageName= HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

唔...看来/../的特殊字符就已经触发了WAF:

之后想到实验对数据包举行POST类型转换,,,, ,使用POST传参的一些方法举行WAF的测试,,,, ,如:

URL编码

分块传输

脏数据填充

包体转换

畸形数据包

......

可是无奈,,,, ,POST请求直接无法传参,,,, ,程序限制了GET请求吸收参数 。。。。。。。。

(不过,,,, ,厥后测试其他POST传参的功效时,,,, ,发明以笔者现有的WAF绕过履历思绪,,,, ,基础无法对某恒的WAF举行绕过.....)

0x02 误差确认

总结以上对此文件读取误差网络到的信息:

目录无法跨越,,,, ,并且文件读取的路径在目今根目录;; ;;; ;;

特殊字符串,,,, ,已被WAF完善防护 。。。。。。。;; ;;; ;;

无法获取目录下的文件名、无法预知是否可以读取其他后缀文件 。。。。。。。。

测试到这里突然灵光一闪,,,, ,想到了“.bash_history”,,,, ,若是网站根目录保存此文件,,,, ,并且可以读取,,,, ,上面的疑问就可以直接解决泰半了,,,, ,先来相识一下这些文件作用:

.bash_profile:此文件为系统的每个用户设置情形信息,,,, ,当用户第一次登录时,,,, ,该文件被执行 。。。。。。。。

.bash_history:该文件生涯了目今用户输入过的历史下令;; ;;; ;;

.bash_logout:该文件的用途是用户注销时执行的下令,,,, ,默以为空;; ;;; ;;

.bashrc:此文件为每一个运行bash shell的用户执行此文件 。。。。。。。。当bash shell被翻开时,,,, ,该文件被读取 。。。。。。。。

于是直接对网站根目录举行.bash_profile的盲测:

GET /ixxx/LogonImage.do?XxxxxImageDir=/&SaveXxxxxImageName=.bash_profile HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

此payload既阻止了跳出目录,,,, ,又避开了WAF严打的特殊字符,,,, ,可是唯一遗漏的.bash文件被我们使用到了 。。。。。。。。

激动的心颤抖的手,,,, ,看来目今网站根目录确实是此用户的目录,,,, ,并且用户在此根目录下执行过下令!

接下来实验进一步扩大危害 。。。。。。。。

0x03 危害升级

不清晰目今目录结构,,,, ,就代表着无法定向读取文件,,,, ,可是尚有一个.bash_history我们没有使用到,,,, ,看看是否可以在其中获取到更主要的信息 。。。。。。。。

读取根目录下的.bash_history:

GET /ixxx/LogonImage.do?XxxxxImageDir=/&SaveXxxxxImageName=.bash_history HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

信息量虽然少,,,, ,可是已经有了新的希望:

由历史下令得知,,,, ,治理员cd进入了两层目录:/Nxxxx/xxFile/

并且审查了xx_20201022_51xxx.txt文件 。。。。。。。。

直接结构读取此文件!

GET /ixxx/LogonImage.do?XxxxxImageDir=/Nxxxx/xxFile&SaveXxxxxImageName=xx_20201022_51xxx.txt HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

乐成读取到了敏感的数据信息:

并且文件的ID值为时间戳+ID顺序编号组成,,,, ,可轻松遍历出所有的信息 。。。。。。。。

Burpsuite Intruder?????椴馐裕

实验遍历10个ID值乐成 。。。。。。。。

0x04 回首总结

保存的难题:目录无法跨越、WAF盯防、无法预知目录文件结构 。。。。。。。。

在此情形下,,,, ,使用Linux文件系统特征,,,, ,仍然可以将低危误差提升至高危 。。。。。。。。

并且危害的品级崎岖是无法预估的,,,, ,这取决于.bash_history会给我们泄露几多信息,,,, ,以是文件读取误差保存时间越久,,,, ,纪录的工具越多,,,, ,危害越大!

要害词标签:
网络清静 文件读取误差,
客户服务热线

400-777-0777
7*24小时服务

联系邮箱

servicing@topsec.com.cn

扫码关注
【网站地图】【sitemap】