0×00 背景
最近拿到一个源码素材于是对这个源码进行分析发现了不少漏洞本篇先将一些漏洞进行分析下一篇再进行GetShell方法的分析期待和师傅们的交流。
0×01 漏洞分析
配置文件写入
0×00 相关环境
源码信息HDWiki-v6.0UTF8-20170209
问题文件 \HDWiki-v6.0UTF8-20170209\hdwiki\install\install.php
漏洞类型配置文件写入导致代码执行
站点地址http://kaiyuan.hudong.com/
0×01 漏洞分析
在文件\HDWiki-v6.0UTF8-20170209\hdwiki\install\install.php的第291-310行中发现如下代码块其中传入的数据库连接等信息没有经过安全处理直接拼接然后使用fwrite函数将拼接后的内容写入到配置文件中,因此此处存在代码执行漏洞。
通过反向跟踪$configfile,$site_url的数据知道写入文件的名称是config.php,还有$site_url的参数是获取Host头的值。
在\HDWiki-v6.0UTF8-20170209\hdwiki\install\install.php
0×02 漏洞复现
可以写入代码的位置有dbhost,dbuser,dbpassword,dbname,table_prefix,Host这里我直接将代码植入到Host中。进行如下请求将恶意代码写入到配置文件中由于配置文件没有设置访问权限所以写入后可以直接前台访问。