Sqlmap介绍
Sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同的类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统目录。
Sqlmap获取
官网:http://sqlmap.org/
后台回复:SQLMAP(大写)
查看Sqlmap版本与帮助信息
1.查看Sqlmap版本信息
Windows:python.exe sqlmap.exe --version
linux(kali): sqlmap --version
后面演示以Linux为主
2.查看Sqlmap帮助
sqlmap -h / -hh
-h:显示简要帮助
-hh:显示高级帮助
Sqlmap直连数据库
Sqlmap支持直连数据库,可以通过以下命令来实现直连
服务型数据库:需要提前知道数据库的用户名和密码
sqlmap -d "mysql://admin:admin@127.0.0.1:3306" -f --banner --dbs --user
文件型数据库:需要提前知道数据库的绝对路径
DBMS://DATABASE_FILEPATH(SQLite、Microsoft Access、Firebird)
Sqlmap从文件中读取目标
Sqlmap支持从不同类型的文件中读取目标进行SQL注入探测
1. -l:从BurpSuit Proxy或WebScarab Prox中读取请求日志文件
2. -m:从Sitemap.xml站点地图中读取目标探测
3. -r:从文文本中读取HTTP请求作为SQL注入探测的目标
4. -c:从配置文件sqlmap.conf中读取目标探测
使用Google搜索批量扫注入
Sqlmap通过-g参数自动利用Google获取Google Hack的目标,然后利用交互向导模式进行SQL注入探测
sqlmap -g "inurl:\.php?id=1\"
使用Google进行 批量扫注入时,首先需要确保可以访问Google~
Sqlmap HTTP 参数设置
1.Sql设置HTTP方法
Sqlmap会自动在探测过程中使用合适的HTTP请求方法。但是在某些情况下,需要强制指定使用某种具体的HTTP请求方法,例如PUT等方法。
--method=PUT
2.Sqlmap使用POST提交参数
默认情况下,Sqlmap使用GET方式进行提交参数,但是有时候网站是通过POST方式进行提交数据,所以需要使用--data参数来进行指定数据提交方式为POST
sqlmap -u http://127.0.0.1/test.php --data "id=1"
3.Sqlmap设置参数分隔符
在某些情况下,Sqlmap需要覆盖默认参数的分隔符,才能正确的分割和单独处理每个参数,这时候需要使用--param-del=";"来指定参数之间的分隔符
sqlmap -u http://127.0.0.1/test.php --data "qury=footbar;id=1" --param-del=";"
4.Sqlmap设置Cookie头
sqlmap中用来设置cookie的参数:
--cookie
--cookie-del
--load-cookies
--drop-set-cookie
使用场景:
①Web应用程序具有基于Cookie验证的过程
②想利用Cookie值进行SQL注入
Sqlmap使用Cookie的方法:
①打开或浏览需要注入的页面
②使用代理截断或使用审计工具,查看Cookie的值进行复制
③在Sqlmap中使用 --cookie 来使用目标的Cookie值
如果在通信的过程中,Web应用程序使用Set-Cookie标头进行响应,Sqlmap将在所有进一步的HTTP请求中自动使用其值作为Cookie的标头,Sqlmap还将对这些值进行自动的SQL注入。
load-cookie:可以用来提供包含Netscape/wget格式的Cookie的特殊文件,如果需要对HTTP Cookie值进行注入,需要将探测等级设置为2 --level 2
下方查看历史文章
BlackArch Linux 2020版发布 新增120个渗透测试工具
扫描二维码
获取更多精彩
NowSec