日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

[CTF][Web][PHP][JavaScript]弱类型问题

發布時間:2023/12/10 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [CTF][Web][PHP][JavaScript]弱类型问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

弱類型問題

類型轉換是無法避免的問題。例如需要將GET或者是POST的參數轉換為int類型,或者是兩個變量不匹配的時候,PHP會自動地進行變量轉換。但是PHP是一個弱類型的語言,導致在進行類型轉換的時候會存在很多意想不到的問題。

如果在用于密碼比對,身份驗證中沒有對類型進行強處理,往往會導致對比成功,身份偽造等等。

常見的弱類型對比

數字型與其對應的字符串

  • 0 == ‘0’ => true

0 與 不包含任何數字字符串

  • 0 == ‘abc’ => true

數字型與其在前綴的字符串

  • 1 == ‘1abc’ => true

數學計算運算

  • ‘1e0’==‘1e2’ => true
  • “10” == “1e1” => true
  • ‘0e10’ == ‘0e1000’ => true
  • ‘0x001’==‘1’ => true
  • md5(‘s878926199a’) == 0 => true
  • 這里是 md5(‘s878926199a’) 的值是 0e 開頭 。和上面第一種一樣
  • 更多0e的哈希看這里 PHP處理0e開頭md5哈希字符串缺陷/bug
QNKCDZO 0e830400451993494058024219903391s878926199a 0e545993274517709034328855841020s155964671a 0e342768416822451524974117254469s214587387a 0e848240448830537924465865611904
  • empty
    • empty(‘0’) == empty(‘0.0’) false
    • empty(‘0’) == empty(0.0) true
    • empty 返回 TRUE的情況:
      • 若變量不存在則返回 TRUE
      • 若變量存在且其值為""、0、“0”、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE


產生弱類型的函數

  • strcmp
  • In_array
  • array_search

JAVAScirpt 弱類型

數字型與其對應的字符串

  • 0 == ‘0’ => true

數學計算運算

  • ‘0e10’ == ‘0e1000’ => true
  • ’ 0x001’==‘1’ => true
  • 因為 ‘0e10’ == ‘0e1000’ => true 所以這里也存在MD5處理缺陷

空值

  • JAVAScript 只有 null undefine 兩種

  • [],0,'0’之類均等于 null ,只有變量未賦值才是null或者undefined

  • null == undefine => true

  • ‘’ == null => false

  • {} ==[] => false 空數組和空對象也不相等

  • {} == function(){} =>false 空函數和空對象也不相等

NaN (Not a Number,非數) 表示未定義或者不可描述的數字 =。=

  • NaN == NaN => false

函數類

  • 這里只測試了 indexOf
    • [‘22’].indexOf(22) = -1 不存在
    • [‘0e11’].indexOf(0)= -1 不存在
    • [‘0e11’].indexOf(‘0e11’)= 0 存在
  • 可以看到 這里均用了強制類型 看來 JavaScript 比 PHP 稍微嚴格一點

參考鏈接:https://xz.aliyun.com/t/1927?spm=5176.12901015.0.i12901015.4745525cPZUxuS

參考鏈接:https://mp.weixin.qq.com/s/2ULQj2risPKzskX32WRMeg

總結

以上是生活随笔為你收集整理的[CTF][Web][PHP][JavaScript]弱类型问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。