论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
sqlmap的安装及使用教程
sqlmap的安装及使用教程
反转基因福娃
金牌会员
|
2023-7-28 07:43:31
|
显示全部楼层
|
阅读模式
楼主
主题
937
|
帖子
937
|
积分
2811
1. sqlmap简介
sqlmap 是一个开源渗透测试工具,可自动检测和利用 SQL 注入缺陷并接管数据库服务器,支持多种数据库和多种注入技术。
2. sqlmap安装
sqlmap是基于python环境的,因此安装前需要安装python环境。
sqlmap不支持python3及以上,推荐使用python2.7 !!
2.1 python2.7环境的安装和配置
python2.7官方下载地址:
Python 2.7.0 Release | Python.org
下载好后安装即可。安装之后需要配置环境变量,右键此电脑--属性--高级系统设置--环境变量 或者按win键直接搜索环境变量
在用户变量或者环境变量的path中进行配置
点击编辑,新建如下两个环境变量,注意替换成你自己的python27目录
D:\work\Python\Python27\Scripts\
复制代码
D:\work\Python\Python27\
复制代码
如果你的电脑除了安装了python2.7外还安装了其他版本,由于sqlmap不支持3以上版本,为了正常使用避免冲突,有两种方法:
将python2.7的两个环境变量上移到python3.9的两个环境变量的上面,如我上图所示。这样使用python xxx命令时会优先使用python2.7,而不是其他版本;
打开python的安装目录,将python.exe和pythonw.exe文件分别重命名为python2.exe和pythonw2.exe,这样我们可以使用python2 xxx来执行python2.7。同理你也可以进入python3.x的目录将python.exe pythonw.exe 重命名为python3.exe pythonw3.exe,这样可以通过python3 xxx来执行python3.x。
推荐使用这种方法。
2.2 sqlmap的安装
sqlmap官方下载地址:
sqlmap:自动SQL注入和数据库接管工具
下载压缩包,并解压到python2.7的目录下
进入sqlmap文件夹,在此文件夹中打开控制台(可以在上方地址栏输入cmd回车快速打开)
输入命令python2 sqlmap.py或者python2 sqlmap.py -h检验是否成功,出现如图所示界面就代表成功了。
每次运行sqlmap时,都要进入到目录中打开cmd,比较麻烦,因此我们可以配置一种快捷的方式去打开。我们可以配置一个批处理文件或者一个快捷方式去打开,这里介绍配置一个快捷方式。
在桌面新建一个快捷方式,对象位置输入cmd,点击下一步,给这个快捷方式取一个名称,我们可以取名叫sqlmap,点击完成。然后右键这个快捷方式,点击属性,将起始位置改为你的sqlmap目录,点击确定。
然后我们打开快捷方式,就直接进入到sqlmap目录下了,直接输入python2 sqlmap.py就可以运行了。
3. sqlmap的简单使用
我们可以在本地搭建一个靶场,用于进行我们的sql注入测试,这里使用了DVWA靶场,DVWA是一个开源的支持多种攻击方式的靶场,搭建教程可以查看本人的另外一个教程:
搭建本地DVWA靶场教程 及 靶场使用实例 - tuuli - 博客园 (cnblogs.com)
GET注入
使用-u参数后面接url,url中的参数使用?拼接
python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit"
复制代码
在运行时会有一些选项让我们选择Y/N,可以直接回车或者按推荐的进行选择(大写字母的即为推荐的)。
如运行后出现了以下选项:
第一次选项提示我们,已经找到了当前数据库为mysql,是否跳过检测其他数据库;
第二次选项提示我们,在“ level 、riskl ”的情况下,是否使用 MySQL 对应的所有 payload 进行检测;
第三次选项提示我们,已经找到了参数id存在注入漏洞,是否继续检测其它参数。
运行后我们可以看到id这个参数存在sql注入漏洞
POST注入
post注入与get注入同理,我们只需要在后面使用--data=" "来写post参数即可,如
python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli" --data="id=1"
复制代码
查询当前使用的数据库名称
python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" --current-db
复制代码
查询所有数据表
使用-D "xx"参数来指定数据库,使用--tables参数来查询数据表
python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" -D "dvwa" --tables
复制代码
查询表中数据
使用-T "xx"来指定表名,使用--dump来查询当前条件下的所有数据,也可以不指定表名,只指定数据库,这样可以查询出该数据库下所有表的所有数据。
python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" -D "dvwa" -T "users" --dump
复制代码
除此之外,还可以查询更多数据,如当前的数据库版本、当前的数据库用户、数据库密码等,可以使用不同的命令执行不同的操作。具体的操作和命令可查看github上官方的使用文档,或者在控制台中使用-h参数来查看帮助。
官方GitHub:
GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool
官方文档:
Usage · sqlmapproject/sqlmap Wiki · GitHub
参考文章:
sqlmap详细使用教程_星落.的博客-CSDN博客
DVWA靶场搭建教程:
搭建本地DVWA靶场教程 及 靶场使用实例 - tuuli - 博客园 (cnblogs.com)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
反转基因福娃
金牌会员
这个人很懒什么都没写!
楼主热帖
设计模式---组合模式
【Unity3D】Transform组件
Spark快速上手(4)Spark核心编程-Spark ...
拿到12家offer,想给大家分享一下面试 ...
【渗透攻击】PowerShell与Shell 有什么 ...
echarts使用及遇到的问题
如何将鸿蒙(harmonyOS)系统退回安卓 ...
写了这么久Java项目,是否还记得你的第 ...
软件工程经济学第一章
[工具使用]SqlMap
标签云
存储
服务器
快速回复
返回顶部
返回列表