2018-11-15 19:13:13 +03:00
|
|
|
# Note: written with Swagger Editor (https://editor.swagger.io/)
|
2018-11-15 17:27:05 +03:00
|
|
|
swagger: "2.0"
|
|
|
|
info:
|
|
|
|
description: ""
|
|
|
|
version: "1.2"
|
2018-11-15 19:13:13 +03:00
|
|
|
title: "sqlmap API"
|
2018-11-15 17:27:05 +03:00
|
|
|
contact:
|
|
|
|
email: "dev@sqlmap.org"
|
|
|
|
license:
|
|
|
|
name: "GPL 2.0"
|
|
|
|
url: "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
|
|
|
host: "0.0.0.0:8775"
|
|
|
|
basePath: "/"
|
|
|
|
tags:
|
|
|
|
- name: "task"
|
|
|
|
description: "Task management functions"
|
|
|
|
- name: "admin"
|
|
|
|
description: "Task administration functions"
|
|
|
|
- name: "option"
|
|
|
|
description: "Task option handling functions"
|
|
|
|
schemes:
|
|
|
|
- "http"
|
|
|
|
paths:
|
|
|
|
/task/new:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "task"
|
|
|
|
summary: "Create a new task"
|
|
|
|
description: ""
|
|
|
|
operationId: "taskNew"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
parameters: []
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task successfully created"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
taskid:
|
|
|
|
type: string
|
|
|
|
example: "7e605b5d5a892b74"
|
|
|
|
/task/{taskid}/delete:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "task"
|
|
|
|
summary: "Delete an existing task"
|
|
|
|
description: ""
|
|
|
|
operationId: "taskDelete"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
parameters:
|
|
|
|
- name: "taskid"
|
|
|
|
in: "path"
|
|
|
|
description: "ID of an existing task to delete"
|
|
|
|
required: true
|
|
|
|
type: "string"
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task successfully deleted"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [true]
|
|
|
|
404:
|
|
|
|
description: "Task ID not found"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [false]
|
|
|
|
message:
|
|
|
|
type: string
|
|
|
|
enum: ["Non-existing task ID"]
|
|
|
|
/admin/list:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "admin"
|
|
|
|
summary: "Pull task list (locally)"
|
|
|
|
description: "Note: Use in cases when connecting to server from same IP (e.g. `localhost`)"
|
|
|
|
operationId: "adminList"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task list successfully pulled"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [true]
|
|
|
|
tasks:
|
|
|
|
type: object
|
|
|
|
additionalProperties:
|
|
|
|
type: string
|
|
|
|
example:
|
|
|
|
16a7a898e8eaaf45: running
|
|
|
|
644fc063408e4f12: not running
|
|
|
|
8e2eb10770d913cd: not running
|
|
|
|
d59d1c69bdc06933: not running
|
|
|
|
tasks_num:
|
|
|
|
type: integer
|
|
|
|
example: 4
|
|
|
|
/admin/{token}/list:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "admin"
|
|
|
|
summary: "Pull task list (remotely)"
|
|
|
|
description: "Note: Use in cases when connecting to server from different IP"
|
|
|
|
operationId: "adminListToken"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
parameters:
|
|
|
|
- name: "token"
|
|
|
|
in: "path"
|
|
|
|
description: "Secret token (Note: written to console during a server run - e.g. `2756d5b6e7d093ba49b5fd06a93aca7a`)"
|
|
|
|
required: true
|
|
|
|
type: "string"
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task list successfully pulled"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [true]
|
|
|
|
tasks:
|
|
|
|
type: object
|
|
|
|
additionalProperties:
|
|
|
|
type: string
|
|
|
|
example:
|
|
|
|
5c911efa476b55f4: not running
|
|
|
|
5ee038e153ffc534: not running
|
|
|
|
e58c7a4de6bf7f51: not running
|
|
|
|
tasks_num:
|
|
|
|
type: integer
|
|
|
|
example: 4
|
|
|
|
/admin/flush:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "admin"
|
|
|
|
summary: "Flush task pool (locally)"
|
|
|
|
description: "Note: Use in cases when connecting to server from same IP (e.g. `localhost`)"
|
|
|
|
operationId: "adminFlush"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task pool successfully flushed"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [true]
|
|
|
|
/admin/{token}/flush:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "admin"
|
|
|
|
summary: "Flush task pool (remotely)"
|
|
|
|
description: "Note: Use in cases when connecting to server from different IP"
|
|
|
|
operationId: "adminFlushToken"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
parameters:
|
|
|
|
- name: "token"
|
|
|
|
in: "path"
|
|
|
|
description: "Secret token (Note: written to console during a server run - e.g. `2756d5b6e7d093ba49b5fd06a93aca7a`)"
|
|
|
|
required: true
|
|
|
|
type: "string"
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task pool successfully flushed"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [true]
|
2018-11-15 19:13:13 +03:00
|
|
|
/option/{taskid}/list:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- "option"
|
|
|
|
summary: "List task options"
|
|
|
|
description: ""
|
|
|
|
operationId: "optionList"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
parameters:
|
|
|
|
- name: "taskid"
|
|
|
|
in: "path"
|
|
|
|
description: "ID of an existing task to list it's options"
|
|
|
|
required: true
|
|
|
|
type: "string"
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task options successfully listed"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
enum: [true]
|
|
|
|
options:
|
|
|
|
type: object
|
|
|
|
additionalProperties:
|
|
|
|
type: string
|
|
|
|
example:
|
|
|
|
crawlDepth: null
|
|
|
|
osShell: false
|
|
|
|
getUsers: false
|
|
|
|
getPasswordHashes: false
|
|
|
|
excludeSysDbs: false
|
|
|
|
ignoreTimeouts: false
|
|
|
|
regData: null
|
|
|
|
fileDest: null
|
|
|
|
prefix: null
|
|
|
|
code: null
|
|
|
|
googlePage: 1
|
|
|
|
skip: null
|
|
|
|
query: null
|
|
|
|
randomAgent: false
|
|
|
|
osPwn: false
|
|
|
|
authType: null
|
|
|
|
safeUrl: null
|
|
|
|
requestFile: null
|
|
|
|
predictOutput: false
|
|
|
|
wizard: false
|
|
|
|
stopFail: false
|
|
|
|
forms: false
|
|
|
|
uChar: null
|
|
|
|
secondReq: null
|
|
|
|
taskid: d977b0e5f091370e
|
|
|
|
pivotColumn: null
|
|
|
|
dropSetCookie: false
|
|
|
|
smart: false
|
|
|
|
paramExclude: null
|
|
|
|
risk: 1
|
|
|
|
sqlFile: null
|
|
|
|
rParam: null
|
|
|
|
getCurrentUser: false
|
|
|
|
notString: null
|
|
|
|
getRoles: false
|
|
|
|
getPrivileges: false
|
|
|
|
testParameter: null
|
|
|
|
tbl: null
|
|
|
|
charset: null
|
|
|
|
trafficFile: null
|
|
|
|
osSmb: false
|
|
|
|
level: 1
|
|
|
|
dnsDomain: null
|
|
|
|
outputDir: null
|
|
|
|
encoding: null
|
|
|
|
skipWaf: false
|
|
|
|
timeout: 30
|
|
|
|
firstChar: null
|
|
|
|
torPort: null
|
|
|
|
getComments: false
|
|
|
|
binaryFields: null
|
|
|
|
checkTor: false
|
|
|
|
commonTables: false
|
|
|
|
direct: null
|
|
|
|
tmpPath: null
|
|
|
|
titles: false
|
|
|
|
getSchema: false
|
|
|
|
identifyWaf: false
|
|
|
|
paramDel: null
|
|
|
|
safeReqFile: null
|
|
|
|
regKey: null
|
|
|
|
murphyRate: null
|
|
|
|
limitStart: null
|
|
|
|
crawlExclude: null
|
|
|
|
flushSession: false
|
|
|
|
loadCookies: null
|
|
|
|
csvDel:
|
|
|
|
offline: false
|
|
|
|
method: null
|
|
|
|
tmpDir: null
|
|
|
|
fileWrite: null
|
|
|
|
disablePrecon: false
|
|
|
|
osBof: false
|
|
|
|
testSkip: null
|
|
|
|
invalidLogical: false
|
|
|
|
getCurrentDb: false
|
|
|
|
hexConvert: false
|
|
|
|
proxyFile: null
|
|
|
|
answers: null
|
|
|
|
host: null
|
|
|
|
dependencies: false
|
|
|
|
cookie: null
|
|
|
|
proxy: null
|
|
|
|
regType: null
|
|
|
|
optimize: false
|
|
|
|
limitStop: null
|
|
|
|
search: false
|
|
|
|
uFrom: null
|
|
|
|
noCast: false
|
|
|
|
testFilter: null
|
|
|
|
ignoreCode: null
|
|
|
|
eta: false
|
|
|
|
csrfToken: null
|
|
|
|
threads: 1
|
|
|
|
logFile: null
|
|
|
|
os: null
|
|
|
|
col: null
|
|
|
|
skipStatic: false
|
|
|
|
proxyCred: null
|
|
|
|
verbose: 1
|
|
|
|
isDba: false
|
|
|
|
updateAll: false
|
|
|
|
privEsc: false
|
|
|
|
forceDns: false
|
|
|
|
getAll: false
|
|
|
|
api: true
|
|
|
|
url: http://www.test.com/index.php?id=1
|
|
|
|
invalidBignum: false
|
|
|
|
regexp: null
|
|
|
|
getDbs: false
|
|
|
|
freshQueries: false
|
|
|
|
uCols: null
|
|
|
|
smokeTest: false
|
|
|
|
udfInject: false
|
|
|
|
invalidString: false
|
|
|
|
tor: false
|
|
|
|
forceSSL: false
|
|
|
|
beep: false
|
|
|
|
noEscape: false
|
|
|
|
configFile: null
|
|
|
|
scope: null
|
|
|
|
authFile: null
|
|
|
|
torType: SOCKS5
|
|
|
|
regVal: null
|
|
|
|
dummy: false
|
|
|
|
checkInternet: false
|
|
|
|
safePost: null
|
|
|
|
safeFreq: null
|
|
|
|
skipUrlEncode: false
|
|
|
|
referer: null
|
|
|
|
liveTest: false
|
|
|
|
retries: 3
|
|
|
|
extensiveFp: false
|
|
|
|
dumpTable: false
|
|
|
|
getColumns: false
|
|
|
|
batch: true
|
|
|
|
purge: false
|
|
|
|
headers: null
|
|
|
|
authCred: null
|
|
|
|
osCmd: null
|
|
|
|
suffix: null
|
|
|
|
dbmsCred: null
|
|
|
|
regDel: false
|
|
|
|
shLib: null
|
|
|
|
sitemapUrl: null
|
|
|
|
timeSec: 5
|
|
|
|
msfPath: null
|
|
|
|
dumpAll: false
|
|
|
|
fileRead: null
|
|
|
|
getHostname: false
|
|
|
|
sessionFile: null
|
|
|
|
disableColoring: true
|
|
|
|
getTables: false
|
|
|
|
listTampers: false
|
|
|
|
agent: null
|
|
|
|
webRoot: null
|
|
|
|
exclude: null
|
|
|
|
lastChar: null
|
|
|
|
string: null
|
|
|
|
dbms: null
|
|
|
|
dumpWhere: null
|
|
|
|
tamper: null
|
|
|
|
ignoreRedirects: false
|
|
|
|
hpp: false
|
|
|
|
runCase: null
|
|
|
|
delay: 0
|
|
|
|
evalCode: null
|
|
|
|
cleanup: false
|
|
|
|
csrfUrl: null
|
|
|
|
secondUrl: null
|
|
|
|
getBanner: true
|
|
|
|
profile: false
|
|
|
|
regRead: false
|
|
|
|
bulkFile: null
|
|
|
|
db: null
|
|
|
|
dumpFormat: CSV
|
|
|
|
alert: null
|
|
|
|
harFile: null
|
|
|
|
nullConnection: false
|
|
|
|
user: null
|
|
|
|
parseErrors: false
|
|
|
|
getCount: false
|
|
|
|
data: null
|
|
|
|
regAdd: false
|
|
|
|
ignoreProxy: false
|
|
|
|
database: /tmp/sqlmapipc-jGw6ZY
|
|
|
|
mobile: false
|
|
|
|
googleDork: null
|
|
|
|
saveConfig: null
|
|
|
|
sqlShell: false
|
|
|
|
tech: BEUSTQ
|
|
|
|
textOnly: false
|
|
|
|
cookieDel: null
|
|
|
|
commonColumns: false
|
|
|
|
keepAlive: false
|
|
|
|
/option/{taskid}/get:
|
|
|
|
post:
|
|
|
|
tags:
|
|
|
|
- "option"
|
|
|
|
summary: "Get task option value(s)"
|
|
|
|
description: ""
|
|
|
|
operationId: "optionGet"
|
|
|
|
consumes:
|
|
|
|
- "application/json"
|
|
|
|
produces:
|
|
|
|
- "application/json"
|
|
|
|
parameters:
|
|
|
|
- name: "taskid"
|
|
|
|
in: "path"
|
|
|
|
description: "ID of an existing task"
|
|
|
|
required: true
|
|
|
|
type: "string"
|
|
|
|
- in: body
|
|
|
|
name: options
|
|
|
|
description: ""
|
|
|
|
schema:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
example: ["url", "timeout"]
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: "Task option value successfully retrieved"
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
success:
|
|
|
|
type: boolean
|
|
|
|
options:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
name:
|
|
|
|
type: string
|
|
|
|
value:
|
|
|
|
type: string
|
|
|
|
example:
|
|
|
|
- success: true
|
|
|
|
options:
|
|
|
|
url: http://www.test.com/index.php?id=1
|
|
|
|
timeout: 30
|
2018-11-15 17:27:05 +03:00
|
|
|
externalDocs:
|
|
|
|
description: "Find out more about sqlmap API (REST-JSON)"
|
|
|
|
url: "https://github.com/sqlmapproject/sqlmap/wiki/Usage#api-rest-json"
|