ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ_OLD > Уязвимости > Сценарии/CMF/СMS
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #121  
Старый 24.06.2009, 13:45
Qwazar
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/.
 

  #122  
Старый 24.06.2009, 14:15
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от m0Hze  
Ник как у разработчика =)...
Ну и хорошо, что разработчики обращают внимание на уязвимости своих продуктов. Очень правильный подход.

З.Ы.
Завязываем оффтопить.

З.З.Ы.
Разработчикам советую обратить внимание на: https://forum.antichat.ru/thread30641.html
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 

  #123  
Старый 24.06.2009, 15:19
Yuna
Познающий
Регистрация: 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..
 

  #124  
Старый 27.06.2009, 00:50
HAXTA4OK
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..
 

  #125  
Старый 27.06.2009, 10:43
Yuna
Познающий
Регистрация: 22.06.2009
Сообщений: 41
Провел на форуме:
47299

Репутация: 18
По умолчанию

Не уязвим ))

if (!is_valid_id($userid) || !is_valid_user_class($class))

меня больше волнует проблема траффика и проверка аватарки - ну залью я туда jph весом 500 метров и все, удаленном трекеру жопа

Последний раз редактировалось Yuna; 27.06.2009 в 10:46..
 

  #126  
Старый 27.06.2009, 20:30
HAXTA4OK
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.
 

  #127  
Старый 27.06.2009, 20:55
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от Yuna  
меня больше волнует проблема траффика и проверка аватарки - ну залью я туда jph весом 500 метров и все, удаленном трекеру жопа
Конфигурация upload_max_filesize спасает от разовой загрузки больших файлов
 

  #128  
Старый 28.06.2009, 13:23
Yuna
Познающий
Регистрация: 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..
 

  #129  
Старый 29.06.2009, 18:06
ZonD80
Новичок
Регистрация: 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;

 

  #130  
Старый 30.06.2009, 18:06
Rostov114
Познающий
Регистрация: 05.09.2008
Сообщений: 33
Провел на форуме:
95382

Репутация: 29
Отправить сообщение для Rostov114 с помощью ICQ Отправить сообщение для Rostov114 с помощью AIM Отправить сообщение для Rostov114 с помощью Yahoo
По умолчанию

Цитата:
Сообщение от 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)
 


Быстрый переход




ANTICHAT.XYZ