中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

龍海網(wǎng)站建設(shè)哪家好關(guān)鍵詞拓展工具有哪些

龍海網(wǎng)站建設(shè)哪家好,關(guān)鍵詞拓展工具有哪些,廣州網(wǎng)站優(yōu)化地址,廈門自助網(wǎng)站建設(shè)報價前言 關(guān)于shrio漏洞,網(wǎng)上有很多博文講解,這些博文對漏洞的解釋似乎有一套約定俗成的說辭,讓人云里來云里去,都沒有對漏洞產(chǎn)生的原因深入地去探究..... 本文從現(xiàn)象到本質(zhì),旨在解釋清楚Shrio漏洞是怎么回事&#xff01…
前言

關(guān)于shrio漏洞,網(wǎng)上有很多博文講解,這些博文對漏洞的解釋似乎有一套約定俗成的說辭,讓人云里來云里去,都沒有對漏洞產(chǎn)生的原因深入地去探究.....

本文從現(xiàn)象到本質(zhì),旨在解釋清楚Shrio漏洞是怎么回事! 550和721到底有什么區(qū)別!兩者利用前提到底是什么?(有別于網(wǎng)絡(luò)上的解釋,如有錯誤還望大佬及時指正)。

shiro框架產(chǎn)品介紹

Apache Shiro是一個強大且易于使用的Java安全框架,用于身份驗證、授權(quán)、加密和會話管理。它為應(yīng)用程序提供了諸如用戶認(rèn)證、角色和權(quán)限檢查、會話管理等安全功能,使開發(fā)人員能夠輕松地集成安全性需求而不必過多關(guān)注實現(xiàn)細(xì)節(jié)。

Apache Shiro的主要特點包括:

  1. 身份驗證(Authentication):支持多種身份驗證機制,包括基于用戶名密碼的認(rèn)證、基于LDAP的認(rèn)證、基于OAuth的認(rèn)證等。

  2. 授權(quán)(Authorization):提供簡單且靈活的授權(quán)管理機制,可以基于角色、權(quán)限字符串或自定義邏輯進(jìn)行訪問控制。

  3. 會話管理(Session Management):支持會話管理功能,包括會話存儲、會話超時管理等,能夠幫助開發(fā)人員管理用戶的會話狀態(tài)。

  4. 加密(Cryptography):提供加密算法和工具類,用于對用戶密碼和其他敏感數(shù)據(jù)進(jìn)行加密處理。

  5. Web集成:對Web應(yīng)用程序提供了方便的集成支持,可以輕松地與各種主流的Java Web框架(如Spring、Struts、JSF等)結(jié)合使用。

總的來說,Apache Shiro為Java應(yīng)用程序提供了一套完整的安全解決方案,使開發(fā)人員能夠?qū)W⒂跇I(yè)務(wù)邏輯的開發(fā),而無需過多關(guān)注安全細(xì)節(jié)的實現(xiàn)。

shiro550漏洞原理

(1)shiro在登錄處提供了Remember Me這個功能,來記錄用戶登錄的憑證,然后shiro會對用戶傳入的cookie進(jìn)行解密進(jìn)行反序列化,服務(wù)端接收rememberMe的cookie值后的操作是:Cookie中rememberMe字段內(nèi)容---> Base64解碼---> 使用密鑰進(jìn)行AES-CBC解密---> 反序列化

(2)由于該版本AES加密的密鑰Key被硬編碼在代碼里(漏洞能夠被利用的本質(zhì)),且大部分項目未修改默認(rèn)AES密鑰,這意味著攻擊者只要通過源代碼找到AES加密的密鑰,就可以構(gòu)造一個惡意對象,對其進(jìn)行序列化,AES加密,Base64編碼,然后將其作為cookie的Remember Me字段值發(fā)送,Shiro將數(shù)據(jù)進(jìn)行解密并且反序列化,最終觸發(fā)反序列化漏洞。

(3)處理Cookie的類是CookieRememberMeManaer,該類繼承AbstractRememberMeManager類,跟AbstractRememberMeManager類,很容易看到AES的key。org.apache.shiro.mgt.AbstractRememberMeManager ——kPH+bIxk5D2deZiIxcaaaA==

shiro框架驗證

1.未登錄的情況下,請求包的cookie中沒有rememberMe字段,返回包set-Cookie里也沒有deleteMe字段

2、登錄失敗的話,不管有沒有勾選RememberMe字段,返回包都會有 rememberMe= deleteMe 字段

3.不勾選RememberMe,登錄成功的話,返回包set-Cookie里有rememberMe=deleteMe字段。但是之后的所有請求中Cookie都不會有RememberMe字段

4.勾選RememberMe,登錄成功的話,返回包set-Cookie里有rememberMe=deleteMe字段,還會有remember 字段,之后的所有請求中Cookie都會有rememberMe字段

5.可以在cookie后面自己加一個rememberMe=1,看返回包有沒有rememberMe= deleteMe

shiro550漏洞復(fù)現(xiàn)

shiro550利用條件
0.Shiro <= 1.2.4中
1.aes加密的key
2.目標(biāo)服務(wù)器含有可利用的攻擊鏈。

工具準(zhǔn)備

這是一款專門針對shiro漏洞利用的工具,寫的確實不錯。直接拿過來一把梭哈

靶場搭建

查看web界面

shrio框架驗證

開始漏洞攻擊,輸入shiro的默認(rèn)密鑰,檢測當(dāng)前利用鏈

命令執(zhí)行

shiro720漏洞原理

在Shiro550漏洞中,Cookie所使用的AES加密密鑰為硬編碼,所以我們可以構(gòu)造惡意序列化數(shù)據(jù)并使用固定的AES密鑰進(jìn)行正確加密惡意序列發(fā)送給服務(wù)端,進(jìn)而達(dá)到攻擊的目的。但在該漏洞公布后,Shiro官方修復(fù)了這一漏洞,將AES密鑰修改成了動態(tài)生成。也就是說,對于每一個Cookie,都是使用不同的密鑰進(jìn)行加解密的。

public AbstractRememberMeManager() {this.serializer = new DefaultSerializer<PrincipalCollection>();AesCipherService cipherService = new AesCipherService();this.cipherService = cipherService;setCipherKey(cipherService.generateNewKey().getEncoded());}

具體的密鑰產(chǎn)生調(diào)試參考

Java反序列化漏洞——Shiro721 - 楓のBlog

CBC字節(jié)翻轉(zhuǎn)攻擊&Padding Oracle Attack原理

簡單介紹下這個加密過程

CBC字節(jié)翻轉(zhuǎn)攻擊

CBC要求第一個分組的明文在加密運算前先與IV進(jìn)行異或;從第二組開始,所有的明文先與前一分組加密后的密文進(jìn)行異或。

CBC

解密過程剛好相反,第一組密文在解密之后與初始向量IV異或得到第一組明文。第二組密文解密之后和第一組密文異或得到第二組明文

CBCD

為什么使用要使用異或呢! 異或加密是一種簡單的加密方法,它基于異或運算(XOR)的性質(zhì)。相同為0,不同為1。例如0異或1為1,1異或1為0。這就造就了異或運算的一個特性:任何數(shù)和0異或結(jié)果仍然是原來的數(shù),任何數(shù)和自身異或結(jié)果是0。這意味著如果你對一個字符串進(jìn)行異或加密,然后再對結(jié)果使用相同的密鑰進(jìn)行異或,你將得到原始字符串。

這說的還是有點抽象,我們還是舉個例子。假如我們 有明文01101011 有IV11001001 兩者進(jìn)行異或結(jié)果為10100010 拿這個結(jié)果在于IV進(jìn)行異或 10100010異或11001001=01101011,你會發(fā)現(xiàn)明文又回來了。事實上異或加密在軟件中廣泛使用。

我們把目光返回CBC字節(jié)翻轉(zhuǎn)攻擊

參考文章CBC字節(jié)翻轉(zhuǎn)攻擊&Padding Oracle Attack原理解析 - 楓のBlog

假如A(可控的)異或B(不可控的)得C(結(jié)果) 那么A異或C得B, 如此假如我們有想要的明文X ,A異或C異或B異或X,這個結(jié)果是不是就是X了,這樣的話就可以來控制輸出明文為自己想要的內(nèi)容

那么現(xiàn)在的問題是對于結(jié)果C我們怎么得知?這就需要了解一下padding oracle攻擊了

Padding Oracle Attack原理

在介紹Padding Oracle Attack原理前,我們先了解下如下的概念,

我們知道在分組加密算法中有填充字節(jié)的概念,需要填充的比較參考值是BlockSize(一組的字節(jié)數(shù),不夠需要進(jìn)行填充)

舉個例子 假如我們想加密BRIAN;12;1;0x050x050x050x050x05,這里設(shè)置的初始向量iv為0x7B 0x21 0x6A 0x63 0x49 0x51 0x17 0x0FBlockSize=8

加密過程

https://s3.amazonaws.com/s3.media.squarespace.com/production/936190/11268292/l/po_fig3.png

BRIAN;12此為第一組 ;1;此為第二組 由于不夠BlockSize我們需要填充5個0x05(8-3=5)

這時服務(wù)器發(fā)送的Cookie應(yīng)該為7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6,初始向量iv被填充在加密密文之前。

解密過程

https://s3.amazonaws.com/s3.media.squarespace.com/production/936190/11268292/l/po_fig4.png

最后解得明文,判斷最后一個字節(jié)。這里是0x05,哪么是5個0x05嗎?如果是則pading成功去除填充字節(jié)就是解密明文,如果不是則padding非法,等待系統(tǒng)處理。(如果padding失敗的信息返回給了用戶,就達(dá)成了攻擊的必要條件)

現(xiàn)在思考 我們有密文塊可控,知道BlockSize的大小,知道最后的padding是否成功,能不能把明文猜出來?

明文;1;0x050x050x050x050x05是 0xF8 0x51 0xD6 0xCC 0x60 0xFC 0x95 0x37異或0xC3 0x60 0xED 0xC9 0x6D 0xF9 0x90 0x32得到的 其中我們可以控制 0xF8 0x51 0xD6 0xCC 0x60 0xFC 0x95 0x37 0xC3 0x60 0xED 0xC9 0x6D 0xF9 0x90 0x32由des加密生成不可控,當(dāng)然如果得知了這一塊,明文也就可以算出來了

請看下表

000000[枚舉]
0x1

我們可以不斷改變異或值得最后一位字節(jié),直到padding成功。如果成功有兩種情況,1是剛好是0x1,這時不管前面的密文如何都可以padding成功,2是瞎貓碰到死耗子和最后的前幾位密文剛剛好pading成功,我們只需你是0X01的情況,修改最后前幾位的密文padding失敗即可排除情況2。這時我們可以得到第一個密文的值:0x1⊕剛剛爆出來的異或值=密文的明文

0000[枚舉]固定異或值
0x020x2

接下來假設(shè)padding值為0x2(成功padding是要有兩個0x02的) 固定最后一個字節(jié)異或值 =明文⊕ 0x2,對倒數(shù)第二個字節(jié)進(jìn)行枚舉。直到padding成功 成功后是不是就可以把響應(yīng)的密文解出來了,0x2⊕剛剛爆出來的異或值=密文的明文

00[枚舉]固定異或值固定異或值
0x030x030x03

繼續(xù)重復(fù)上一步的操作,設(shè)paddding為0x03對倒數(shù)第3個字節(jié)進(jìn)行枚舉,直到padding成功,得到相應(yīng)位置的明文..............

最后的結(jié)果我們可以把最后的明文信息爆破出來,結(jié)合字節(jié)翻轉(zhuǎn)攻擊就可以把明文修改為我們想要的明文了。最終會進(jìn)行序列化處理,那么我們需利用一個條反向序列化鏈就可以造成代碼執(zhí)行命令執(zhí)行的漏洞了。

參考Padding Oracle 攻擊_嗶哩嗶哩_bilibili

Shiro721利用條件

0.Apache Shiro < 1.4.2 ?
1.已經(jīng)登陸用戶的合法cookie ? ·加密的初始向量iv以及密文 ?
2.Padding正確,反序列化錯誤處理(Padding Oracle Attack) ? ·Padding正確,服務(wù)器正常響應(yīng) ? ·Padding錯誤,服務(wù)器返回Set-Cookie: rememberMe=deleteMe ?
3.目標(biāo)服務(wù)器含有可利用的攻擊鏈 ? ·構(gòu)造惡意類

漏洞利用缺陷,類似于sql盲注需要發(fā)送大量http請求,非常容易觸發(fā)防火墻或waf。流量過大的可能會把服務(wù)器打崩。

漏洞復(fù)現(xiàn)

Docker搭建環(huán)境

Copy Highlighter-hljsgit clone https://github.com/3ndz/Shiro-721.git
cd Shiro-721/Docker
docker build -t shiro-721 . ?  //不要忽略721后面的那個點,意為當(dāng)前路徑
docker run -p 8080:8080 -d shiro-721

打開web頁面

使用現(xiàn)有的密碼登錄一下,記得把Remember Me打上勾,

現(xiàn)在我們已經(jīng)有一個合法的cookie了

啟動漏洞利用工具,設(shè)置下代理為burp。分析下攻擊流量

啟用dnslog回顯攻擊,burp查看攻擊流量,分析流量特征

特征1

特征2

根據(jù)流量我們可以發(fā)現(xiàn)這樣的特征,

1.流量很大 需要不斷的在cookie中做填充字節(jié)嘗試 2.可能被重定頁面 3.在填充測試中會有兩個不同的結(jié)果 成功沒有deleteme 失敗則有deleteme

此時的工具攻擊頁面 不斷改變 Calulating block 的值進(jìn)行填充測試。

攻擊的過程十分漫長,條件利用比較苛刻,不能高并發(fā),容易被檢測,也容易把服務(wù)器打崩。

參考文章

https://www.cnblogs.com/qianxinggz/p/13388405.htmlicon-default.png?t=N7T8https://www.cnblogs.com/qianxinggz/p/13388405.html


Padding Oracle 攻擊_嗶哩嗶哩_bilibiliPadding Oracle 攻擊, 視頻播放量 488、彈幕量 0、點贊數(shù) 25、投硬幣枚數(shù) 12、收藏人數(shù) 19、轉(zhuǎn)發(fā)人數(shù) 4, 視頻作者 jiegec, 作者簡介 ,相關(guān)視頻:LLL 格基歸約算法,ECDSA 橢圓曲線數(shù)字簽名算法,Shamir 秘密共享算法,Coppersmith 方法,普通人千萬別學(xué)網(wǎng)絡(luò)工程師,這里面的水真的太深了!!!,【密碼學(xué)】PLONK協(xié)議,23級第一次例會 - Crypto入門,【加法的幾何表示】兩個點如何相加?畫兩條直線就夠了,【極致低阻】航模XT60大電流電流表,沒事干了就堆點料吧,月入過萬?5個建議!零基礎(chǔ)轉(zhuǎn)行新媒體運營,勸你謹(jǐn)慎入坑!icon-default.png?t=N7T8https://www.bilibili.com/video/BV1au4y1m7KQ/?spm_id_from=333.337.search-card.all.click&vd_source=4e747ff54c26459caabbedaa87d1c684

CBC字節(jié)翻轉(zhuǎn)攻擊&Padding Oracle Attack原理解析 - 楓のBlogCBC字節(jié)翻轉(zhuǎn)攻擊 概述 CBC字節(jié)翻轉(zhuǎn)攻擊是一種對分組密碼的攻擊,屬于側(cè)信道攻擊。這種攻擊針對的是CBC M…icon-default.png?t=N7T8https://goodapple.top/archives/217?

http://m.risenshineclean.com/news/60297.html

相關(guān)文章:

  • 宣傳片拍攝制作報價明細(xì)百度關(guān)鍵詞seo外包
  • 東莞求職招聘信息網(wǎng)鎮(zhèn)江網(wǎng)站seo
  • wordpress 火車頭南寧百度seo優(yōu)化
  • 國外網(wǎng)站推廣公司如何廣告推廣
  • 網(wǎng)站建設(shè)初期世界羽聯(lián)最新排名
  • wps哪個工具做網(wǎng)站網(wǎng)店推廣實訓(xùn)報告
  • 教師企業(yè)頂崗日記網(wǎng)站開發(fā)長沙網(wǎng)站優(yōu)化方案
  • 丹陽做網(wǎng)站網(wǎng)頁設(shè)計與制作個人網(wǎng)站模板
  • 營銷型網(wǎng)站知識市場營銷策劃ppt
  • 電商平面設(shè)計前景如何seo排名點擊器原理
  • 網(wǎng)站開發(fā)軟硬件配置外國網(wǎng)站開放的瀏覽器
  • AWS免費套餐做網(wǎng)站可以嗎網(wǎng)絡(luò)營銷概念是什么
  • 專業(yè)足球網(wǎng)站建設(shè)優(yōu)化seo教程技術(shù)
  • 韓國大型門戶網(wǎng)站廣州最新重大新聞
  • 用v9做的網(wǎng)站上傳服務(wù)器杭州seo整站優(yōu)化
  • 做酒店網(wǎng)站營銷策劃公司主要做些什么
  • 全國送花網(wǎng)站北京出大大事了
  • opencms做網(wǎng)站 誰百度競價是什么意思
  • 有了域名搭建網(wǎng)站詳細(xì)步驟搜索引擎seo優(yōu)化平臺
  • 網(wǎng)絡(luò)服務(wù)器租賃費一般多少錢seo怎么做
  • 建立自己的網(wǎng)站步驟深圳公司網(wǎng)絡(luò)推廣該怎么做
  • 使用dw做門戶網(wǎng)站今天國際新聞
  • 品牌網(wǎng)站策劃書互聯(lián)網(wǎng)媒體廣告公司
  • 畢業(yè)論文網(wǎng)站鹽城seo優(yōu)化
  • 注冊網(wǎng)站入口西安百度關(guān)鍵詞優(yōu)化
  • 做淘客網(wǎng)站 備案煙臺seo快速排名
  • wordpress 汽車 模板下載蘇州搜索引擎優(yōu)化
  • html5 css3網(wǎng)站模板百度流量推廣項目
  • 鳥人 網(wǎng)站建設(shè)移動網(wǎng)站推廣如何優(yōu)化
  • 建筑工程網(wǎng)上考試答案重慶seo黃智