漏洞原理---PHP特性&缺陷对比函数
# PHP 特性 & 缺陷 & 过滤函数
# 一、常见过滤函数
-
与 =
-
=:赋值
-
==:弱类型对比
-
===:类型也会对比
-
<?php $flag = "欢迎吃瓜~~~~"; $String = "^_^"; $error = "Waring !!!!"; if($_GET['name'] != $_GET['password']){ if(MD5($_GET['name']) == MD5($_GET['password'])){ echo $flag; }else{ echo $String; } }else{ echo $error; } // name = QNKCDZO 0E830400451993494058024219903391 // Password = 240610708 0E462097431906509019562988736854 <?php $flag = "欢迎吃瓜~~~~"; $String = "^_^"; $error = "Waring !!!!"; if($_GET['name'] != $_GET['password']){ if(MD5($_GET['name']) === MD5($_GET['password'])){ echo $flag; }else{ echo $String; } }else{ echo $error; }
-
-
md5
-
intval
-
strpos
- 可以使用
%0a
绕过
- 可以使用
-
in_array
- 问题出现在第三个参数上,如果不设置为 true,则函数不会检查数据与数组的值类型是否相同
-
preg_match
- 数组绕过
- 换行绕过
-
str_replace
-
可以使用双写绕过,比如:
x=texttext
漏洞原理---PHP特性&缺陷对比函数
https://rofgd.github.io/2022/10/14/漏洞原理---PHP特性-缺陷对比函数/