使用sqlmap执行SQL注入并获取数据库用户名
Sqlmap介绍
sqlmap支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。
sqlmap支持五种不同的注入模式:
-
基于布尔的盲注,即可以根据返回页面判断条件真假的注入;
-
基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;
-
基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;
-
联合查询注入,可以使用union的情况下的注入;
-
堆查询注入,可以同时执行多条语句的执行时的注入。
sql注入探测
1.启动后端服务(含SQL注入漏洞)
2.拿到burpsuit请求文本
保存为:sqlinject.txt
,放到sqlmap根目录。
3.执行sqlmap注入命令
python sqlmap.py -r sqlinject.txt -f --level=3 --current-db --current-user
修复后再次探测
添加了SQL注入检查后,再次执行注入命令,发现监测到服务端报错了,无法拿到数据库信息了,完美!