我是靠谱客的博主 淡定唇彩,最近开发中收集的这篇文章主要介绍[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
0e830400451993494058024219903391
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
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]弱类型问题的全部内容,希望文章能够帮你解决[CTF][Web][PHP][JavaScript]弱类型问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部