php常见漏洞分析

目录绕过技巧

1.若存在字符检测,如strstr函数等,可以使用../http/../来绕过

其中http是strstr所检测字符

  1. ../ 效果等同于 ..//////

正则绕过技巧

在做一个比赛题目,需要绕过preg_match函数。

代码:

1
2
3
4
5
6
7
8
<?php
function is_php($data){
return preg_match('/<\?.*[(`;?>].*/is', $data);
}

if(!is_php($input)) {
// fwrite($f, $input); ...
}

正则匹配进行回溯过程的最大长度限制为100W,因此 构造 数据+ x*1000000可以绕过使正则匹配失效。

修复方法 使用 ===0 来对正则匹配的结果进行判断k


file(“./flag.php”) 读取文件
print_r() 输出变量
GLOBALS 全局变量!
php://filter/read/convert.base64-encode/resource=index.php