【安全漏洞】某CMS后台防护逻辑漏洞导致GETSHELL
源碼:
https://cdn.jsdelivr.net/gh/seacms-net/CMS@master/SeaCMS.zip
→點擊查看網絡安全學習資料·攻略←
1.2000多本網絡安全系列電子書
2.網絡安全標準題庫資料
3.項目源碼
4.網絡安全基礎入門、Linux、web安全、攻防方面的視頻
5.網絡安全學習路線圖
漏洞分析:
打開我們下載的源碼
漏洞源頭為“圖片水印設置”功能,對應的源碼文件為admin_config_mark.php
當我們后臺使用圖片設置功能時
點擊提交之后,這里首先調用了admin_config_mark.php文件,而這個文件的開頭加載了全局文件
繼續跟進config.php,這個文件中又引入了common.php
繼續跟進common.php文件
此時我們找到了最終加載的文件,而這個文件的功能是對全局的變量進行過濾防護。
這里最終調用的函數為_FilterAll
將參數傳入之后,框架會對每個參數使用addslashes函數進行轉義,原本我們傳入1’變為了1’,接著來到admin/admin_config_mark.php文件
這里就出現了處理參數的邏輯錯誤。對全局轉義過的參數又進行了一次替換操作,使用了str_replace函數將全部的單引號替換成了空,所以1’就變成了1\,此時字符串進行了拼接。
然后緊著這把字符串寫入了配置文件中
此時配置文件中寫入的數據如下,這就導致了將原本的單引號轉義掉了。此處我們就可以寫入任意代碼了。
最后
私我獲取【網絡安全技術學習資料·攻略】
總結
以上是生活随笔為你收集整理的【安全漏洞】某CMS后台防护逻辑漏洞导致GETSHELL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从一个被Tomcat拒绝的漏洞到特殊内存
- 下一篇: 一次内网靶场学习记录