Как использовать дорки для поиска уязвимостей SQLi (ATScan)

Мне часто пишут, чтобы пояснил какие-то моменты из пройденных тем. Хоть я и стараюсь писать все более подробно, вопросы все равно остаются. Решил преподносить информацию более развернуто + буду в течении недели писать всякие полезности.

До этого уже писала немного про SQLi. Сегодня добавлю еще немного информации и конкретики по этому вопросу. А все потому, что на 2017 год разного рода инъекции до сих пор остаются на 1 строчке OWASP top ten. Кто не в курсе:

Open Web Application Security Project — это открытый проект обеспечения безопасности веб-приложений. Сообщество OWASP включает в себя корпорации, образовательные организации и частных лиц со всего мира. Сообщество работает над созданием статей, учебных пособий, документации, инструментов и технологий, находящихся в свободном доступе.

For 2017, the OWASP Top 10 Most Critical Web Application Security Risks (in the Release Candidate) are:

  • A1 Injection
  • A2 Broken Authentication and Session Management
  • A3 Cross-Site Scripting (XSS)
  • A4 Broken Access Control (As it was in 2004)
  • A5 Security Misconfiguration
  • A6 Sensitive Data Exposure
  • A7 Insufficient Attack Protection (NEW)
  • A8 Cross-Site Request Forgery (CSRF)
  • A9 Using Components with Known Vulnerabilities
  • A10 Underprotected APIs (NEW)

Итак SQLi основывается на взаимодействии с БД разных типов, самые известные MySql, PostgreSql, MSSql.

Инъекция может быть осуществлена в формах аторизации; формах создания нового пользователя, сообщения, комментария; форме поиска; форме поиска(если идет запрос напрямую в БД); параметрах id в url; а также в Cookie и заголовках.

Проверку на наличие уязвимости можно осуществить простыми спец символами, такими, как: ; — разделение запросов, ‘ — отделение кода от данных в динамических запросах, » — еще одно разделение, еще иногда используется \.

Уязвимость появляется, если пользовательские данные не обрабатываются, а идет прямое обращение к БД и эти символы нарушают синтаксис.

SQLi разделяются на строковый параметр, а также числовой параметр.

Проверка на строковый параметр осуществляется очень легко, надо лишь закоментировать остаток строки. Например » — -«, и ошибка должна пропасть.

Как видим, данный сайт содержит SQLi строковый параметр. При добавлении комментария, ошибка пропала. Вариантом комментария также может быть знак #, если его перевести в язык url, т.е. поствить %23, а также заэкранировать еще одним знаком ‘. В коротком видео после статьи я это покажу.

Проверить на числовой параметр также просто, комментарий не будет работать, а если ввести вместо показателя ID произвольное слово, то оно будет присутствовать в ошибке.

Дальше все раскручивается, как обычно, либо ручками, либо sqlmap, на ваш вкус.

[ad name=»Responbl»]

Теперь расскажу про великолепное ПО ATScan. Ищет сайты по указанным докамЮ также может сразу проверять на уязвимости. Показывает адрес, cms и много других приятных функций. Т.е. требуется вбить дорк, либо список дорков и прога пойдет искать все сайты, которые подходят. Ищет примерно по 10 штук за раз.

Приведен результат поиска. В видео покажу более подробно.

Click to rate this post!
[Total: 14 Average: 2.9]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Leave a reply:

Your email address will not be published.