实战LFI+文件上传组合拳拿RCE
2019-09-09 10:09:07 Author: xz.aliyun.com(查看原文) 阅读量:163 收藏

要分享这篇Writeup是作者在一次私人赏金项目上发现的,目标网站存在不安全的访问控制措施,可以利用其导致路径遍历(Path Traversal) +任意文件上传,以本地文件包含(LFI)方式,实现远程代码执行(RCE)。此处渗透测试测试是一次非常经典的的LFI+任意文件上传操作。考虑到站点隐私的问题,部分图片会做打码处理。

路径遍历(Path Traversal)

目标站点上有一个名为/se/v92711/generic/gn_deaultframe/2.0/defaultframe_toolbar_load.php的页面,在POST body中,作者发现了一个有趣的参数:frameManagerPath,内容经过base64-encode处理。这个参数用于加载目标站点上的JS文件。如下图:

解码base64,发现这是一个相对路径:

接下来尝试读取/etc/passwd的内容,需要先进行编码:L2V0Yy9wYXNzd2Q=

关于文件上传

在此之前,作者找到了一个文件上传点,可以上传任意格式文件,并且上传文件的存放路径可以在响应中看到。如下:

但问题来了,外部用户无法访问/wwwroot/path:/.。因此,这个漏洞暂时有些鸡肋。

打组合拳

首先,上传一个普通的webshell,反回文件存放的相对路径。

对路径做调整,base64-encode处理得到cmFudC9ibG9nL3BhdGh0cmF2ZXJzYWwvaW1hZ2UwNS5wbmc=,然后结合LFI,尝试执行。

请求:

响应:

最终,作者实现了远程代码执行:

参考来源:incogbyte


文章来源: http://xz.aliyun.com/t/6229
如有侵权请联系:admin#unsafe.sh