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

18.12.2009, 18:17
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
что думаете про такой подход?
PHP код:
function antihack () {
$uri = $_SERVER['REQUEST_URI']; //определяем адрес запрашиваемой страницы
$arr_u = explode("?", $uri ); //разделяем адрес на массив
$url = $arr_u[0]; //того что до знака ?
$p_url = $arr_u[1]; // и того что после
$inj='/script|http|<|>|<|>|SELECT|UNION|UPDATE|AND|exe|exec|INSERT|tmp/i'; //это паттерн возможных типов атак в адресе (их можно дополнить своими)
if (preg_match($inj, $p_url )) { // ищем патерн в нашем адресе, в том что за знаком ?
die("Hacking attempt!"); //если находим - посылаем куда подальше :=)
}
}
взято с http://phpmaster.su/php-faq/8-kak-zashhititsya-ot-sql-inekcij-xss-atak-na-php.html
много чего можно добавить к этому коду, но сам подход..?
|
|
|

18.12.2009, 18:23
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
phpdreamer, провальный подход. Первый пост читай, там ВСЁ описано.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
|
|
|

18.12.2009, 18:27
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от phpdreamer
что думаете про такой подход?
взято с http://phpmaster.su/php-faq/8-kak-zashhititsya-ot-sql-inekcij-xss-atak-na-php.html
много чего можно добавить к этому коду, но сам подход..?
..с новым подходом....
Ты так никогда не защитишься. при SQL проскочит любой твой отфильтрованный контент в разном регистре UnIoN и т.д... буква i вообще может в переменной оказаться по делу, а фильтранётся =))) ну и про HEX, URL и другие виды кодировки не забывай =)))
А в первом посте всё изложенно.
|
|
|

18.12.2009, 18:37
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
спасибо, теперь разобрался
|
|
|

18.12.2009, 18:50
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
при SQL проскочит любой твой отфильтрованный контент в разном регистре UnIoN
Не соглашусь, сейчас пробывал в опере 10 набрать в get параметре это => "SeLEcT" (без ковычек), итог => не проскочило слово
Вообще да, плохая защита
Последний раз редактировалось wolmer; 18.12.2009 в 19:04..
|
|
|

18.12.2009, 19:17
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
Сообщение от phpdreamer
что думаете про такой подход?
Это ппц.
Засунуть в коммент в скл-инъекции знак "?" - вот и весь обход "фильтрации":
Код:
?lala=-1+/*?*/union+select+...
(;
Nightmarе
Буква "i" в той регулярке - модификатор...
Последний раз редактировалось cr0w; 18.12.2009 в 19:20..
|
|
|

18.12.2009, 20:05
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
Сообщение от cr0w
Это ппц.
Засунуть в коммент в скл-инъекции знак "?" - вот и весь обход "фильтрации":
Код:
?lala=-1+/*?*/union+select+...
(;
Nightmarе
Буква "i" в той регулярке - модификатор...
я тоже сразу подумал что надо проверять еще count массива... вопрос был не о том, но больше вопросов нет =)
|
|
|

19.12.2009, 13:15
|
|
Новичок
Регистрация: 16.11.2008
Сообщений: 6
Провел на форуме: 21692
Репутация:
0
|
|
Скули обречены на вымирание 
Юзайте mysqli и ничего фильтровать не надо и искейпить тоже не надо ничего.
$mysqli = new mysqli();
$mysqli->prepare("select * from data where id = ?");
и далее по тексту 
|
|
|

13.02.2010, 05:03
|
|
Участник форума
Регистрация: 25.11.2009
Сообщений: 201
Провел на форуме: 866555
Репутация:
226
|
|
А если так использовать можно избежать xss/sqli???
Код:
function secure($par) {
$numb = array("1","2","3","4","5","6","7","8","9","0","-");
if( get_magic_quotes_gpc())
{
$link = stripslashes($par);
}
$l=$par+1-1;
if ((string)$l==(string)$par) {
$par=(string)$par;
$new_par="";
for ($i=0;$i<>strlen($par);$i++) {
if (in_array($par{$i},$numb)) {
$new_par=$new_par.$par{$i};
}
if ($new_par<"-2147483648" || $new_par>"2147483647") $new_par="1";
$new_par=(int)$new_par;
}
}
else
{
$new_par=mysql_real_escape_string($par);
}
return $new_par;
}
Так вроде и раскрытия путей не будет
Последний раз редактировалось Seravin; 13.02.2010 в 05:18..
|
|
|

13.02.2010, 05:58
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
А где проверка на то что $par может быть массив?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|