MySQL下的特殊蜜罐

/fd (/proc) ‫() | 2014-02-10 23:44

Slideshow: http://www.slideshare.net/qqlan/database-honeypot-by-design-25195927

場景:假設你在渗透時發現了未移除的安装文件(install.php),然後你用裡面的數據庫配置遠程连接...

MySQL裡有這樣的一句語句LOAD DATA INFILE,用處是讀取本地的檔案

整個流程是:

  1. Client 發出包含LOAD DATA INFILE的query

  2. Server 向Client 回應讀取本地檔案的請求

  3. Client 返回檔案

那麼能否忽略第一步 只向Client 回應讀取本地檔案的請求?答案是可以的

這裡我們略略修改一下Server端的回應就成了一個蜜罐

新的流程:

  1. Client 發出任何query請求

  2. Server 向Client 回應讀取本地檔案的請求

  3. Client 返回檔案

也就是說,你想入侵我的MySQL嗎?你得給我你的檔案作交換!

[原文地址]

相关讨论:

1#

xsser (十根阳具有长短!!) | 2014-02-10 23:45

Oh shit~

2#

光的圆周率 (等级:二逼白帽子) | 2014-02-10 23:52

Come on!

3#

phith0n | 2014-02-10 23:54

好思路!

4#

nauscript (Those who cultivated with their tears will finally cheer with harvest.) | 2014-02-10 23:59

够猥琐

5#

无敌L.t.H (:‮门安天京北爱我Ѿ) | 2014-02-11 00:06

貌似LOAD DATA INFILE是客户端发起的,服务端只能接收而已……

6#

无敌L.t.H (:‮门安天京北爱我Ѿ) | 2014-02-11 00:15

6.1.6. Security Issues with LOAD DATA LOCAL

官方已经提过这个问题了

7#

sipcer (xss) | 2014-02-11 00:18

mark!

8#

/fd (/proc) ‫() | 2014-02-11 00:35

@无敌L.t.H

這是針對客户端的蜜罐 不是Security Issues

9#

/fd (/proc) ‫() | 2014-02-11 00:53

@/fd 官方說的不夠清楚

a patched server could be built that would tell the client program to transfer a file of the server's choosing rather than the file named by the client in the LOAD DATA statement

原文只提到要讀取的檔案可以不同於客户端的請求,但這裡是針對任意query

10#

无敌L.t.H (:‮门安天京北爱我Ѿ) | 2014-02-11 01:20

我用WPE改包测试了,貌似客户端不接受。

11#

hqdvista (...) | 2014-02-11 10:23

oh shit

12#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2014-02-11 10:59

holy shit!