<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    java審計之ofcms

    VSole2022-12-30 11:05:58

    Github地址如下:

    "https://github.com/yuzhaoyang001/ofcms"

    然后使用idea導入war包

    配置tomcat

    然后創建數據庫

    運行sql文件

    然后配置好數據庫文件

    根據自己安裝的mysql版本配置pom.xml

    后臺地址:http://localhost:8081/ofcms_admin_war/admin/login.html

    賬號,密碼 admin / 123456

    先大概過一遍功能點

    因為前臺看不到啥點所以就登錄到后臺觀看

    sql注入

    在這里抓包

    根據這個 找到 controller層

    發現這里接收sql參數 然后update執行  我們打上斷點來進行調試

    隨便輸入一個

    然后回到idea

    可以看到外面輸入的值

    進入update函數

    繼續

    經過一直調試

    最后進入到這里執行  這里采用了預編譯但是 是把整個sql語句進行預編譯 不是把sql的參數 這樣根本起不到效果

    并且還進行了回顯

    用報錯語句測試

    因為是executeUpdate

    所以只能用增刪改的sql語句

    update of_cms_ad set ad_id=updatexml(1,concat(1,user()),1)
    

    任意文件讀取

    但僅限讀取html js css xml文件

    這里默認只能讀取default里面的文件

    因為第一次審計 不太了解框架結構 所以點擊頁面的時候進行抓包來尋找Controller層

    在idea找到這個方法

    dir是當前目錄 也就是可查看代碼的目錄  這個是可控的 通過這里可以看出

    繼續往下跟

    pathFile 則是根據傳入的dir 獲取到絕對路徑

    跟到這里則可以看到只能返回html xml css js

    files則是default目錄下的html等文件的絕對路徑

    然后在通過傳的文件名 和 files里面的進行比較  默認是index.html

    通過這里讀取到源碼

    最后渲染到頁面上

    整個操作沒有對dir進行限制 然后我們又可控 就能夠讀取其他目錄的文件

    測試



    任意文件寫入

    還是上面這個Controller

    可以發現只獲取這幾個參數的值

    然后在這一行把content的進行了尖括號的替換

    沒有進行其他的過濾  可以任意寫入

    測試


    任意文件上傳

    看到一個上傳

    還是根據數據包 找到代碼

    這里代碼很少 一步一步跟進


    這里看不出什么 繼續跟進

    這里通過new MultipartRequest進行上傳文件

    跟進

    繼續

    這個函數沒發現什么


    發現這個函數

    會判斷jsp和jspx后綴

    這里可以就可以通過windows的特性 來進行繞過 上傳文件名為.jsp.

    測試


    第二處

    這個函數也是和上面一樣的 可以進行任意文件上傳

    這些都可以

    越權修改密碼

    先創建一個普通用戶

    然后登錄 修改密碼


    這里可以看到有一個user_id 修改這個 這里相當于 平常黑盒測試一樣 改為1

    可以看到admin的密碼也變成asd123了

    代碼分析 根據數據包找到controller

    根據日志也可以看到  是根據id來進行修改密碼的 沒有進行id和用戶的綁定

    有了修改密碼的前提  我們會想到修改資料這些


    模板注入

    在pom.xml發現cms使用freemarker

    在后臺存在模板的修改

    payload:<#assign value="freemarker.template.utility.Execute"?new()>${value("calc.exe")}


    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    java審計ofcms
    2022-12-30 11:05:58
    java審計ofcms
    Java審計其實和Php審計的思路一樣,唯一不同的可能是復雜的框架和代碼。
    Java程序使用ObjectInputStream對象的readObject方法將反序列化數據轉換為java對象。但當輸入的反序列化的數據可被用戶控制,那么攻擊者即可通過構造惡意輸入,讓反序列化產生非預期 的對象,在此過程中執行構造的任意代碼。
    MCMS 審計
    2022-10-08 15:57:56
    MCMS 是 J2EE 系統,完整開源的Java CMS,基于SpringBoot 2架構,前端基于vue、element ui。為開發者提供上百套免費模板,同時提供適用的插件,一套簡單好用的開源系統、一整套優質的開源生態內容體系。十天前 MCMS 更新了新的一版本 5.2.9 提示新版本進行了 SQL 安全方面的優化,所以我們嘗試 審計 MCMS 5.2.8環境搭建我們下載好安裝包后利用 idea 打開項目創建數據庫 mcms,導入 doc/mcms-5.2.8.sql修改 src/main/resources/application-dev.yml 中關于數據庫設置參數運行MSApplication.java main方法利用賬戶名:密碼?
    今天分享的主題是開源軟件漏洞挖掘實踐,主要講對于企業項目、開源項目審計的認識以及做代碼審計的經驗。
    在學習java反序列化的過程中,Commons Collections幾乎是反序列化學習中無法繞過的一關。也是各大ctf和awd的常見考點,作為java代碼審計的重要一環,我們今天就來解析一下Commons Collections利用鏈。
    域滲透實戰 vsmoon
    2023-11-14 10:40:10
    域滲透實戰 vsmoon
    審計test.php,當參數$a不為空,且讀取的文件中包含’I want flag’時,即可顯示$flag。所以我們一般對其進行編碼,讓其不執行。從而導致 任意文件讀取。POC1直接讀取xxx.php文件,但大多數時候很多信息無法直接顯示在瀏覽器頁面上,所以需要采取POC2中方法將文件內容進行base64編碼后顯示在瀏覽器上,再自行解碼。
    生產環境資產對外服務資產是紅隊密切的關注點。對于安全設備所覆蓋范圍進行有效排查,盡可能做到無死角全覆蓋。管理員應全面檢查系統、數據庫、對外服務相關權限設置,以確保最小權限原則,過期的授權應予以刪除。對于大中型企業的資產較多,端口管控較為困難,紅隊通過對端口發起有效入侵是最直接、最有效的途徑之一。為了更加安全,以防紅隊人員探測到web服務,也可
    項目安裝迷你天貓商城是一個基于Spring Boot的綜合性B2C電商平臺,需求設計主要參考天貓商城的購物流程:用戶從注冊開始,到完成登錄,瀏覽商品,加入購物車,進行下單,確認收貨,評價等一系列操作。作為迷你天貓商城的核心組成部分之一,天貓數據管理后臺包含商品管理,訂單管理,類別管理,用戶管理和交易額統計等模塊,實現了對整個商城的一站式管理和維護。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类