99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學院 頭像
蘋果6袋
6
麥子學院

php offset特征造成的繞過漏洞詳解

發(fā)布時間:2017-07-10 12:30  回復(fù):0  查看:1921   最后回復(fù):2017-07-10 12:30  

本文和大家分享的主要是php offset特征造成的繞過漏洞相關(guān)內(nèi)容,一起來看看吧,希望對大家學習php有所幫助。

  php中的字符串存在一個非常有趣的特性,php中的字符串也可以像數(shù)組一樣進行取值。

  $test = "hello world";echo $test[0];

  最后的結(jié)果就是h。

  但是上述的這種特性有時會有意想不到的效果,看下面這段代碼

  $mystr = "hello world";echo $mystr["pass"];

  上述的代碼的輸出結(jié)果是h.這是為什么呢?其實很簡單,和很多其他的語言一樣,字符串在php中也像數(shù)組一樣可以使用下標取值。 $mystr["pass"] pass會被進行隱性類型轉(zhuǎn)換為0,這樣$mystr[0] 的輸出結(jié)果就是首字母h.

  同樣地,如果嘗試如下的代碼:

  $mystr = "hello world";echo $mystr["1pass"];

  輸出結(jié)果就是e.因為1pass會被隱性類型轉(zhuǎn)換為1$mystr[1]的輸出結(jié)果就是第二個字母e.

  字符特性造成的漏洞

  下面這段代碼是在在phpspy2006中用于判斷登錄時所使用的代碼。

  $admin['check'] = "1";

  $admin['pass']  = "angel";

  ......if($admin['check'] == "1") {

  ....

  }

  這樣的驗證邏輯如果利用上述的特性就很容易地就可以被繞過。$admin沒有被初始定義為數(shù)組類型,那么當我們用字符串提交時phpsyp.php?admin=1abc時,php會取字符串1xxx的第一位,成功繞過if的條件判斷。

  上面那段代碼是一個代碼片段,接下來的這段代碼是一段完整的邏輯代碼,來自于php4fun中第5題,比較有意思。

  

來源:乘物游心

您還未登錄,請先登錄

熱門帖子

最新帖子

?