一次旁站信息泄露的dedecms站点渗透
今天又是準備劃水認真工作的一天,沒想到一到公司領導就甩了個站過來,這可能就是打工人吧
話不多說來看看站,先信息收集一波
初步測試目標站點
打開進去是一個類似購物商城的地方,沒有什么特殊的點,想要操作基本都要進行登錄,中間件是nginx
再看看插件,驚喜來了,是dedecms
先直接盲打一波后臺地址/dede 直接404......
再看看好歹有前臺,先注冊個用戶
再查看最后更新時間
可以知道是dedecms v5.7 sp2的版本
這個版本之后有前臺管理員密碼重置漏洞和任意密碼重置漏洞,可以試一下組合拳
1.先注冊個00001賬戶,因為00001經過intval()后值為1(用來登錄admin)
2.再訪問/member/index.php?uid=00001的用戶界面,獲取響應包的last_vid__ckMd5值
3.訪問/member/,替換DedeUserID為0001,DedeUserID__ckMd5的值為剛才的last_vid__ckMd5的值。
這時候就發現已經登錄了admin的賬戶
再將這個修改操作放到瀏覽器上,修改瀏覽器的cookie,成功在網頁上登錄
?
?
這時候再配合dedecms最新版任意用戶密碼重置漏洞修改管理員密碼
先點擊下面連接請求key
http://X.X.X.X/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=1
點擊之后,一閃而過的稍后跳轉到修改頁
馬上就變成非法提交。。。
?
?
再用開始的鏈接去訪問
但開始有請求成功的跳轉鏈接,應該還是成功生成了key,再看看瀏覽記錄,返回第一次的頁面,再用我的黃金右手快速點擊立即跳轉,成功進入重置界面。
這里稍微提一下,這里重置完密碼之后還要在前臺的賬戶設置里再此修改密碼,因為這個前臺修改任意用戶密碼的洞只能改dede_member表里的用戶信息,而管理員信息存在另一個表dede_admin中,所以要從前臺登錄管理員賬戶并修改dede_admin表里的密碼,才是真正修改了管理員密碼。
現在管理員賬戶密碼都有了,就差老大難問題,找后臺。
網上有些5.7 sp2的前臺getshell,但都是偽前臺,在sp1之后還是需要后臺地址才能getshell
網上有大佬寫的爆后臺腳本,但只在windwos上能用,現在目標是Linux的系統
旁站數據庫報錯文件找出后臺
經過一番查詢,發現dedecms的data下有個mysqli_error_trace.inc文件,此文件記錄mysql查詢錯誤,如果有后臺查詢出現錯誤則會暴露后臺路徑。但是主站的報錯都是plus目錄下的
通過前期的信息收集找到該網站的真實ip,發現是華為云
一般這種站只要有旁站大概率可能也有使用了dedecms的站
通過ip反查域名,發現其旁站大多數都是同類型的公司站點
當時我用的云悉,結果只查出來一個.......這個站還不是dede(打臉打臉)
又在fofa上查,結果有一堆旁站,隨便挑了一個域名直接把數據庫報錯文件的路徑拼接上去,果然出現了一個沒見過的路徑
拼接這個路徑到主站域名訪問,成功找到后臺
然后用之前拿到的管理員登陸后臺->上傳一句話->連接一氣呵成
bypass disable_function
準備執行命令驗證,發現函數都被禁用了
disable_functions : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv而且還有open_basedir限制了目錄訪問
為了方便繞過disable_function,先bypass open_basedir
可以使用代碼
但是哥斯拉內置了bypass open_basedir的插件,就直接上哥斯拉了。連上之后發現還是有挺多網站的。
再把哥斯拉內置的bypassdisable_functions模塊都試了一遍,都失敗了。
再看看當前收集到的信息,服務器是Linux的,服務器中的PHP是用FPM/FastCGI的連接模式啟動,當前目錄可寫
想到應該可以用PHP-FPM繞過disable_functions,在蟻劍中已經添加了這個bypass插件
先去插件市場下載安裝繞過disable_functions插件,然后加載進來,選擇PHP-FPM/FastCGI模式進行,FPM地址就用哥斯拉一頓亂找,Linux下可以看看/tmp目錄。
注意這里的tmp前一定要加/
?
操作成功后,會顯示成功上傳代理腳本和一個so文件,在webshell目錄下會多了個.antproxy.php文件,我們直接右鍵創建副本改地址為該代理PHP文件,再連接即可成功Bypass disable_functions:
提權
在瀏覽文件時發現存在phpmyadmin目錄,前期信息收集得知該站點使用了寶塔,寶塔一般默認把phpmyadmin搭建在888端口上面,但是該網站并沒有開啟888端口,而且bypass后的shell總是兩分鐘就掉,有寶塔,又是hvv害怕把服務器提崩....所以就暫時滲透到這里吧。
總結:
在滲透過程中如果主站和旁站是一個類型的站點,那他們的目錄結構也很可能相似,很多漏洞點也可能通用。
本文知識點:
1.通過dedecms最新版漏洞組合拳拿到管理員密碼。
2.旁站信息收集
3.繞過disable_functions禁用函數
4.繞過open_basedir目錄限制
總結
以上是生活随笔為你收集整理的一次旁站信息泄露的dedecms站点渗透的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入浅出KNN算法(二) sklearn
- 下一篇: 记一次糟心的内网靶场实战