【网络安全-sqlmap】sqlmap以及几款自动化sql注入工具的详细使用过程,超详细,SQL注入【5】

一,sqlmap 工具的详细使用

kali系统自带这个工具,无需安装直接sqlmap 后面接参数使用

Windows上参照以下方法安装即可

1-1 工具下载

1-1-1 sqlmap下载

sqlmap 工具下载地址:

GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover toolAutomatic SQL injection and database takeover tool - GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover toolicon-default.png?t=N7T8https://github.com/sqlmapproject/sqlmap

下载以后是压缩包格式,解压缩以后就有Python2.7环境就可以直接用了 

这是一款Python2写的工具,电脑需要安装Python2.7并配置好环境变量

1-1-2 安装Python2.7

1、通过 python 官网 找到 2.7 版本进行下载:Welcome to Python.orgThe official home of the Python Programming Languageicon-default.png?t=N7T8https://www.python.org/Python Release Python 2.7.18 | Python.orgThe official home of the Python Programming Languageicon-default.png?t=N7T8https://www.python.org/downloads/release/python-2718/ 

2,双击下载的安装包进行安装,按提示操作即可。我的安装目录为 D:\ruanjian\Python27

3,接下来配置环境变量 

此电脑右击-------属性--------高级系统设置 ------- 环境变量

 找到path双击

 

注意一个是Python.exe所在目录,另一个是scripts目录,需要配置两个 

 

最后确定,退出即可 

如果你电脑只有一个Python,则打开终端输入 python即可看到如下页面,说明安装成功了

因为我电脑装了三个版本,为了区分开,我得输入python2才可以 

到此Python安装成功 

1-2 工具参数

1-2-1 -r 参数

GET请求或者POST请求都可以用-r参数,后面可以跟一个网址或者一个数据包 

以pikachu靶场为例:先抓一个数据包过来

复制数据包内容,在sqlmap.py所在目录下创建一个1.txt 把内容粘贴过去 

 在sqlmap.py目录下打开终端按住shift,鼠标右击就可以看到终端),就可以用了

python2 .\sqlmap.py -r .\1.txt

提示已经发现目标服务器用的是MySQL数据库,是否继续探测是否用了其他数据库?

既然已经发现是mysql数据库了,就没必要去探测是不是用了别的数据库了,所以输入n就可以

下面讲到了一个risk和level这两个参数,说对所有测试是否保持默认等级,先讲一下这两个参数吧

1-1 --risk=RISK

工作当中常用的risk的值为3

python2 .\sqlmap.py -r .\1.txt --risk 3

执行测试的风险(0-3,默认为1),默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加or语句的sql注入测试

1-2 --level=LEVEL

工作当中常用的level的值为3

 执行测试等级(1-5,默认是1),使用-level 参数且数值 >= 2的时候也会检查cookie里面的参数,当>=3的时候会检查User-Agent 和 refer。

python2 .\sqlmap.py -r .\1.txt --level 3 --level 3

 

 

所以当level值越大,检测的数据项就越多 ,拿出来的数据越多,相对应的耗费的事件就比较长


所以对于这两个参数保持默认即可,如果没有返回数据,则可以调 

已经有一些结果出来了

结尾提示说‘已经检测到参数id是可注入的,是否继续测试别的参数’,我们就选择n,或者你想测试别的参数能不能注入也可以输入y继续测试

 已经有数据出来了,SQL注入的类型,数据库,中间件相关的信息等

 不过还没有获取数据,想要获取数据,我们就得继续学习其他数据

1-2-2 -v 参数

 python2 .\sqlmap.py -r .\1.txt -v 5

显示详细信息的意思,ERBOSE信息级别:0-6(默认为1)

0:只显示Python错误严重的信息

1:同时显示基本信息和警告信息

2:同时显示debug信息

3:同时显示注入的payload

4:同时显示HTTP请求

5:同时显示HTTP响应头

6:同时显示HTTP相应页面

比如说我们设置个5看看效果 ,显示的信息肯定会很多

1-2-3 -p 参数 

 python2 .\sqlmap.py -r .\1.txt -level 3 -p id

如果说我们通过 -r 指定的数据包中有多个参数,则可以用-p指定对哪个参数进行SQL注入

我们现在指定的数据包中只有一个参数,所以也只能只能一个参数了

我们指定了 -p id 则只针对id进行SQL注入,如果数据包中还有别的参数也可以指定

 1-2-4 --threads

这个参数不要调的很大,避免短时间内给目标服务器发大量请求,让服务器崩溃

线程数,如果你想让sqlmap跑的更快,可以更改这个线程数的数值,默认为10

比如: --threads 20,跑的可以更快了

我们还可以对所有参数的默认值进行调整,我们称之为sqlmap优化,配置文件如下路径

 1-2-5 -batch-smart

 python2 .\sqlmap.py -r .\1.txt -batch-smart

只能判断测试,只能寻找注入点进行测试

他做的事情很多,如果发现注入点给你自动进行注入,获取数据,不过效率不高,一般很少使用

数据库连接用户都查出来了 ,下面提示要不要尝试爆破,我们可以尝试爆破一下

 然后及时各种一顿操作猛如虎,发大量请求开始破解

 

这个智能指令会把数据库扒一遍,而且会把数据结果输出到文件中

sqlmap/output/dump文件夹中,没记错的话按日期存储的

1-2-6  -mobile 参数

 python2 .\sqlmap.py -r .\1.txt -mobile

模拟测试手机的环境站点,用的比较少,如果有个网站只允许手机访问,那么我们就可以用这个参数来模拟手机

每一次发包的时候把请求头User-Agent改成这些手机,从而模拟手机的数据包 

1-2-7 -m 参数

-m 是批量注入,比如现在有多个数据包,可以通过-m参数来批量注入

一般都是通过搜索引擎找到哦啊多个网站记录下来,然后通过-m参数来对这些网站批量注入 

比如我们现在准备多个网址,放到2.txt中

 python2 .\sqlmap.py -m .\2.txt

 

上面就是常用的参数,接下来介绍一些别的参数 

1-2-7 其他参数

--dbs: # 会获取所有的数据库 //sqlmap会自动的探测web应用后端的数据库类型
--current-user: ##大多数数据库中可检测到数据库管理系统当前用户
--current-db:##当前连接数据库名
--is-dba:##判断当前的用户是否为管理员
--users:# 列出数据库所有所有用户

7-1 --dbs 
 python2 .\sqlmap.py -r .\1.txt --dbs

7-2 --current-db 
 python2 .\sqlmap.py -r .\1.txt --current-db
7-3  --current-user
 python2 .\sqlmap.py -r .\1.txt --current-user

7-4 --is-dba
python2 .\sqlmap.py -r .\1.txt --is-dba

 

7-5 --users
python2 .\sqlmap.py -r .\1.txt --users

7-6 -tables -D 

获取表名

-D 指定数据库

 python2 .\sqlmap.py -r .\1.txt --tables -D pikachu
 7-7 --columns -T 'xx'  -D 'xx' 
python2 .\sqlmap.py -r .\1.txt --columns -T users -D pikachu

获取字段名

-T 指定表名

-D 指定数据库名

7-8 -T  'xx'  -C  'xx'  -D  'xx'

 python2 .\sqlmap.py -r .\1.txt -C username,password -T users -D pikachu

读取字段内容

-T 指定表名

-C 指定字段名

-D 指定库名

提示结果已经输出到了文件当中 ,C盘按照提示的目录去找一下

7-8 --file-read

自己试一下,我是win2003搭建的靶场,这命令不太灵

 python2 .\sqlmap.py -r .\1.txt --file-read /etc/password
7-9 --os-shell

这个是有前提条件的

1. mysql开启了secure_file_priv=""的配置 ---- 如何开启前面讲过了
2. 要知道网站代码的真实物理路径 ---------- 需要信息收集,通过别的方法来直到真实路径
3. 物理路径具备写入权限 ----------- 要不然木马写不进去
4. 最好是mysql的root用户,这个条件非必须,但是有最好

假设我们知道了真实路径 C:\tools\phpstudy\PHPTutorial\WWW 

python2 .\sqlmap.py -r .\1.txt --os-shell

pikachu是PHP开发的,我们选四 

让我们提供网站的路径,给了几个选项,第一个就是用sqlmap本身的字段去破解真实路径

第二个让我们自己提供,第三个让我们指定一个爆破字典 

 我们就选2,把真实路径输入进去

就这样getshell成功 

7-10 –proxy-file

自己参考一下下面格式

python2 .\sqlmap.py -r .\1.txt -proxy-file .\2.txt
2.txt 文件内容如下
## 文件内容如下:http://192.168.18.100:82http://192.168.18.101:82http://192.168.18.102:82http://192.168.18.103:82## 指令:sqlmap -u http://192.168.18.26:82/sqlserver/1.aspx?xxser=1 -proxy-file 1.txt## 代理ip我们可以去一些免费的网站找,比如:西祠代理和快代理
7-11 -proxy 代理链

自己参考一下下面格式

sqlmap -u http://192.168.18.26:82/sqlserver/1.aspx?xxser=1 -proxy http://192.168.18.100:82## 快代理:
sqlmap -u http://192.168.18.26:82/sqlserver/1.aspx?xxser=1 -proxy http://183.21.81.188:41825
7-12 --force-ssl 查询SSL证书

自己参考一下下面格式

sqlmap -u https://192.168.18.26:82/sqlserver/1.aspx?xxser=1 --force-ssl
7-13 --file-write 写webshell

自己参考一下下面格式

指令: --file-write "c:/2.txt” --file-dest “C:/php/htdocs/sql.php” -v 1
--file-write "c:/2.txt” --file-dest “C:\phpStudy\PHPTutorial\WWW\xx.php” -v 1

二,穿山甲

(需要工具或者靶场环境请留言,工具靶场等我晚点上传到网盘上)

以凡诺企业网站管理系统这个靶场为例,进行演示

我们发现新闻中心这里存在注入点

工具就长这样,把存在注入点的网址复制过来 

 

我专门写过一篇博客,就是对这个凡诺企业系统网站进行手动SQL注入,链接如下

【网络安全-SQL注入】SQL注入----一篇文章教你access数据库SQL注入以及注入点利用。SQL注入【3】-CSDN博客本篇文章以凡诺企业网站管理系统为例,讲解了access数据库是如何进行SQL注入的,以及注入点如何利用,如何判断查询字段个数,如果用联合查询爆出数据库数据等;【网络安全-SQL注入】SQL注入----一篇文章教你access数据库SQL注入以及注入点利用。SQL注入【3】;https://blog.csdn.net/m0_67844671/article/details/133469076?spm=1001.2014.3001.5502

我们知道这是Access数据库,id是个整数类型,设置好了以后就开始 

 

让我们选择获取哪些信息,比如数据库路径,网站根路径,驱动信息等

我们选择所有,点击开始 

 

 

已经停止了,看到stopped表示停止了,点击获取数据 

 点击获取表

 获取出来几个表了,我们选中以后可以继续获取列,获取数据

 可以点击all获取所有数据

 列信息已经获取了,

 先选中列,点击获取数据开始获取数据库数据

 

工具差不多就讲到这里,还是sqlmap功能比较强大,平时sqlmap用的多 

三,萝卜头

还是以凡诺企业管理系统化为例

输入网址,Database选择MsAccess 直接开始analyze就可以

可以看到下面已经有info消息了

点击tables 然后 GetDBs可以获取数据库,继续GetTables可以获取表,GetCumns可以获取列,GetDate获取数据,还有别的功能,可以研究研究

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147721.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

获取网卡上的IP、网关及DNS信息,获取最佳路由,遍历路由表中的条目(附源码)

VC常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...&a…

flutter开发实战-应用更新apk下载、安装apk、启动应用实现

flutter开发实战-应用更新apk下载、安装apk、启动应用实现 在开发过程中,经常遇到需要更新下载新版本的apk文件,之后进行应用更新apk下载、安装apk、启动应用。我们在flutter工程中实现下载apk,判断当前版本与需要更新安装的版本进行比对判断…

【强化算法专题一】双指针算法

【强化算法专题一】双指针算法 1.双指针算法--移动零2.双指针算法--复写零3.双指针算法--快乐数4.双指针算法--盛水最多的容器5.双指针算法--有效三角形的个数6.双指针算法--和为s的两个数7.双指针算法--三数之和8.双指针算法--四数之和 1.双指针算法–移动零 算法原理解析----…

普通人需要做副业吗?有什么合适的副业

普通人现在需要做副业吗,我觉得有这个必要,当然也要根据个人情况选择,那么做副业有什么好处呢?做副业可以带来额外的收入,增加灵活性,提升技能,发展创造力,降低风险,提供…

计算机竞赛 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满…

【高强度聚焦超声模拟器】模拟分层介质中的高强度聚焦超声波束和加热效应(Matlab代码)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

实体行业数字化转型怎么做?线上线下相结合的新零售体系怎么做?

如今,实体行业想要取得收入增长,只做线下业务或者只做线上业务,在当前的市场环境中是难以长久生存的,因此一定要线上线下相结合,将流量运作与线下转化进行充分结合,才能更好地发挥实体优势,带来…

Java后端模拟面试,题集①

1.Spring bean的生命周期 实例化 Instantiation属性赋值 Populate初始化 Initialization销毁 Destruction 2.Spring AOP的创建在bean的哪个时期进行的 (图片转载自Spring Bean的完整生命周期(带流程图,好记)) 3.MQ如…

毛玻璃用户卡交互

效果展示 页面结构组成 从效果展示可以看到&#xff0c;此效果都是比较常规的。主要的核心就是卡片的悬停效果。 CSS 知识点 backdrop-filter 回顾transitiontransform 页面基础布局实现 <section><div class"container"><div class"card&q…

第8期ThreadX视频教程:应用实战,将裸机工程移植到RTOS的任务划分,驱动和应用层交互,中断DMA,C库和中间件处理等注意事项

视频教程汇总帖&#xff1a;【学以致用&#xff0c;授人以渔】2023视频教程汇总&#xff0c;DSP第12期&#xff0c;ThreadX第8期&#xff0c;BSP驱动第26期&#xff0c;USB实战第5期&#xff0c;GUI实战第3期&#xff08;2023-10-01&#xff09; - STM32F429 - 硬汉嵌入式论坛 …

【springboot3.x 记录】关于spring-cloud-gateway引入openfeign导致的循环依赖问题

最近升级springboot3真是一挖一个坑&#xff0c;又给我发现了 spring-cloud-gateway 引入 openfeign 会导致循环依赖异常&#xff0c;特此记录一下这个坑 一、发现问题 网关里面有一个全局的过滤器&#xff0c;因为要查询一些配置信息&#xff0c;目前是通过 feign client 的方…

掌机小霸王,开源俄罗斯方块小游戏

俄罗斯方块试玩gi PC或手机 点开即玩: https://chvin.github.io/react-tetris/?lanzh-cn 也可以扫码开玩: 实现了数据的持久化 游戏进度的数据可以持久存储到本地浏览器, 即使刷新网页也无需重新开始游戏 小结: 俄罗斯方块属于超级经典的游戏, 感兴趣可以玩一下, 找回一点童…

【初识Linux】上

初识Linux上 一、Linux背景1.1 UNIX发展的历史1.2 UNIX发展的历史 二、开源三、官网Linux官网 四、企业应用现状五、发行版本六、 os概念&#xff0c;定位 本博客简介 初始Linux操作系统初识shell命令 ,了解若干背景知识。使用常用Linux命令了解Linux权限概念与思想,能深度理解…

AMD GPU 内核驱动分析(三)-dma-fence 同步工作模型

在Linux Kernel 的AMDGPU驱动实现中&#xff0c;dma-fence扮演着重要角色&#xff0c;AMDGPU的Render/解码操作可能涉及到多个方面同时引用buffer的情况&#xff0c;以渲染/视频解码场景为例&#xff0c;应用将渲染/解码命令写入和GPU共享的BUFFER之后&#xff0c;需要将任务提…

海外媒体发稿:商务视频推广销售利器之完全指南

在当今数字化时代&#xff0c;商务视频推广已经成为了企业获取市场份额和提升销售业绩的重要手段。视频作为一种视听媒体&#xff0c;拥有更强大的感染力和传达信息的能力&#xff0c;因此在各种销售场景中得到了广泛应用。本文为大家提供了一份完全指南&#xff0c;帮助你了解…

代码随想录Day9 栈与队列 LeetCodeT20 有效的括号 T1047 删除字符串中所有相邻重复项 T150 逆波兰表达式求值

题目详细思路和解法来自于:代码随想录 (programmercarl.com) LeetCode T20 有效的括号 题目思路 这道题分为三种情况 1.左括号多了 ([{}]() 2.括号不匹配 [{(]}] 3.右括号多了 []{}()))) 处理思路:我们在遇到左括号的时候,直接入栈其对应的右括号即可…

【Java】微服务——微服务介绍和Eureka注册中心

目录 1.微服务介绍2.服务拆分和远程调用2.1.提供者与消费者 3.Eureka注册中心3.1.Eureka的结构和作用3.2.Eureka的结构3.3.搭建Eureka服务3.3.1.引入eureka依赖3.3.2.编写配置文件 3.4.服务注册及拉1&#xff09;引入依赖2&#xff09;配置文件3&#xff09;启动多个user-servi…

UE5.1编辑器拓展【二、脚本化资产行为,快速更改资产名字,1.直接添加前缀或后缀2.通过资产类判断添加修改前缀】

目录 了解相关的函数 第一种做法&#xff1a;自定义添加选择资产的前缀或后缀 代码 效果 第二种做法&#xff1a;通过映射来获取资产类型添加前缀和修改前缀 映射代码 代码 效果 在之前一章中&#xff0c;我们创建了插件&#xff0c;用来扩展编辑器的使用&#xff1a; …

【高阶数据结构】哈希(哈希表、哈希桶)

⭐博客主页&#xff1a;️CS semi主页 ⭐欢迎关注&#xff1a;点赞收藏留言 ⭐系列专栏&#xff1a;C进阶 ⭐代码仓库&#xff1a;C进阶 家人们更新不易&#xff0c;你们的点赞和关注对我而言十分重要&#xff0c;友友们麻烦多多点赞&#xff0b;关注&#xff0c;你们的支持是我…

微服务技术栈-认识微服务和第一个微服务Demo

文章目录 前言一、认识微服务二、微服务技术栈三、Eureka注册中心四、微服务DEMO1、搭建eureka-server2、服务注册和服务发现 总结 前言 随着业务的不断复杂&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。 本章就从微服…