XCTF_Web_新手练习区:simple_php
生活随笔
收集整理的這篇文章主要介紹了
XCTF_Web_新手练习区:simple_php
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第十二題:simple_php
目標:
掌握php弱類型比較 php中其中兩種比較符號: ==:先將字符串類型轉化成相同,再比較 ===:先判斷兩種字符串的類型是否相等,再比較 字符串和數字比較使用==時,字符串會先轉換為數字類型再比較 var_dump('a' == 0);//true,此時a字符串類型轉化成數字,因為a字符串開頭中沒有找到數字,所以轉換為0 var_dump('123a' == 123);//true,這里'123a'會被轉換為123var_dump('a123' == 123);//false,因為php中有這樣一個規定:字符串的開始部分決定了它的值,如果該字符串以合法的數字開始,則使用該數字至和它連續的最后一個數字結束,否則其比較時整體值為0。 舉例: var_dump('123a1' == 123);//true var_dump('1233a' == 123);//falsephp弱類型總結傳送門
注:<、>、<=、>=都存在和==相同的弱類型,原理相同!!!
Writeup
PHP是世界上最好的語言!!!首先我們訪問目標網址:
來,咱們來分析一波
(1)這里包含了config.php
(2)url接收參數a和b的值
(3)如果$a等于0 and $a,輸出$flag1
(4)如果$b是數字或者字符串那么退出當前腳本
(5)如果$b>1234,輸出$flag2
所以,這里我們既要保證輸出$a,$b,又要保證$b是數字,那么就用到php的弱類型比較了
那么a=c&b=2222a
上述核心代碼執行后就是:
結果:
注:
-
include 只生成警告(E_WARNING),并且腳本會繼續
-
is_numeric()來函數用于檢測變量是否為數字或數字字符串,是返回true,否返回false
調試代碼:
- exit() 函數輸出一條消息,并退出當前腳本
總結
以上是生活随笔為你收集整理的XCTF_Web_新手练习区:simple_php的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCTF_Web_新手练习区:comma
- 下一篇: 企查查app怎么导出号码