WEB 安全—深入学习文件读取漏洞 (三)

admin 2024年11月7日15:19:54评论9 views字数 1309阅读4分21秒阅读模式

WEB 安全—深入学习文件读取漏洞 (三)

WEB 安全—深入学习文件读取漏洞 (三)

WEB 安全—深入学习文件读取漏洞 (三)

01

Upturnhms CMS 文件下载漏洞

通过黑+白的测试方法,发现该CMS dashboard/Patient/document.php文件下载处存在未授权任意文件下载。

WEB 安全—深入学习文件读取漏洞 (三)

点击下载跟踪到 download.php 页面

WEB 安全—深入学习文件读取漏洞 (三)

接下来根据路由找到download.php 文件进行审计。

WEB 安全—深入学习文件读取漏洞 (三)

这里可以看到readfile函数之前没有做任何过滤然后就拼接下载了,而且还存在未授权

WEB 安全—深入学习文件读取漏洞 (三)

漏洞利用:

POC: /dashboard/Patient/download.php?file=../../../index.php

WEB 安全—深入学习文件读取漏洞 (三)

02

XYHCMS V3.5 任意文件读取漏洞

漏洞文件位置:/App/Manage/Controller/TempletsController.class.php

WEB 安全—深入学习文件读取漏洞 (三)

通过上面代码可以看到edit函数中对提交的参数进行处理,先是判断是否POST数据上来,如果有就进行保存,如果没有POST数据,则跳过这段代码继续向下执行。这里我们可以通过GET传入fname,跳过前面的保存文件过程,进入文件读取file_get_contents()函数。

往上跟踪我们可以发现先是对fname进行base64解码,然后判断fname参数是否为空,不为空则拼接成完整的文件路径,然后判断这个文件是否存在,最后读取文件内容。这里整个流程下来并没有对fname未进行任何限制,所以导致存在任意文件读取漏洞。

漏洞利用:

登录网站后台,数据库配置文件路径:AppCommonConfdb.php我们将这段组成相对路径

..\..\..\App\Common\Conf\db.php然后进行base64编码,Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGRiLnBocA==

最后构造的POC如下:

http://127.0.0.1/xyhai.php?s=/Templets/edit/fname/Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGRiLnBocA==

通过POC访问,成功获取到数据库敏感信息:

WEB 安全—深入学习文件读取漏洞 (三)

03

PHPCMS 任意文件读取漏洞

漏洞文件位置:phpcms/modules/search/index.php

WEB 安全—深入学习文件读取漏洞 (三)

这里可以看到该函数直接从GET参数里面获取要读取的URL,然后使用file_get_contents函数来读取内容,但是这里如果直接提交?url=&q=1. php我们打印出来url变量可以看到值为"&q=1.php",带到函数里面则是f ile_get_contents ("&q=1.php")

WEB 安全—深入学习文件读取漏洞 (三)

这样是读不到当前文件的,所以需要?url=&q=../../1.php这样多加两个"../",把"&q="当成目录来跳过

WEB 安全—深入学习文件读取漏洞 (三)

漏洞利用:

分析完成之后,最后利用这个漏洞读取数据库配置文件,POC如下:

POC:/index.php?m=search&c=index&a=public_get_suggest_keyword&url=&q=../../phpsso_server/caches/configs/database.php

WEB 安全—深入学习文件读取漏洞 (三)

End

WEB 安全—深入学习文件读取漏洞 (三)

原文始发于微信公众号(贝雷帽SEC):WEB 安全—深入学习文件读取漏洞 (三)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月7日15:19:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WEB 安全—深入学习文件读取漏洞 (三)https://cn-sec.com/archives/1823584.html

发表评论

匿名网友 填写信息