fileclude,难度:1,方向:Web
题目来源:CTF
题目描述:好多file呀!
给一下题目链接:攻防世界Web方向新手模式第17题。
打开一看,这熟悉的味道,跟上一篇文章基本一摸一样的,我感觉我又行了。
都是include,肯定是利用文件包含来绕过漏洞直接打开flag.php的内容。
请牢记传奇php语句
@include("php://filter/read=convert.base64-encode/resource=flag.php");
php://filter 是php中独有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取。
这段语句就是让我构造file1的值,我做到了,可是我万万没想到竟然倒在了让file2等于hello ctf上,果然,没有系统学过php语句遇到题目就原形毕露了。
只能无奈放弃打开writeup了,答案绝大多少都是用harkbar或者burpsuite来解决的,但是我不甘心啊,应为他都file1和file2是用get方式获取的,这是唯一可以在url上修改获得答案的机会了,能不打开工具就不打开工具。
方法一:
大佬原话:
构造形式: ?file1=php://filter/convert.base64-encode/resource=flag,php&file2=data://text/plain;base64,aGVsbG8gY3Rm?file1=php://filter/convert.base64-encode/resource=flag.php&file2=data://text/plain,hello ctf
一种是加密传输,一种是非加密传输,根据需要选择,本题两种方法都可以(方法一指的是使用data://text/plain的两种方法,使用php://input 和post的是方法二)
不对最后转码还得打开harkbar,其实是我对post是真不会用啊,我首先不知道何时使用post,其次对准确的使用格式也不熟悉,现在多熟悉一下吧。先把答案搞出来。
方法二:
方法二好麻烦啊。。。
首先需要把hackbar安装到burpsuite的抓包浏览器(暗黑谷歌)中,hackbar的安装和使用请参考我的笔记6第二题CTF攻防世界小白刷题自学笔记6-CSDN博客,因为需要抓包发送post后的结果。
使用软件 Burp 对发出去的数据包进行抓取,burpsuite抓包详细操作在笔记8CTF攻防世界小白刷题自学笔记8-CSDN博客,安装详细操作在笔记5CTF攻防世界小白刷题自学笔记5-CSDN博客
打开抓包浏览器后,粘贴http://你的网址/?file1=php://filter/convert.base64-encode/resource=flag.php&file2=php://input,勾选post data,输入hello ctf=hello ctf,点击execute,(注意提前放包,就是点击Forward,因为你一开始粘贴网址就抓包了,不放行抓包数据不更新啊,抓包完下面还是hello ctf=hello ctf,把多余的键值删掉,变成hello ctf)
正式抓包完毕就可以点击action发送到repeater(中继器)
在中继器界面点击send,就可以在相应最下面找到编码后的flag了。
可以直接在burpsuite中解码,选中码文,右击选择发送到解码器。右边选择decode as base64(作为base64解码),明文就出来了。
不过打开inspector(监听器),选中就自动解码,省心省力。
总结;虽然使用方法二好累,但是情况一复杂就只能使用了,好事多磨。感觉到burpsuite抓包和harkbar发包,使用频率太高了,好好学会使用很重要。
标签:14,小白刷题,base64,flag,CTF,ctf,php,hello,抓包 From: https://blog.csdn.net/weixin_52990944/article/details/143772088