这题考察data伪协议,在PHP中,data伪协议允许你直接从数据流中读取内容。使用file_get_contents读取data伪协议,就可以获得任何你想要的内容。 PHP中的extract函数用于将数组中的键名作为变量名,键值作为变量值导入到当前环境中。 PHP 中的file_get_contents 函数用于从文件或 URL 获取内容。 PHP 中的trim 函数用于去...
将url改为:?xxx=data://text/plain;base64,想要file_get_contents()函数返回的值的base64编码或者将url改为:?xxx=data:text/plain,(url编码的内容) 构造pyload,获得flag POST /index.php?ac=a&fn=php://input HTTP/1.1 Host: 114.67.246.176:16154 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; ...
isset:判断变量是否存在,值是否为NULL。 $_GET:接收表单提交数据,并把数据附加到url链接当中。 逻辑运算符&&:条件都满足才会执行。 关系运算符!:不、反的意思。 empty函数:只用来判断变量的值是否为NULL。 file_get_contents() 函数:把整个文件读入一个字符串中。 ===:判断值是否相同并且判断值的类型是否相同。
file_get_contents常用来读文件,但是也可以用伪协议来控制读的内容,这里就是使用data://text/plain,test。指定数据的 MIME 类型位text,然后内容是test,这个时候我们就控制了读取的内容,只需要传参ac位test即可拿到flag。 0 goodsnack2月前 post ac=1&fn=php://input raw里填1,对应ac的值 ...
file_get_contents()#把整个文件读入一个字符串中;file#把整个文件读入一个数组中;readfile()#读入一个文件并写入到输出缓冲;highlight_file()#对文件进行语法高亮显示;show_source()#对文件进行语法高亮显示;array_reverse() 接受数组array作为输入并返回一个单元为相反顺序的新数组。next()指向数组的下一个元素...
1.<?php2.$flag='xxx';3.extract($_GET);4.if(isset($gift)){5.$content=trim(file_get_contents($flag));6.if($gift==$content){7.echo'hctf{...}';8.}else{9.echo'Oh..';10.}11.}12.?> 题目分析: 题目使用了extract($_GET)接收了GET请求中的数据,并将键名和键值转换为变量名和变量...
{if(file_get_contents($file2) ==="hello ctf") {include($file1); } }elsedie("NONONO"); } 需要传入两个参数file1与file2,其中要保证file2参数中的文件内容是hello ctf,传法是:file2=data://text/plain,hello ctf,直接传hello ctf是不行的, ...
{$code=file_get_contents($url);if(';'===preg_replace('/[a-z]+\((?R)?\)/',NULL,$code)){if(preg_match('/et|na|nt|strlen|info|path|rand|dec|bin|hex|oct|pi|exp|log/i',$code)){echo'bye~';}else{eval($code);}}}else{echo"error: host not allowed";}}else{echo"error: ...
<?php$file=$_GET['file'];include$file;?> 若在同目录下有phpinfo.txt<? phpinfo; ?>则访问: index.php?file=phpinfo.txt 即可解析文件内容 PHP内核是由C语言实现的,在连接字符串时,0字节(\x00)将作为字符串结束符。所以可用%00截断 远程文件包含(RFI) ...
上传后通过file_get_contents触发action=upload&url=phar://upload/{your_upload_path}/1.jpg&filename=2.jpg 然后就会发现一个带有<?的txt文件 最后上传一个.htaccess文件 内容为AddHandler php7-script .txt 即可解析php 最后是bypass open_basedirPwn