安全性测试中SQL注入sqlmap工具推荐

前置准备

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

执行命令python sqlmap.py -h可能会出现如下错误

[22:46:31] [CRITICAL] missing one or more core extensions ('bz2') most likely because current version of Python has been built without appropriate dev packages

需要指定:python2.7 sqlmap.py -h   才能正常展示-h信息

sqlmap.py运行参数详解

-v:输出信息按从简到繁共7个级别

0:只显示Python的tracebacks信息、错误信息[ERROR]和关键信息[CRITICAL];

1:同时显示普通信息[INFO]和警告信息[WARNING];

2:同时显示调试信息[DEBUG];

3:同时显示注入使用的攻击荷载;

4:同时显示HTTP请求;

5:同时显示HTTP响应头;

6:同时显示HTTP响应体。

-d:直接连接数据库,该参数后跟一个表示数据库的字符串

场景1:当数据库管理系统是MySQL、Oracle、Microsoft SQL Server或PostgreSQL等时格式为:DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME

场景2:当数据库管理系统是SQLite、Microsoft Access或Firebird等时格式为:DBMS://DATABASE_FILEPATHmysql

示例:python2.7sqlmap.py -d"mysql://testlink:[email protected]:3306/XXX"出现:SQLAlchemy connection issue ('ImportError: No module named MySQLdb')

-u或–url: 指定一个URL作为目标

该参数后跟一个表示URL的字符串,可以是http协议也可以是https协议,还可以指定端口示例:python2.7sqlmap.py-u"sqlmap"如果存在多个url,将多个url保存在txt文件中,运行:python2.7sqlmap.py-murl.txt

-l:指定一个Burp或WebScarab的代理日志文件,Sqlmap将从日志文件中解析出可能的攻击目标,并逐个尝试进行注入。该参数后跟一个表示日志文件的路径;

示例:python2.7sqlmap.py -l ../proxy.log

-x:解析xml格式的站点地图,从中提取攻击目标,对网站全方位无死角地进行注入检测

示例:python sqlmap.py -x http://www.6eat.com/sitemap.xml

-r:可以将一个HTTP请求保存在文件中,然后使用参数“-r”加载该文件

示例:pythonsqlmap.py-rget.txt

-g:能自动获取Google搜索的前一百个结果,对其中有GET参数的URL进行注入测试。当然,所处的网络环境要能访问Google才行

示例:python2.7sqlmap.py -g"inurl:\".php?id=1\""

-c:指定一个配置文件(如:sqlmap.conf),解析该配置文件,按照该配置文件的配置执行动作。配置文件中可以指定攻击目标,实际上除了攻击目标外,配置文件还可以指定各种参数的值.

你可能感兴趣的:(安全性测试中SQL注入sqlmap工具推荐)