Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
PHP inj сайта поплярного эмуля (вопрос)) |

22.11.2007, 20:43
|
|
Новичок
Регистрация: 28.10.2006
Сообщений: 23
Провел на форуме: 125281
Репутация:
1
|
|
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,8, 0, STR_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_array, create_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
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|