SQLmap使用详解:自动检测与注入技巧

需积分: 0 0 下载量 201 浏览量 更新于2024-07-01 收藏 978KB PDF 举报
"这篇文档是关于SQLmap工具的使用手册小结,主要涵盖了GET、POST方式的注入测试,Cookie注入,以及各种选项的使用,如tamper插件、延迟时间设置、频率控制等。此外,还介绍了如何检测注入点、查看数据库、用户、权限等操作。" SQLmap是一个强大的自动化SQL注入工具,它可以帮助安全研究人员或渗透测试人员检测和利用SQL注入漏洞。本文档主要总结了SQLmap的一些核心功能和用法。 1. **寻找注入点** SQL注入通常是通过检查HTTP请求中的参数是否能够影响数据库查询来发现的。例如,`sqlmap -u "url"` 可以尝试对指定URL进行注入测试。 2. **GET和POST方式** - GET方式:`sqlmap -u "url"`,其中URL包含一个问号(?)后的参数,表示GET请求的数据。 - POST方式:`sqlmap -u "http://testasp.vulnweb.com/Login.asp" --data "tfUName=1&tfUPass=1"`,在--data后面添加POST请求的数据。 3. **Cookie注入** 当注入点在Cookie中时,可以使用`--cookie`选项,如`sqlmap -u "url" --cookie "chsadj"`。 4. **Tamper插件** Tamper插件用于修改用户输入,以绕过WAF或网站过滤。例如,`sqlmap -u "url" -v3 --batch --tamper "sac.py"`,这里的`sac.py`是可用的tamper插件之一,可以在SQLmap的安装目录下查找更多插件。 5. **检测表和延时** - 自动检测表:`sqlmap -u "url" --forms` 可以扫描表单提交的注入点。 - 延时两秒:`sqlmap -u "url" --delay 2` 设置每个请求之间的延迟时间。 - 频率控制:`sqlmap -u "url" --safe-freq 3` 控制安全请求频率,防止被目标服务器屏蔽。 6. **处理伪静态链接** 对于伪静态链接,如`http://sfl.fzu.edu.cn/index.php/Index/view/id/40.html`,可以尝试在末尾加上`*`,让SQLmap处理。 7. **数据库操作** - 查看所有数据库:`sqlmap -u "url" --dbs` - 查看所有用户:`sqlmap -u "url" --users` - 查看当前数据库:`sqlmap -u "url" --current-db` - 查看当前用户:`sqlmap -u "url" --current-user` - 检查是否为DBA权限:`sqlmap -u "url" --is-dba` - 查看所有密码:`sqlmap -u "url" --passwords` - 查看主机名:`sqlmap -u "url" --hostname` - 查看用户权限:`sqlmap -u "url" privileges -U username` - 查看用户角色:`sqlmap -u "url" --roles` 8. **查看表格和列** 使用`sqlmap -u "url" --tables` 可以列出特定数据库中的所有表,然后使用`sqlmap -u "url" --columns --table "tableName"` 查看选定表中的列。 9. **其他高级功能** SQLmap还支持数据导出、数据库枚举、命令执行、文件系统操作等多种高级功能,可以根据具体需求灵活运用。 SQLmap是进行SQL注入测试的强大工具,它提供了丰富的选项和插件来适应不同的注入场景,帮助用户高效地检测和利用SQL注入漏洞。通过熟练掌握这些命令和技巧,可以更有效地进行安全测试和漏洞分析。