網鼎盃青龍組 web題 AreUSerialz

2021-10-07 13:24:25 字數 1340 閱讀 4690

<?php 

include

("flag.php");

highlight_file

(__file__);

class

filehandler

public

function

process()

elseif(

$this

->

op==

"2")

else

}private

function

write()

$res

=file_put_contents

($this

->

filename

,$this

->

content);

if($res

)$this

->

output

("successful!");

else

$this

->

output

("failed!");

}else

}private

function

read()

return

$res;}

private

function

output($s

)function

__destruct()

}function

is_valid($s

)if(isset

($_get))

}

簡單分析原始碼了解到:

op為1的時候可以執行寫

op為2的時候可以執行讀

這裡嘗試用讀的方法去構造payload

原始碼提示使用get傳參,在url直接輸入

網鼎盃 2020 青龍組 AreUSerialz

知識點 php強型別比較,可以通過 不同型別 達到繞過目的 php7.1以上版本 對類的型別定義不敏感 file get contents 偽協議檔案讀取 include flag.php highlight file file class filehandler public function p...

網鼎盃 2020 青龍組 AreUSerialz

考點 php反序列化 原始碼 include flag.php highlight file file class filehandler public function process elseif this op 2 else private function write res file pu...

網鼎盃 2020 青龍組 notes wp

人生艱難,做了兩天。學到不少。給了js 第一次做js題,賊難受。var express require express var path require path const undefsafe require undefsafe const require child process expres...