實驗吧Web-FALSE


筆記:

PHP函數isset(): 檢測變量是否設置

只能用於變量,傳遞任何其它參數都將造成解析錯誤。若想檢測常量是否已設置,可使用 defined() 函數

 格式:  isset ( mixed var [, mixed var [, ...]] ) 

    若變量不存在則返回 FALSE
    若變量存在且其值為NULL,也返回 FALSE
    若變量存在且值不為NULL,則返回 TURE 

    同時檢查多個變量時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE

 

== :  比較運算符號  不會檢查條件式的表達式的類型

===:  恆等計算符 , 同時檢查表達式的值與類型。(會檢查表達式類型,如bool)

die()函數  :  停止程序運行,輸出內容

sha1()函數: 計算字符串 "Hello" 的 SHA-1 散列。默認的傳入參數類型是字符串型

W3School: http://www.w3school.com.cn/php/func_string_sha1.asp

例:

<?php
$str = "Shanghai";
echo sha1($str);
?>

 

 

鏈接: http://www.shiyanbar.com/ctf/1787

右擊查看源代碼,發現這一段:

 

登錄成功條件: (1)傳入name,password的值(2)name和password的值不能相等(3)  name和password的sha1加密散列值相等

前兩個條件容易實現,關鍵是第三個條件,怎樣實現呢?

思路: sha1()函數默認的傳入參數類型是字符串型,可以傳入其他類型,使其返回值為false。如數組類型。

實現: 構造url:  http://ctf4.shiyanbar.com/web/false.php?name[]=a&password[]=b (a,b只要不等即可),提交即可獲得flag

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM