Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   PHP inj сайта поплярного эмуля (вопрос)) (https://forum.antichat.xyz/showthread.php?t=54178)

nightmare007 22.11.2007 20:43

PHP inj сайта поплярного эмуля (вопрос))
 
кароче както лажу по инету и натыкаюс на один сайтик ... немного повтыкаф решил поэксперементировать.

Что собой представляет сайт:

1) три поля ввода (логин, пасс, мыло) и кнопка создать акк.
2) Таблица пользователей онлайн в 5 столбцов каждый столбец озоглавлен (имя, расса, класс, лвл, локация) каждое заглавие представляет собой ссылку по которой можно отсортировать данный список онлайн.


Значит после того как мы заходим на сайт в строчке адреса виднеется только сам урл без указания директорий и т.п. список пользователей онлайн размещён ниже уже отсортированый по имени от A до B. Если посмотреть вниматочно на каждую из шапок таблици то видно что это ничто иное как присвоение значений переменных F и S....

Цитата:

http://[URL]/index.php?f=0&s=0
http://[URL]/index.php?f=1&s=0
http://[URL]/index.php?f=2&s=0
http://[URL]/index.php?f=3&s=0
http://[URL]/index.php?f=4&s=0
.... и в зависимости от значений переменных соритруется список , уточню... F-переменная отвечает по каким критериям будет сортироваться список (имя, расса, класс, лвл, локация) , S-переменная принимает только два значения 1/0 , от этой переменно (S) зависит "в какую сторону" будет производится сортировка (дапустим от имя "от А до B или от B до A).

Делаю:

Первое что я зделал это поставил в значение s=0 знак (').. вот так:

Цитата:

http://[URL]/index.php?f=0&s=0'
выполнил...

и тут на страницу вывалилась ошибка:
Цитата:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in W:\www\index.php(546) : runtime-created function on line 1

Parse error: parse error, unexpected ''', expecting ']' in W:\www\index.php(546) : runtime-created function on line 1

Warning: usort() [function.usort]: Invalid comparison function. in W:\www\index.php on line 546
из которой я увидел полный путь ... и то что ошибка находится на 546 строке .... и что она произошла при выполнении некой функции "usort"

Немного пошариф в инете я нашол весь сайт =) щас выкину наиболее важные ,как я думаю, в данном случае куски кода страници....

PHP код:

function make_players_array(){
    global 
$host$user$password$db$database_encoding$pl_array;
$i=0;
    
$mangos_db = new DBLayer($host$user$password$db);
    
$mangos_db->query("SET NAMES $database_encoding");
    
$query $mangos_db->query("SELECT * FROM `character` WHERE `online`='1' ORDER BY `name`");
    while(
$result $mangos_db->fetch_assoc($query))
    {
        
$char_data explode(' ',$result['data']);
        
$char_gender dechex($char_data[36]);
        
$char_gender str_pad($char_gender,80STR_PAD_LEFT);
        
$char_gender $char_gender{3};
        
$res_pos=get_zone_name($result['map'], $result['position_x'], $result['position_y']);

$pl_array[$i] = Array($result['name'], $result['race'], $result['class'], $char_data[34], $res_pos$char_gender);
$i++;
    }
    
$mangos_db->close();
    unset(
$mangos_db);
return 
$i;
}

$onlineplayers=make_players_array();

if (!
$sort = &$_GET['s']) $sort=0;
if (!
$flag = &$_GET['f']) $flag=0;
if (
$flag==0)    {    $flag=1$sort_type='<'; } 
        else    {    
$flag=0$sort_type='>'; }
$link=$_SERVER['PHP_SELF']."?f=".$flag."&s=";

(
546 строка) if (!empty($pl_array)) 
    {
    
usort($pl_arraycreate_function('$a, $b''if ( $a['.$sort.'] == $b['.$sort.'] ) return 0; if ( $a['.$sort.'] '.$sort_type.' $b['.$sort.'] ) return -1; return 1;'));
    } 

вот 546 строку обозначил....


Терь вопрос(просьба):
Подскажите какже тут пожно провести пхп иньекцию и можноли её тут провести, и ваще мот тут sql какая нароется ... вообщем отпишитесь тут...

p/s

Цитата:

сайт _hppt://wow.be*na.by/

* = lare


Время: 09:29