bugku:
還沒看完原始碼,我就直接加了乙個password=1結果就拿到flag了。然後再看原始碼我自己都搞不懂為什麼可以得到原始碼。真的,不信你看。
1<?php
2 $flag = "
flag";
34if (isset ($_get['
password
']))
12 ?>
先來談論一下標準的答案:
第乙個條件:
必須以數字或者字母開頭(其實看到ereg就可以想到%00截斷)
第二個條件:
必須在password引數中找到--。
所以得出以下正解:
index.php?password=a%00--
那麼話又說回來了,為什麼直接password=a就可以繞過呢?
1.ereg只能處理字元,而你是陣列,所以返回的是null,三個等號的時候不會進行型別轉換。所以null不等於false。
2.strpos的引數同樣不能夠是陣列,所以返回的依舊是null,null不等於false也是正確。
所以可以拿到flag
小結:1.倘若函式的引數不符合其函式要求的時候返回的是null值
bugku 陣列返回NULL繞過
flag flag if isset get password 1.isset 函式 檢測變數是否已設定並且非null2.ereg 函式 正規表示式匹配 3.strpos 函式對大小寫敏感。a za z0 9 方括號表示字符集,a za z0 9 匹配大小寫字母和數字其中乙個字元 a za z0 9...
springboot json返回null問題處理
在開發過程中,我們需要統一返回前端json格式的資料,但有些介面的返回值存在 null或者 這種沒有意義的字段。以上不僅影響理解,還浪費頻寬,這時我們可以統一做一下處理 不返回空欄位,或者把null轉成 spring 內建的json處理框架是jackson。我們可以對它配置一下達到目的,具體 如下....
AfxGetMainWnd返回NULL也是可能的
afxgetmainwnd返回null也是有可能的。因為 afxwin inline cwnd afxapi afxgetmainwnd 而cwnd cwinthread getmainwnd cwnd cwinthread getmainwnd 而m pmainwnd有時候的值如果還沒有被設定,a...