熟悉功能:
方便管理员对模板html文件进行修改
用户可控变量:
-
$_REQUEST
-
$_REQUEST['act']
-
$_GET
-
$_GET['tpl_name']
-
$_POST
-
$_POST['tpl_name']
-
$_POST['tpl_content']
$_REQUEST['act']
无法影响判断
$_GET[‘tpl_name’]
$_GET[‘tpl_name’]为你想要编辑的模板文件名字
1 | elseif($act == 'edit'){ |
没有对$_GET['tpl_name']
进行过滤,加上../
可以读取web目录以外的内容。
payload = http://bluecmsv16:9990/admin/tpl_manage.php?act=edit&tpl_name=../../../upgrade/upgrade.php
有什么比较有价值的网站文件吗?
可以php文件即读到网站源码
$_POST变量
$_POST['tpl_name']
变量:你想要更改的网站模板文件$_POST['tpl_content']
变量:你要更改的内容
两个变量均没有经过过滤,可以直接修改网站的源码
编写pocsuite插件:
发现需要root登录状态才行,可以通过之前的登录绕过获取到cookie
手工添加cookie尝试,该漏洞确实是要登录状态才能利用
要配合BlueCMS v1.6 sp1 /admin/login.php SQL注入漏洞
一起使用
怎么攻击呢?
可以修改网站下的任何源代码,可以
-
写入一句话木马
-
盗号js
写入一句话木马
总结:
-
有时候多个漏洞组合起来,可以达到一个很好的效果。
-
要写验证和攻击的代码才能更了解漏洞的原理