主要作用:即调用函数 #2: file_put_contents() 在实例中可以发现,file_get_contents()的$filename参数不仅仅为文件路径,还可以是一个URL(伪协议)。 该协议语法为:php://filter:/<action>=<name> 我们可以通过构造含有漏洞的语句,查看想要看的代码: file=php://filter/convert.base64-encode/resource=index....
考点二:call_user_func() 函数用于调用方法或者变量,第一个参数是被调用的函数,第二个是调用的函数的参数。考点三:file_put_contents()函数的作用是将一个字符串写入文件。如果写入的字符串和文件名可控则可能导致任意文件上传漏洞。考点四:通过file_put_contents()函数配合php://协议以base64编码的形式写入we...
用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响。 include()/require()/include_once()/require_once()参数可控的情况下,如导入为非.php文件,则仍按照php语法进行解析,这是include()函数所决定的。 说明: file://文件系统是 PHP 使用的默认封装协议,展现...
stripos()函数返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。字符串位置从 0 开始,不是从 1 开始。 file_get_contents() file_get_contents()函数:把整个文件读入一个字符串中,加上@是屏蔽对应的错误 PHP中fopen,file_get_contents,curl函数的区别: 1、fopen/file_get_contents...
1、反序列化函数,传入参数可控,如上面那道CTF题目$file就是可控的; 2、__destruct()方法可利用,如CTF题目就是利用__destruct()方法中的show_source(),从而暴露源码; 3、以上两点没有对传参进行过滤,否则无法构成目的Payload。 (二)底层PHP漏洞 简单来说,如果对象属性检查异常,那么Purrase_nested_data()将会返...
一道CTF题目 #index.php<?phphighlight_file(__FILE__);$vip = unserialize($_GET['vip']);//vip can get flag one key$vip->getFlag();#flag.php$xff = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);array_pop($xff);$ip = array_pop($xff);if($ip!=='127.0.0.1'){ die...
1、反序列化函数,传入参数可控,如上面那道CTF题目$file就是可控的; 2、__destruct()方法可利用,如CTF题目就是利用__destruct()方法中的show_source(),从而暴露源码; 3、以上两点没有对传参进行过滤,否则无法构成目的Payload。 (二)底层PHP漏洞 简单来说,如果对象属性检查异常,那么Purrase_nested_data()将会返...
file://用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响 前几天某比赛web第二道题就是利用注入控制反序列化,file://协议读取本地文件 注:file://协议必须是绝对路径 zip://,bzip2://, zlib://协议 ...
考点一:利用php内置类FilesystemIterator 获取指定目录下的所有文件名。考点二:getcwd()函数的作用时返回当前工作目录。例题:<?phphighlight_file(__FILE__);error_reporting(0);if(isset($_GET['v1']) && isset($_GET['v2'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; if(pre...