LFI漏洞利用总结(文件包含)

原因

LFI产生的原因是由于程序员未对用户可控变量进行输入检查,此漏洞的影响可能导致泄露服务器上的敏感文件,如若攻击者能够通过其他方式在Web服务器上放置代码,那么他们便可以执行任意命令

涉及到的函数

主要涉及到的函数
include()    require()    include_once()    require_once()
magic_quotes_gpc()    allow_url_fopen()    allow_url_include()
move_uploaded_file()    readfile()    file()    file_get_contents() 
upload_tmp_dir()    post_max_size()    max_input_time()

典型漏洞代码:

<?php
    include($_GET['url'].'.php');
?>

函数相关名称:

include
//只有执行到此函数时才去包含文件,若包含的文件不存在产生警告,程序继续执行
include_once
//如果一个文件已经被包含过,则不会在包含它
require
//程序一运行文件便会包含进来,若包含文件不存在产生致命错误,程序终止运行
require_once
//如果一个文件已经被包含过,则不会在包含它

各个协议实现的命令执行

%00

是否需要截断是根据包含函数后有没有对包含的文件进行拼接一个后缀名,如果有就需要使用%00进行截断
当php版本<=5.2使用%00截断

file://用于访问本地文件系统

条件(php.ini)
    allow_url_fopen off/on
    allow_url_include off/on
使用方法: file://[文件的绝对路径和文件名]

php://访问各个输入输出流

php伪协议
    php://filter:用于读取源码并进行base64编码输出
    条件(php.ini)
        allow_url_fopen off/on
        allow_url_include off/on
    php://input:可以访问请求的原始数据的只读流,将post请求中的数据作为PHP代码执行
    条件(php.ini)
        allow_url_fopen off/on
        allow_url_include on
    php://stdin是只读的,php://stdout和php://stderr是只写的
    php://output是一个只写的数据流,允许你以print和echo一样的方式,写入到输出缓冲区
    php://fd允许直接访问指定的文件描述符

 zip://,bzip://,zlib://:均属于压缩流,可以访问压缩文件中的子文件,不需要传后缀名

条件:
    allow_url_fope off/on
    allow_url_include off/on
zip://使用方法:
    zip://[压缩文件绝对路径]#[压缩文件内的子文件名]
bzip2://使用方法:
    bzip://file.bz2
zlib://使用方法:
    zlib://file.gz

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
已知某网站存在本地文件包含漏洞LFI),但无法上传任何文件,那么仍然可以利用以下方式进行攻击: 1. 获取敏感信息:利用LFI漏洞可以读取目标服务器上的本地文件,可以尝试获取敏感信息,如密码文件、配置文件、日志文件等。通过分析这些文件内容,可能找到登陆凭证、数据库连接信息、敏感数据等。 2. 执行恶意指令:通过LFI漏洞,攻击者可以执行恶意代码或系统指令。例如,可以调用特定系统指令获取服务器敏感信息、添加用户、修改文件权限等。通过恶意指令的执行,攻击者可以获取更大的权限。 3. 利用远程文件包含:攻击者可以在远程服务器上放置恶意文件,并利用LFI漏洞实现文件包含。一旦目标网站存在对远程资源(如http、ftp等)的文件包含,攻击者即可通过LFI漏洞植入的远程URL地址执行恶意代码。 4. 利用日志文件:如果目标网站记录访问日志,并使用相对路径记录文件名或请求参数,那么可以通过LFI漏洞读取日志文件,并向其中植入恶意请求,以获取额外的信息或实现进一步的攻击。 5. 文件包含链:利用LFI漏洞,可以从一个受漏洞影响的文件访问其他文件,从而形成文件包含链。攻击者可以通过该链访问任意文件,甚至可以获得源码信息。 综上所述,即使无法上传文件,仍然可以通过本地文件包含漏洞进行攻击。因此,网站管理者应及时修复LFI漏洞,确保服务器安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值