代码审计案例一枚-渗透某CMS官方演示站
早前一个被我捂烂的漏洞,其实不是要捂的,当注入交到乌云,审核比较忙测试的时候没复现,就给打回来了。我一直想写个详细的再交,结果没时间就没写,这两天上去一看鸡毛都没了,全补完了,shell也掉光了,后台也进不去……
想想算了不挖了。还好我有记笔记的习惯,拿出来分享一下。
以下是笔记。
今天挖了一阵子方维O2O的本地生活系统。这个系统是不开源的,偶然拿到了一个版本的源码,于是有了这次挖洞之旅。
首先翻到了一个注入,拿下了管理员密码。实际上,demo站已经给了一个低权限的管理员账号demo/demo。
登录后台:

鸡肋文件包含漏洞
大概看了一下功能不多,很多敏感功能(如sql操作)demo管理员没权限。
后台一般安全做的比较差,最容易出现的是文件包含漏洞。我很快在源码里找到一处鸡肋文件包含。/admin/Lib/Action/ApiLoginAction.class.php
Default

之所以叫鸡肋,因为需要截断:$directory.$class_name.”_api.php”;
但我看demo站的php是5.3.3,记得5.3.4以后才解决截断问题。而且fanwe全局并没有addslashes,不影响截断。
所以简单尝试了一下……结果还真截断不了:

可能是其他什么原因,反正不能截断。这个鸡肋漏洞是用不了了。再继续翻源码。
解压缩造成的鸡肋文件上传漏洞
/admin/Lib/Action/FileAction.class.php,一个文件管理的controller。(审计的时候嗅觉也比较重要,看到这个文件名FileAction我就感觉这里会出问题,因为是文件操作)
实际上也没我想的那么糟糕,这里是上传的控制器,上传的地方过滤的比较严,不能直接上传php文件。
但有个上传压缩包并解压的函数:
Default
|
|
华盟君