1. 布林反序列化
1反序列化後得到的值的user和pass都為不知道的,但是這裡是兩個==,根據php弱型別,bool值和任何字串都為相等,即可以構造user和pass的值為bool$unserialize_str = $_post
[『password『];
2$data_unserialize = unserialize($unserialize_str);
3 if($data_unserialize[『user『]==『???『&&$data_unserialize[『pass『]==『???『)
4
即
2.php引用賦值
1這道題雖然不涉及弱型別,但是涉及到語言中的引用賦值,也是乙個點,要使解序列化後的 (secret===enter)<?php
2class
just4fun 78
if (isset($_get
[『pass『]))
15$o = unserialize($pass
); 16
if ($o
) 17
21else
echo "are you trolling?"; } ?>
這裡是三個等號,要使這兩個變數相等,且secret已經被賦值,所以用引用賦值的方式,$a=&$b,則變數a和b指向同乙個資料,兩個值一定相等
即
CTF學習之路1 php弱型別WriteUp
1.easy md5 檢視原始碼 使用強等於,使用陣列繞過,相當於error error 使用bp抓包構造post param1 1 m2 2獲得flag 2.md5 collision 檢視源 使用bp抓包,並修改post值 p1 4d c9 68 ff 0e e3 5c 20 95 72 d4 ...
php 弱型別總結
最近ctf比賽,不止一次的出了php弱型別的題目,藉此想總結一下關於php弱型別以及繞過方式 php中有兩種比較的符號 與 a b a b 在進行比較的時候,會先判斷兩種字串的型別是否相等,再比較 在進行比較的時候,會先將字串型別轉化成相同,再比較 如果比較乙個數字和字串或者比較涉及到數字內容的字串...
php 弱型別比較
php中 是弱等於,不會比較變數型別 是強等於,會先比較變數型別。0e 開頭跟數字的字串 例如 0e123 會當作科學計數法去比較,所以和0相等 0x 開頭跟數字的字串 例如 0x1e240 會被當作16進製制數去比較 布林值true和任意字串都弱相等。當比較的一方是字串時,會先把其轉換為數字,不能...