PHP相关漏洞

PHP相关漏洞

文章目录

  • PHP相关漏洞
    • 1. 弱类型漏洞
    • 2. MD5函数漏洞
    • 3. php变量覆盖漏洞

1. 弱类型漏洞

  • 什么是弱类型?举几个例子,‘1’+1=?对于强类型语言python和Java等会直接报错,而对于php这样弱类型语言的话,会将其中一个值进行类型转化,如果是运算则会将所有数据都转化为整型,如’1’->1,‘1test’->1,‘test’->0等。

    var_dump(1=='admin');//True
	var_dump(1=='1test');//True
  • 原理:弱类型比较。

2. MD5函数漏洞

  • MD5是什么?MD5就是一种加密方式,而md5()是一个加密函数

    if(md5($_GET['a'])==md5($_GET['b'])){
        echo $flag;
    }
  • 原理:弱类型比较与md5函数漏洞。只要MD5(值)计算后结果开头是0e,php就会把这段字符串认为是科学计数法字符串,例如0e123和0e456,0的N次方始终是0,所以弱类型比较可以相等,满足MD5后的结果开头为0e且后面全是数字的字符串如下:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a

md5(md5())后满足这两个条件的字符串也需要了解:

bDLytmyGm2xQyaLNhWn
770hQgrBOjrcqftrlaZk
7r4l
  • 实际:如果一个网站的某一个用户的密码加密之后恰好是0e开头的,就很容易破解。

3. php变量覆盖漏洞

  • 原理:可变变量。通俗点讲就是值可以充当变量名,具体来看下面的例子:

    $a="want_to_be_a_cat";
	$b="miaow";
	$test=$a;
	$$test=$b;
	var_dump($want_to_be_a_cat);//miaow

你可能感兴趣的:(web安全,php,android,开发语言)