Статья Сканируем и раскручиваем SQL Injection с умом

Код:
sqlmap.py -u "https://site.com/wp-admin/admin-ajax.php" --data="mark_id=*" --dbs --dbms=MySQL --risk=3 --level=5 --random-agent -v3

В --data= пихаем нужную пост дату целиком, а параметр который надо инжектить помечаем звездочкой.
спасибо добрый человек
 
Код:
sqlmap.py -u "https://site.com/wp-admin/admin-ajax.php" --data="mark_id=*" --dbs --dbms=MySQL --risk=3 --level=5 --random-agent -v3

В --data= пихаем нужную пост дату целиком, а параметр который надо инжектить помечаем звездочкой.
Желательно еще валидный параметр передавать.
 
Желательно еще валидный параметр передавать.
Ну это очевидные вещи, тем более сканеры (пр. Acunetix) всегда показывают "original value".
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Отличная статья, только я предпочитаю спаркер вместо акуши, ну иногда бывает самой мапой сканю
 
Пожалуйста, обратите внимание, что пользователь заблокирован
согласен . еще как эффективно ! плюс тема не раскрыта не слова про админки конкретный поиск доменов про хеши пассы . я считаю статью можно было бы дополнить гораздо больше
 
согласен . еще как эффективно ! плюс тема не раскрыта не слова про админки конкретный поиск доменов про хеши пассы . я считаю статью можно было бы дополнить гораздо больше
А вы уверены что тему можно раскрыть в одной статье? По мне так пост несёт ознакомительный характер и ТС вполне с этим справился.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
(обычная булеан, легко крутиться, под рукой не было чего-то сложного, но для примера ок)
Тут на помощь нам придёт Burp Suite. Первый запрос отправляем с payload имеющим значение TRUE, вторым там где FALSE. Отправляем 2 (TRUE и FALSE) ответа в Comparer (ПКМ – Send response to Comparer). Переходим во вкладку Comparer и сравниваем 2 ответа по словам. Нужно указать их явное различие, чтобы sqlmap увидил это. В Comparer такое отличие будет выделено жёлтым цветом. Если оно находиться в ответе TRUE, в команду добавляем –string=”уникальная часть, если кусок большой, скопируйте лишь часть”, если отличие находиться в ответе FALSE, используем –not-string=”yourtext”
дошел до этого шага что на скриншоте ,что теперь нужно отправить через –string= в моем примере не оч понимаю?
 

Вложения

  • Screenshot_29.png
    Screenshot_29.png
    17.7 КБ · Просмотры: 78
Пожалуйста, обратите внимание, что пользователь заблокирован
дошел до этого шага что на скриншоте ,что теперь нужно отправить через –string= в моем примере не оч понимаю?
кто может подсказать?
 
кто может подсказать?
Ты закинул в comparer не ответы, а запросы. Т.е. логично что в твоих запросах будет разница, т.к. ты сам отправил разные запросы для проверки
 
Ты закинул в comparer не ответы, а запросы. Т.е. логично что в твоих запросах будет разница, т.к. ты сам отправил разные запросы для проверки
И ещё: ответ будет что-то типа HTTP/1.1 404 ( или любой другой код) и дальше остальные заголовки ответа. Но не GET /что-то как у тебя
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ты закинул в comparer не ответы, а запросы. Т.е. логично что в твоих запросах будет разница, т.к. ты сам отправил разные запросы для проверки
правильно ли я понимаю что:
1.) в данном примере ,со скриншота мне нужно указать –not-string=”fail”?если да,то почему у меня sqlmap не увидел скулю когда я подал ему –not-string=”fail” ?
2.)эту фишку можно проделать только на Bolean и она помогает скульмапу увидеть скулю быстрее плюс % раскрываемости скуль будет выше ,чем без проделывания этой фишки?
(обычная булеан, легко крутиться, под рукой не было чего-то сложного, но для примера ок)
Тут на помощь нам придёт Burp Suite. Первый запрос отправляем с payload имеющим значение TRUE, вторым там где FALSE. Отправляем 2 (TRUE и FALSE) ответа в Comparer (ПКМ – Send response to Comparer). Переходим во вкладку Comparer и сравниваем 2 ответа по словам. Нужно указать их явное различие, чтобы sqlmap увидил это. В Comparer такое отличие будет выделено жёлтым цветом. Если оно находиться в ответе TRUE, в команду добавляем –string=”уникальная часть, если кусок большой, скопируйте лишь часть”, если отличие находиться в ответе FALSE, используем –not-string=”yourtext”
 

Вложения

  • Screenshot_30.png
    Screenshot_30.png
    18.1 КБ · Просмотры: 32
Последнее редактирование:
1.) в данном примере ,со скриншота мне нужно указать –not-string=”fail”?если да,то почему у меня sqlmap не увидел скулю когда я подал ему –not-string=”fail” ?

Не fail а все что между кавычек "" --not-string="fail increment", если не сработает так то пробуй --not-string='"fail increment"'
Либо пробуй указывать true сразу, --string="increment" или --string="success" (если не сработает то взять в одинарные кавычки как в примере выше

2.)эту фишку можно проделать только на Bolean и она помогает скульмапу увидеть скулю быстрее плюс % раскрываемости скуль будет выше ,чем без проделывания этой фишки?

Только на булеане. На все остальные вопросы не вдаваясь в детали - да.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Не fail а все что между кавычек "" --not-string="fail increment", если не сработает так то пробуй --not-string='"fail increment"'
Либо пробуй указывать true сразу, --string="increment" или --string="success" (если не сработает то взять в одинарные кавычки как в примере выше
Спасибо,помогло.
Только на булеане. На все остальные вопросы не вдаваясь в детали - да.
и только на POST получается?

1.)если я укажу -technique="BEUT" и укажу -string получается sqlmap должен увидеть только Bolean а другие может не увидеть и их лучше отдельно указать ?просто хочу уточнить нужно отдельно -technique="B" крутить или можно и сразу все указать?

2.)и можно ли понять Bolean на скуле которую нашел acunetix или нет
?

3.)если acunetix нашел скулю ,значит ли что она там точно есть?
 
Последнее редактирование:
и только на POST получается?
На любой.

1.)если я укажу -technique="BEUT" и укажу -string получается sqlmap должен увидеть только Bolean а другие может не увидеть и их лучше отдельно указать ?просто хочу уточнить нужно отдельно -technique="B" крутить или можно и сразу все указать?
Дичь. Если указано несколько техник и при этом используется --string для булеана то другие векторы мап без проблем обнаружит (если они конечно уязвимы), поэтому можно все сразу техники крутить. И --technique=BEUT не надо указывать если тебе надо что бы все техники мап отрабатывал. Ты ведь даже забыл технику S (Stacked queries) - а это одна из важнейших техник, ибо через нее лежит путь к запуску шеллов и msf на атакуемых серверах.

2.)и можно ли понять Bolean на скуле которую нашел acunetix или нет?

Не понял вопрос.

3.)если acunetix нашел скулю ,значит ли что она там точно есть?

Любой сканер может давать ложные срабатывания, поэтому если сканнер (любой) обнаружил скулю - не факт что она там есть, надо пробовать крутить и только после этого будет понятно, есть там что то или нет.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Дичь. Если указано несколько техник и при этом используется --string для булеана то другие векторы мап без проблем обнаружит (если они конечно уязвимы), поэтому можно все сразу техники крутить. И --technique=BEUT не надо указывать если тебе надо что бы все техники мап отрабатывал. Ты ведь даже забыл технику S (Stacked queries) - а это одна из важнейших техник, ибо через нее лежит путь к запуску шеллов и msf на атакуемых серверах.
но S (Stacked queries) ведь только на mssql?!они не так часто встречаются мне,поэтому ставил BEUT..ибо зачем крутить S (Stacked queries) когда там допустим mysql,ведь я незнаю какая там бд изначально..или на mysql когда указываешь sqlmap`у technique=S он ее не крутит?!

ты пишешь про запуск шела,всегда это не допонимал ,где то пишут что можно залить шел только при условии mssql +Stacked queries+is dba TRUE, где то при условии mysql is dba TRUE ,проясни пожалуйста в итоге при каких условиях можно залить шелл через sqlmap?
 
но S (Stacked queries) ведь только на mssql?!они не так часто встречаются мне,поэтому ставил BEUT..ибо зачем крутить S (Stacked queries) когда там допустим mysql,ведь я незнаю какая там бд изначально..или на mysql когда указываешь sqlmap`у technique=S он ее не крутит?!

ты пишешь про запуск шела,всегда это не допонимал ,где то пишут что можно залить шел только при условии mssql +Stacked queries+is dba TRUE, где то при условии mysql is dba TRUE ,проясни пожалуйста в итоге при каких условиях можно залить шелл через sqlmap?

Встроеную в мап --os-shell можно юзать на mssql и postgresql когда есть staked + права на запись (dba true). А вручную шелл можно залить и на mysql при условии что есть права на запись и ты знаешь путь к папке где лежит сайт на сервере.
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх