今天做了好好看的美甲,超級無敵開心
本來想復現cve-2016-7124的,ctf中的反序列化好多都是使用這種方法繞過的,但是我沒復現出來,就把重要知識點記錄一下吧。
cve-2016-7124主要就是使用反序列化中__wakeup函式進行繞過的
也就是那個很重要的知識點:
當反序列化字串,表示屬性個數的值大於真實屬性個數時,會跳過 __wakeup 函式的執行。
<?php
class
test
public
function
__destruct()
}//$s = new test();
//echo serialize($s);
//s = o:4:"test":1:
$str
=$_get
["s"];
@$un_str
=unserialize
($str);
echo
$un_str
->
name."
";?>
然後就可以構造一句話寫入
?s=o:4:
"test":1
:
<?php
/** * created by phpstorm.
* user: jinzhao
* date: 2019/10/6
* time: 8:04 pm
*/highlight_file
(__file__);
class
buu}
catch
(exception$e)
}}if(
$_get
['pleaseget'
]===
'1')
}}
uniqid() :函式基於以微秒計的當前時間,生成乙個唯一的 id。
<?php
class
buu}
catch
(exception$e)
}}$a=
newbuu()
;//傳乙個引用$a-
> input=&$a
->
correct
;echo
serialize($a
)?>
o:3:
"buu":2
:
然後就是md5的繞過
if
(v1 !=v2 &&
md5(v1)
==md5
(v2)):
要求是兩個值不相等但是他們的md5值相等
1、md5不能處理陣列,所以可以用陣列繞過,v1=1&&v2=2。
2、0e在比較的時候會將其視作為科學計數法,所以無論0e後面是什麼,0的多少次方還是0
md5弱型別比較
== !=和=== !==運算子
如果用 == 或 != 比較乙個數字和字串或者比較涉及到數字內容的字串,則字串會被轉換為數值並且比較按照數值來進行。當用 === 或!== 進行比較時則不進行型別轉換,因為此時型別和數值都要比對缺陷的利用也就是0e開頭的字串,如果採用 == 運算子比較雜湊值,任何以 『0e』 開頭的字串都相等
這些是md5後0e開頭的
qnkcdzo明天學習流量包,衝衝衝0e830400451993494058024219903391
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
s878926199a
0e545993274517709034328855841020
s1091221200a
0e940624217856561557816327384675
s1885207154a
0e509367213418206700842008763514
s1502113478a
0e861580163291561247404381396064
s1885207154a
0e509367213418206700842008763514
s1836677006a
0e481036490867661113260034900752
s155964671a
0e342768416822451524974117254469
s1184209335a
0e072485820392773389523109082030
s1665632922a
0e731198061491163073197128363787
s1502113478a
0e861580163291561247404381396064
s1836677006a
0e481036490867661113260034900752
s1091221200a
0e940624217856561557816327384675
s155964671a
0e342768416822451524974117254469
s1502113478a
0e861580163291561247404381396064
s155964671a
0e342768416822451524974117254469
s1665632922a
0e731198061491163073197128363787
s155964671a
0e342768416822451524974117254469
s1091221200a
0e940624217856561557816327384675
s1836677006a
0e481036490867661113260034900752
s1885207154a
0e509367213418206700842008763514
s532378020a
0e220463095855511507588041205815
s878926199a
0e545993274517709034328855841020
s1091221200a
0e940624217856561557816327384675
s214587387a
0e848240448830537924465865611904
s1502113478a
0e861580163291561247404381396064
s1091221200a
0e940624217856561557816327384675
s1665632922a
0e731198061491163073197128363787
s1885207154a
0e509367213418206700842008763514
s1836677006a
0e481036490867661113260034900752
s1665632922a
0e731198061491163073197128363787
s878926199a
0e545993274517709034328855841020
參考文章:
手機衛士day11
系統程序顯示和隱藏 建立程序管理設定頁面 processmanagersettingactivity 編寫設定頁面布局檔案 監聽checkbox的勾選事件,更新本地sharepreference 根據本地記錄,更新checkbox狀態 boolean showsystem mprefs.getboo...
實習日記 Day11
滴 今日份心得總結卡 今日最大心得其實應該是,穿一條薄褲子還露腳踝的我怕是失了智,早上腿差點都凍僵了 1.不要從別人身上尋求安心 做好自己,降低對人際關係的預期。果然,邊際遞減效應 應驗了,上週還覺得和諧無比的同事 師徒關係,這週就開始覺察到距離感。我曾以為我的認真工作和順利完成任務能得到上司或者師...
區間合併 day 11
區間合併 問題 給定 n 個區間 li,ri 要求合併所有有交集的區間。注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 輸入格式 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。輸出格式 共一行,包含乙個整數,表示合併區間...