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

01.01.2008, 23:09
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
Сообщение от +toxa+
нуну, а если код типа
PHP код:
$query="select hek_title,hek_header,hek_footer from hek_temp where hek_id=".$_POST['id'];
?)
при
Код:
id=-1 union select hek_name,hek_password,hek_mail from hek_users
всё будет норм выполняться
Ну дык речь идет про текст ведь, т.е. про данные в кавычках  Без кавычек, разумеется. Если данные должны быть int, тогда intval() в помощь.
|
|
|

01.01.2008, 23:15
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от +toxa+
нуну, а если код типа
PHP код:
$query="select hek_title,hek_header,hek_footer from hek_temp where hek_id=".$_POST['id'];
?)
дык твой запрос не будет выполнен, т.к. ошибка синтаксиса
а если выборку по id делать то можно intval() применить 
|
|
|

01.01.2008, 23:46
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
может лучше вместо stripslashes(); $var = str_replace("\\", "", $var); ?
тоха, мне нужны не числовые параметры. а для числовых, конечно, intval() + проверка на знак =)
|
|
|

02.01.2008, 00:39
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме: 8042357
Репутация:
3742
|
|
чтониб вроде..
PHP код:
function xek($string)
{
if (get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
if (!is_numeric($string)) {
$string = "'" . mysql_real_escape_string($string) . "'";
}
return htmlspecialchars($string);
}
а потом это уже в запрос кидать..
ну еще в довесок можно проверять на a-zA-Z0-9, хотя в идеале хватит только его. если точно знаешь что другого не будет в строке
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
Последний раз редактировалось blackybr; 02.01.2008 в 00:43..
|
|
|

02.01.2008, 00:54
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
blackybr зачем добавлять одинарные кавычки, если параметр is_numeric?
|
|
|

02.01.2008, 01:20
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме: 8042357
Репутация:
3742
|
|
если не число, то mysql_real_escape_strin и добавляем кавычки чтобы в запрос передать в кавычках уже строку) хотя прав, не обязательно, но почему бы и нет
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
|
|
|

02.01.2008, 01:34
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
htmlspecialchars спасёт от XSS
PHP код:
htmlspecialchars('<script>alert("xss")</script>');
, mysql_escape_string спасёт от скули
PHP код:
mysql_query("SELECT test FROM test WHERE test2 = '".mysql_escape_string("1'+order+by+100")."'");
, чтобы проинклудить файл нужно проверять его существование на сервере
PHP код:
if(file_exists('./'.$_GET['file'])) {
include($_GET['file']);
}
(просто примеры), а лучше фильтровать символы.
PHP код:
preg_replace('|[^a-z0-9]|i', NULL, $_GET['test']);
|
|
|

02.01.2008, 01:34
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме: 1214722
Репутация:
676
|
|
Не надо заморачиваться , все предельно просто . Все передаваемые значения должны быть в ковычках , это сразу спасает от 99 процентов проблем да и mysql проглотит этот запрос быстрее , прежде чем применить
надо проверить включены ли magic_quotes_gpc
четко выставить кодировку , желательно отфильтровать данные на спецсимволы
PHP код:
$text = trim ( $text );$text = trim ( $text , "\x00..\x1F" );
htmlspecialchars надо использовать с ENT_QUOTES иначе одинарная ковычка не будет фильтроваться
PHP код:
htmlspecialchars( $text , ENT_QUOTES);
В случае запроса-поиска надо экранировать %,_ . Главное правило - не доверять всем входящим от юзера данным , точнее всему тому на что может повлиять юзер , но не показывать этому юзеру свое недоверие
Последний раз редактировалось Евгений Минаев; 02.01.2008 в 01:38..
|
|
|

02.01.2008, 02:26
|
|
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
Провел на форуме: 165671
Репутация:
215
|
|
Ну и ну, ребята. Столько сообщений, и нет ни одного грамотного ответа. Надо бы подождать nerezus'а, он знает ответ. Если ждать его лень (новый год как никак), бегом искать его статью о защите от "SQL инъекций". Там есть ответ на вопрос, который мучает здесь вас всех, а именно:
"Как защитить любое веб приложение от любой атаки, отличной от атаки грубой силой?"
Ни много ни мало. Формулировку вам придется натянуть на его "статью" самостоятельно.
Кстати, любой (даже низкой степени заинтересованности) студент любого ВУЗа любого IT факультета знает ответ на этот вопрос! Задумайтесь об этом, задумайтесь о том, чему вы научились, столько времени потратив на прочтение этого форума!?
Отдельная просьба Зеленому Мишке и всем прочим модераторам, хотя бы в честь Нового Года не трогать это сообщение, тем более, что в действительности, это первый ответ в этой теме, все остальное можно удалить!
|
|
|

02.01.2008, 02:42
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
О, ты вернулся :d
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|