1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        如何防范SpringBoot 相關(guān)漏洞?

        共 10768字,需瀏覽 22分鐘

         ·

        2021-09-02 18:54

        Spring Boot可能是習(xí)慣于用Java的小伙伴們用的最多的一種應(yīng)用框架,但是各位程序猿小伙伴知不知道Spring Boot有哪些平時不容易注意到的漏洞需要避免呢?

        小編今天就給大家介紹一個GitHub上關(guān)于Spring Boot漏洞大集合的項(xiàng)目,不過要注意的是,這個項(xiàng)目的初衷可是讓大家研究和測試這些漏洞,以防自己的程序留下不安全的后門,可不要故意使用這些漏洞造成他人的損害喲~

        小編先帶大家看下整個項(xiàng)目的目錄:

        - Spring Boot Vulnerability Exploit Check List
          - 零:路由和版本
            - 0x01:路由知識
            - 0x02:版本知識
              - 組件版本的相互依賴關(guān)系:
              - Spring Cloud 與 Spring Boot 版本之間的依賴關(guān)系:
              - Spring Cloud 小版本號的后綴及含義:
          - 一:信息泄露
            - 0x01:路由地址及接口調(diào)用詳情泄漏
            - 0x02:配置不當(dāng)而暴露的路由
            - 0x03:獲取被星號脫敏的密碼的明文 (方法一)
              - 利用條件:
              - 利用方法:
                - 步驟一: 找到想要獲取的屬性名
                - 步驟二:jolokia 調(diào)用相關(guān) Mbean 獲取明文
            - 0x04:獲取被星號脫敏的密碼的明文 (方法二)
              - 利用條件:
              - 利用方法:
                - 步驟一: 找到想要獲取的屬性名
                - 步驟二: 使用 nc 監(jiān)聽 HTTP 請求
                - 步驟三: 設(shè)置 eureka.client.serviceUrl.defaultZone 屬性
                - 步驟四: 刷新配置
                - 步驟五: 解碼屬性值
            - 0x05:獲取被星號脫敏的密碼的明文 (方法三)
              - 利用條件:
              - 利用方法:
                - 步驟一: 找到想要獲取的屬性名
                - 步驟二: 使用 nc 監(jiān)聽 HTTP 請求
                - 步驟三: 觸發(fā)對外 http 請求
                - 步驟四: 刷新配置
            - 0x06:獲取被星號脫敏的密碼的明文 (方法四)
              - 利用條件:
              - 利用方法:
                - 步驟一: 找到想要獲取的屬性名
                - 步驟二: 下載 jvm heap 信息
                - 步驟三: 使用 MAT 獲得 jvm heap 中的密碼明文
          - 二:遠(yuǎn)程代碼執(zhí)行
            - 0x01:whitelabel error page SpEL RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:找到一個正常傳參處
                - 步驟二:執(zhí)行 SpEL 表達(dá)式
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x02:spring cloud SnakeYAML RCE
              - 利用條件:
              - 利用方法:
                - 步驟一: 托管 yml 和 jar 文件
                - 步驟二: 設(shè)置 spring.cloud.bootstrap.location 屬性
                - 步驟三: 刷新配置
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x03:eureka xstream deserialization RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:架設(shè)響應(yīng)惡意 XStream payload 的網(wǎng)站
                - 步驟二:監(jiān)聽反彈 shell 的端口
                - 步驟三:設(shè)置 eureka.client.serviceUrl.defaultZone 屬性
                - 步驟四:刷新配置
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x04:jolokia logback JNDI RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:查看已存在的 MBeans
                - 步驟二:托管 xml 文件
                - 步驟三:準(zhǔn)備要執(zhí)行的 Java 代碼
                - 步驟四:架設(shè)惡意 ldap 服務(wù)
                - 步驟五:監(jiān)聽反彈 shell 的端口
                - 步驟六:從外部 URL 地址加載日志配置文件
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x05:jolokia Realm JNDI RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:查看已存在的 MBeans
                - 步驟二:準(zhǔn)備要執(zhí)行的 Java 代碼
                - 步驟三:托管 class 文件
                - 步驟四:架設(shè)惡意 rmi 服務(wù)
                - 步驟五:監(jiān)聽反彈 shell 的端口
                - 步驟六:發(fā)送惡意 payload
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x06:restart h2 database query RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:設(shè)置 spring.datasource.hikari.connection-test-query 屬性
                - 步驟二:重啟應(yīng)用
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x07:h2 database console JNDI RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:訪問路由獲得 jsessionid
                - 步驟二:準(zhǔn)備要執(zhí)行的 Java 代碼
                - 步驟三:托管 class 文件
                - 步驟四:架設(shè)惡意 ldap 服務(wù)
                - 步驟五:監(jiān)聽反彈 shell 的端口
                - 步驟六:發(fā)包觸發(fā) JNDI 注入
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x08:mysql jdbc deserialization RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:查看環(huán)境依賴
                - 步驟二:架設(shè)惡意 rogue mysql server
                - 步驟三:設(shè)置 spring.datasource.url 屬性
                - 步驟四:刷新配置
                - 步驟五:觸發(fā)數(shù)據(jù)庫查詢
                - 步驟六:恢復(fù)正常 jdbc url
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x09:restart logging.config logback JNDI RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:托管 xml 文件
                - 步驟二:托管惡意 ldap 服務(wù)及代碼
                - 步驟三:設(shè)置 logging.config 屬性
                - 步驟四:重啟應(yīng)用
              - 漏洞原理:
              - 漏洞分析:
              - 漏洞環(huán)境:
            - 0x0A:restart logging.config groovy RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:托管 groovy 文件
                - 步驟二:設(shè)置 logging.config 屬性
                - 步驟三:重啟應(yīng)用
              - 漏洞原理:
              - 漏洞環(huán)境:
            - 0x0B:restart spring.main.sources groovy RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:托管 groovy 文件
                - 步驟二:設(shè)置 spring.main.sources 屬性
                - 步驟三:重啟應(yīng)用
              - 漏洞原理:
              - 漏洞環(huán)境:
            - 0x0C:restart spring.datasource.data h2 database RCE
              - 利用條件:
              - 利用方法:
                - 步驟一:托管 sql 文件
                - 步驟二:設(shè)置 spring.datasource.data 屬性
                - 步驟三:重啟應(yīng)用
              - 漏洞原理:
              - 漏洞環(huán)境:
              

        以信息泄露為例,對于0x01:路由地址及接口調(diào)用詳情泄漏,項(xiàng)目描述到:

        開發(fā)人員沒有意識到地址泄漏會導(dǎo)致安全隱患或者開發(fā)環(huán)境切換為線上生產(chǎn)環(huán)境時,相關(guān)人員沒有更改配置文件,忘記切換環(huán)境配置等

        可以直接訪問以下兩個 swagger 相關(guān)路由,驗(yàn)證漏洞是否存在:

        /v2/api-docs
        /swagger-ui.html

        其他一些可能會遇到的 swagger、swagger codegen、swagger-dubbo 等相關(guān)接口路由:

        /swagger
        /api-docs
        /api.html
        /swagger-ui
        /swagger/codes
        /api/index.html
        /api/v2/api-docs
        /v2/swagger.json
        /swagger-ui/html
        /distv2/index.html
        /swagger/index.html
        /sw/swagger-ui.html
        /api/swagger-ui.html
        /static/swagger.json
        /user/swagger-ui.html
        /swagger-ui/index.html
        /swagger-dubbo/api-docs
        /template/swagger-ui.html
        /swagger/static/index.html
        /dubbo-provider/distv2/index.html
        /spring-security-rest/api/swagger-ui.html
        /spring-security-oauth-resource/swagger-ui.html

        除此之外,下面的 spring boot actuator 相關(guān)路由有時也會包含(或推測出)一些接口地址信息,但是無法獲得參數(shù)相關(guān)信息:

        /mappings
        /metrics
        /beans
        /configprops
        /actuator/metrics
        /actuator/mappings
        /actuator/beans
        /actuator/configprops

        一般來講,暴露出 spring boot 應(yīng)用的相關(guān)接口和傳參信息并不能算是漏洞,但是以 "默認(rèn)安全" 來講,不暴露出這些信息更加安全。

        對于攻擊者來講,一般會仔細(xì)審計(jì)暴露出的接口以增加對業(yè)務(wù)系統(tǒng)的了解,并會同時檢查應(yīng)用系統(tǒng)是否存在未授權(quán)訪問、越權(quán)等其他業(yè)務(wù)類型漏洞。

        是不是淺顯易懂,一下子就講明白了整個漏洞的原理及校驗(yàn)方式?看完整個項(xiàng)目,一定能讓大家學(xué)會如何利用方法和技巧,做到黑盒安全評估!想學(xué)習(xí)的小伙伴,趕緊跟著小編一起上車!

        點(diǎn)擊下方卡片,關(guān)注公眾號“TJ君

        回復(fù)“漏洞”,獲取項(xiàng)目地址

        瀏覽 71
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            同性尺度做爰无遮挡露器官漫画 | 男生操女生的逼逼 | 99视频在线精品 | 伦理片中文字幕 | www色视频岛国 | 色999精品 | 国产女人18毛片水真多1kt∧ | 97国内自拍视频 | 毛片视频网站 | 夜夜拍天天干 |