ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

24.06.2009, 13:45
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Если добавить (int) как написано в твоём посте, то спасает. Я не знаю может в новой версии есть строгое приведение типа, я на старой смотрел, там его нет.
З.Ы.
Вот у меня код такой:
Код:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$choice = $_POST["choice"];
if ($CURUSER && $choice != "" && $choice < 256 && $choice == floor($choice)) {
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
|
|
|

24.06.2009, 14:15
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Сообщение от m0Hze
Ник как у разработчика =)...
Ну и хорошо, что разработчики обращают внимание на уязвимости своих продуктов. Очень правильный подход.
З.Ы.
Завязываем оффтопить.
З.З.Ы.
Разработчикам советую обратить внимание на: https://forum.antichat.ru/thread30641.html
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
|
|
|

24.06.2009, 15:19
|
|
Познающий
Регистрация: 22.06.2009
Сообщений: 41
Провел на форуме: 47299
Репутация:
18
|
|
Сообщение от Qwazar
Если добавить (int) как написано в твоём посте, то спасает. Я не знаю может в новой версии есть строгое приведение типа, я на старой смотрел, там его нет.
З.Ы.
Вот у меня код такой:
Код:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$choice = $_POST["choice"];
if ($CURUSER && $choice != "" && $choice < 256 && $choice == floor($choice)) {
Не, ну это старенький код =)))
А насчет SQL-inj - да там проблема что когда движок весь собирался - (а это 2006-й год!!!) то малость я тогда и не знал что такое есть, и как защищаться
А лазить по всему коду - так влень, лучше списочком де дырки =)))))
Последний раз редактировалось Yuna; 24.06.2009 в 15:21..
|
|
|

27.06.2009, 00:50
|
|
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
Провел на форуме: 4358210
Репутация:
2017
|
|
Код:
if (get_user_class() < UC_MODERATOR)
puke($tracker_lang['access_denied']);
$action = $_POST["action"];
if ($action == "edituser") {
$userid = $_POST["userid"];
$title = $_POST["title"];
$avatar = $_POST["avatar"];
// Check remote avatar size
if ($avatar) {
if (!preg_match('#^((http)|(ftp):\/\/[a-zA-Z0-9\-]+?\.([a-zA-Z0-9\-]+\.)+[a-zA-Z]+(:[0-9]+)*\/.*?\.(gif|jpg|jpeg|png)$)#is', $avatar))
stderr($tracker_lang['error'], $tracker_lang['avatar_adress_invalid']);
if(!(list($width, $height) = getimagesize($avatar)))
stderr($tracker_lang['error'], $tracker_lang['avatar_adress_invalid']);
if ($width > $avatar_max_width || $height > $avatar_max_height)
stderr($tracker_lang['error'], sprintf($tracker_lang['avatar_is_too_big'], $avatar_max_width, $avatar_max_height));
}
// Check remote avatar size
$resetb = $_POST["resetb"];
$birthday = ($resetb=='yes'?", birthday = '0000-00-00'":"");
$enabled = $_POST["enabled"];
$warned = $_POST["warned"];
$warnlength = 0 + $_POST["warnlength"];
$warnpm = $_POST["warnpm"];
$donor = $_POST["donor"];
$uploadtoadd = $_POST["amountup"];
$downloadtoadd= $_POST["amountdown"];
$formatup = $_POST["formatup"];
$formatdown = $_POST["formatdown"];
$mpup = $_POST["upchange"];
$mpdown = $_POST["downchange"];
$support = $_POST["support"];
$supportfor = htmlspecialchars($_POST["supportfor"]);
$modcomm = htmlspecialchars($_POST["modcomm"]);
$deluser = $_POST["deluser"];
$class = 0 + $_POST["class"];
if (!is_valid_id($userid) || !is_valid_user_class($class))
stderr($tracker_lang['error'], "Неверный идентификатор пользователя или класса.");
// check target user class
$res = sql_query("SELECT warned, enabled, username, class, modcomment, uploaded, downloaded FROM users WHERE id = $userid") or sqlerr(__FILE__, __LINE__);
$arr = mysql_fetch_assoc($res) or puke("Ошибка MySQL: " . mysql_error());
$curenabled = $arr["enabled"];
$curclass = $arr["class"];
$curwarned = $arr["warned"];
if (get_user_class() == UC_SYSOP)
$modcomment = $_POST["modcomment"];
else
$modcomment = $arr["modcomment"];
// User may not edit someone with same or higher class than himself!
if ($curclass >= get_user_class() || $class >= get_user_class())
puke("Так нельзя делать!");
$userid = $_POST["userid"];
$res = sql_query("SELECT warned, enabled, username, class, modcomment, uploaded, downloaded FROM users WHERE id = $userid") or sqlerr(__FILE__, __LINE__);
все это из файла modtask.php
посмари там через пост не уязвим ли? просто с постом работать не умею 
Последний раз редактировалось HAXTA4OK; 27.06.2009 в 00:56..
|
|
|

27.06.2009, 10:43
|
|
Познающий
Регистрация: 22.06.2009
Сообщений: 41
Провел на форуме: 47299
Репутация:
18
|
|
Не уязвим ))
if (!is_valid_id($userid) || !is_valid_user_class($class))
меня больше волнует проблема траффика и проверка аватарки - ну залью я туда jph весом 500 метров и все, удаленном трекеру жопа
Последний раз редактировалось Yuna; 27.06.2009 в 10:46..
|
|
|

27.06.2009, 20:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
Провел на форуме: 4358210
Репутация:
2017
|
|
http://127.0.0.1/treker/users.php?search=1&page=1
тут у меня выдает
Ответ от сервера MySQL: 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 '-100,100' at line 1
в C:\xampp\htdocs\treker\users.php, линия 131
Запрос номер 12.
|
|
|

27.06.2009, 20:55
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от Yuna
меня больше волнует проблема траффика и проверка аватарки - ну залью я туда jph весом 500 метров и все, удаленном трекеру жопа
Конфигурация upload_max_filesize спасает от разовой загрузки больших файлов 
|
|
|

28.06.2009, 13:23
|
|
Познающий
Регистрация: 22.06.2009
Сообщений: 41
Провел на форуме: 47299
Репутация:
18
|
|
нет, я не об этом я о возможности нагрузить канал трекера просто забив в поле аватара (урл аватарки!!) ссылку на файлик весом эдак под 500мб
т.е беру файлик Therion_-_The_Miskolc_Experience-2CD-2009-FKK.rar переименовываю в avatar.jpg
кидаю на какой-то хостинг, и давай на 3-х юзерских профилях - пункт проверка аватарки т.е установка, а там уже дело техники - каждый пхп будет качать эти 150 метров файлик, потом удалять, а мы тем временем продолжаем процесс.
результат - на сервере забит канал, и вот вам по сути ддос
if (!preg_match('#^((http)|(ftp):\/\/[a-zA-Z0-9\-]+?\.([a-zA-Z0-9\-]+\.)+[a-zA-Z]+(:[0-9]+)*\/.*?\.(gif|jpg|jpeg|png)$)#is', $avatar))
stderr($tracker_lang['error'], $tracker_lang['avatar_adress_invalid']);
if(!(list($width, $height) = getimagesize($avatar)))
stderr($tracker_lang['error'], $tracker_lang['avatar_adress_invalid']);
Последний раз редактировалось Yuna; 28.06.2009 в 13:28..
|
|
|

29.06.2009, 18:06
|
|
Новичок
Регистрация: 29.10.2008
Сообщений: 5
Провел на форуме: 25077
Репутация:
4
|
|
Yuna привет  Чет ты немнога поздно тут зарегался. Юзай идею:
PHP код:
function remote_fsize($path)
{
$fp = @fopen($path,"r");
if (!$fp) return false;
$inf = stream_get_meta_data($fp);
fclose($fp);
if ($inf["wrapper_data"]) {
foreach($inf["wrapper_data"] as $v)
if (stristr($v,"content-length"))
{
$v = explode(":",$v);
return trim($v[1]);
}
} else return FALSE;
}
|
|
|

30.06.2009, 18:06
|
|
Познающий
Регистрация: 05.09.2008
Сообщений: 33
Провел на форуме: 95382
Репутация:
29
|
|
Сообщение от HAXTA4OK
http://127.0.0.1/treker/users.php?search=1&page=1
тут у меня выдает
Ответ от сервера MySQL: 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 '-100,100' at line 1
в C:\xampp\htdocs\treker\users.php, линия 131
Запрос номер 12.
Скуль тут не возможен из-за строки:
PHP код:
$offset = ($page * $perpage) - $perpage;
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|