API(REST-JSON)

译自:API (REST-JSON)

sqlmap 可以通过 REST-JSON API 运行,即使用 JSON 格式的 REST(REpresentational State Transfer 的缩写)风格的 API 来进行服务器和客户端实例之间的通信。直白地讲,服务器使用 sqlmap 进行扫描,而客户端设置 sqlmap 选项/开关并将结果拉取回来。用于运行 API 的主程序文件是 sqlmapapi.py,而客户端可以在任意用户程序中进行实现。

$ python sqlmapapi.py -hh
Usage: sqlmapapi.py [options]

Options:
  -h, --help            show this help message and exit
  -s, --server          Act as a REST-JSON API server
  -c, --client          Act as a REST-JSON API client
  -H HOST, --host=HOST  Host of the REST-JSON API server (default "127.0.0.1")
  -p PORT, --port=PORT  Port of the the REST-JSON API server (default 8775)
  --adapter=ADAPTER     Server (bottle) adapter to use (default "wsgiref")

通过使用开关 -s 运行 sqlmapapi.py 启用服务器,使用开关 -c 启用客户端,在这两种情况下,用户可以(可选)使用选项 -H(默认为 "127.0.0.1")和选项 -p(默认为 8775)设置监听的 IP 地址和端口。每个客户端的“会话”可以有多个“任务”(例如:运行 sqlmap 扫描),用户可以任意选择某个任务处于当前活动状态。

客户端命令行界面可用的命令有:

  • help——显示可用命令列表以及基本的帮助信息

  • new ARGS——使用提供的参数开始一次新的扫描任务(例如:new -u "http://testphp.vulnweb.com/artists.php?artist=1"

  • use TASKID——切换当前上下文到不同任务(例如:use c04d8c5c7582efb4

  • data——获取并显示当前任务的数据

  • log- 获取并显示当前任务日志

  • status——获取并显示当前任务状态

  • stop——停止当前任务

  • kill——杀死当前任务

  • list——显示所有任务(当前会话)

  • flush——清空所有任务(例如:deletes)

  • exit——退出客户端界面

运行服务器的示例:

运行客户端的示例:

General codes used in response JSON data:

响应中的 JSON 数据通用码:

  • status:

  • type:

  • returncode

最后更新于

这有帮助吗?