Bugku login4

隨便登錄個(gè)賬號(hào)看到提示說只有admin可以能看到flag弓摘,嘗試登錄admin賬號(hào)驱显,他說admin不允許被登錄拆祈∨鸢辏看到題目提示說是CBC字節(jié)翻轉(zhuǎn)攻擊究飞,那么就想他肯定會(huì)告訴我們iv、cipher什么的吧,于是burp抓包發(fā)包亿傅,發(fā)現(xiàn)響應(yīng)頭中返回了iv媒峡、cipher,但是還沒完葵擎,因?yàn)槲覀儾恢篮笈_(tái)對(duì)我們傳進(jìn)去的username谅阿、password作了什么處理,試了一下坪蚁,發(fā)現(xiàn)存在.index.php.swp奔穿,訪問下載到備份文件镜沽,vim -r index.php.swp即可恢復(fù)敏晤,下面是關(guān)鍵代碼部分

在這里我們可以看到后臺(tái)將我們傳進(jìn)去的username、password構(gòu)造成了數(shù)組info缅茉,登錄的時(shí)候先將其序列化嘴脾,再加密形成cookie中的cipher,并以此來(lái)作為我們的身份標(biāo)識(shí)蔬墩。當(dāng)我們不post數(shù)據(jù)而是將返回iv译打、cipher添加到我們的請(qǐng)求頭中再次發(fā)起請(qǐng)求時(shí),服務(wù)器不會(huì)更新我們的身份拇颅,而是會(huì)利用我們請(qǐng)求頭中的iv奏司、cipher來(lái)解密,再反序列化得到用戶名以此來(lái)驗(yàn)證我們的身份樟插,我們來(lái)驗(yàn)證一下

假設(shè)我們的username為admik韵洋,密碼為123,那么序列化后就為

那我們的思路就是黄锤,修改cookie中的值搪缨,使其解密出來(lái)的username為admin,即將k改為n

知道了思路之后鸵熟,我們來(lái)了解一下CBC是怎么工作的

加密過程

Plaintext:待加密的數(shù)據(jù)

IV:用于隨機(jī)化加密的比特塊副编,保證即使對(duì)相同明文多次加密,也可以得到不同的密文流强。

Key:被一些如AES的對(duì)稱加密算法使用

Ciphertext:加密后的數(shù)據(jù)

對(duì)于第一塊密文:Ciphertext = Plaintext ^ IV

對(duì)于第二及剩下的組塊:Ciphertext(N) = Ciphertext(N-1) ^ Plaintext

即前一塊密文用來(lái)產(chǎn)生下一塊密文痹届,字節(jié)翻轉(zhuǎn)攻擊就是利用這一點(diǎn)

解密過程

對(duì)于第一塊:Plaintext = Decrypt(Ciphertext) ^ IV

對(duì)于第二塊及剩下的:Plaintext(N) = Decrypt(Ciphertext) ^?Ciphertext(N-1)

并且還要注意一點(diǎn):在密文中改變的字節(jié)只會(huì)影響在下一明文中具有相同偏移量的字節(jié),即如下圖

我們構(gòu)造的用戶名admik賬號(hào)序列化后為
a:2:{s:8:"username";s:5:"admik";s:8:"password";s:3:"123";}

我們的目標(biāo)是將k改成n打月,因此第一件事就是把明文分成16個(gè)字節(jié)的塊:

Block1: a:2:{s:8:"userna

Block2: me";s:5:"admik";

Block3: s:8:"password";s

Block4: :3:"123";}

我們可以看到我們的目標(biāo)字符位于塊2队腐,偏移量為13,這就意味著我們要改變塊一中偏移量為13的字符

第二塊明文偏移量為13的字符(C) = 第一塊密文偏移量為13的字符(A) ^ decrypt(第二塊密文的偏移量為13的字符)(B)

即 C = A ^ B僵控,這里我們知道C和A香到,因此B = A ^ C

假設(shè)我們修改A為A2,A2 = A ^ C ^ D(我們想要的字符,這里指n)

那么C = A2 ^ B = A ^ C ^ D ^ A ^ C = 0 ^ D? = D悠就,即

$enc[13] = chr(ord($enc[13]) ^ ord("k") ^ ord ("n"))

這里還有一個(gè)問題要注意一下千绪,因?yàn)槲覀冃薷牧说谝粔K的密文,如果我們繼續(xù)用原來(lái)的iv去解密第一塊密文梗脾,那么肯定是不成功的荸型,是無(wú)法反序列化的,因此我們需要修改iv炸茧,使其解密第一塊得到的是a:2:{s:8:"userna

如何修改iv呢

第一塊錯(cuò)誤明文 = decrypt(第一塊原密文) ^ ord_iv

那么? decrypt(第一塊原密文) =?第一塊錯(cuò)誤明文 ^ ord_iv

第一塊正確明文 =?decrypt(第一塊原密文) ^ new_iv

那么? new_iv =?decrypt(第一塊原密文) ^ 第一塊正確明文 =??第一塊錯(cuò)誤明文 ^ ord_iv ^?第一塊正確明文

將其url編碼替換原來(lái)的iv得到flag

參考:http://wooyun.jozxing.cc/static/drops/tips-7828.html

作者水平有限瑞妇,若有錯(cuò)誤請(qǐng)指出Orz

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梭冠,隨后出現(xiàn)的幾起案子辕狰,更是在濱河造成了極大的恐慌,老刑警劉巖控漠,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔓倍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡盐捷,警方通過查閱死者的電腦和手機(jī)偶翅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)碉渡,“玉大人聚谁,你說我怎么就攤上這事≈团担” “怎么了形导?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)铭段。 經(jīng)常有香客問我骤宣,道長(zhǎng),這世上最難降的妖魔是什么序愚? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任憔披,我火速辦了婚禮,結(jié)果婚禮上爸吮,老公的妹妹穿的比我還像新娘芬膝。我一直安慰自己,他們只是感情好形娇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布锰霜。 她就那樣靜靜地躺著,像睡著了一般桐早。 火紅的嫁衣襯著肌膚如雪癣缅。 梳的紋絲不亂的頭發(fā)上厨剪,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音友存,去河邊找鬼祷膳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屡立,可吹牛的內(nèi)容都是我干的直晨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼膨俐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼勇皇!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起焚刺,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤敛摘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后檩坚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體着撩,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年匾委,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氓润。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赂乐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咖气,到底是詐尸還是另有隱情挨措,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布崩溪,位于F島的核電站浅役,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏伶唯。R本人自食惡果不足惜觉既,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乳幸。 院中可真熱鬧瞪讼,春花似錦、人聲如沸粹断。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瓶埋。三九已至希柿,卻和暖如春诊沪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背曾撤。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工娄徊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盾戴。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓寄锐,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親尖啡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子橄仆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容