Code-Breaking Puzzles PHP 技巧

不畏将来,不念过往。如此,安好!

Someone famous 丰子恺

可变函数 $func()

可变函数不能用于例如 echoprintunset()isset()empty()includerequire 以及类似的语言结构

可变函数 函数名变量过滤,可以用 \绕  "\createfunc"

\ 有人说是默认空间 , 但是我感觉其实就是转义字符

create_function 注入 create_function 代码注入

---------------------------------------------------------------------------------------------------------------------------------------------

preg_match() 正则绕过

原理: 匹配过程中 回溯次数大于设定值 返回false, 返回值为1,0 , false(error)  原理分析

---------------------------------------------------------------------------------------------------------------------------------------------

preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])


只能 函数嵌套执行,eval(next(getallheaders()));

eval(array_pop(reset(get_defined_vars())));

-------------------------------------------------------------------------------------------------------------------------------------------------

file_put_contents(filename,contents)

filename 如果等于 1.php/. 可以在当前目录下写入1.php 原理缺

base64decode 自动忽略其他字符,并4位4位取值.

利用好伪协议

-------------------------------------------------------------------------------------------------------------------------------------------------

var_dump(json_decode('{"\u0061\u0061\u0061":6666}'));

json decode 可以解码 Unicode字符 可绕waf

---------------------------------------------------------------------------------------------------------------------------------------------------

compress.zlib://phar:///var/www/html/You_Cant_Gu3ss/uploads/1.txt/shell.php

标签

注意!

Warning! 关注一下!