前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSRF(目录穿越)

SSRF(目录穿越)

作者头像
TenG
发布2020-12-02 14:59:11
1.3K0
发布2020-12-02 14:59:11
举报
文章被收录于专栏:网安菜鸟成长记

前言

本文介绍一下ssrf的一个特性,是前端时间作UNCTF的赛题get到的新知识,以此来记录一下,不正确的地方还请各位师傅多多指正。

正文

先看一下题目:

代码语言:javascript
复制
<?php
echo'<center><strong>welc0me to 2020UNCTF!!</strong></center>';
highlight_file(__FILE__);
$url = $_GET['url'];
if(preg_match('/unctf\.com/',$url)){
    if(!preg_match('/php|file|zip|bzip|zlib|base|data/i',$url)){
        $url=file_get_contents($url);
        echo($url);
    }else{
        echo('error!!');
    }
}else{
    echo("error");
}
?>

可以看到很多伪协议都被过滤掉了,而且url里面还要包含unctf.com,那就想一下其他办法,在这里需要了解一下PHP的file_get_contents函数。

file_get_contents() 把整个文件读入一个字符串中。 该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。

大致就是让一个文件的内容输出到一个字符串变量中,但是注意一下(知识点来了):

当PHP的 file_get_contents() 函数在遇到不认识的伪协议头时候会将伪协议头当做文件夹,造成目录穿越漏洞,这时候只需不断往上跳转目录即可读到根目录的文件。

简单点将就是我们只需要随便输一个不存在的协议头构造url就可以了,下面拿真题来示范:

跳转目录的时候尽量多跳转几个,如果没有跳转到根目录的话同样不会成功。 好了,以上就是我get到的一个小知识点,朋友之前跟我说比赛最重要的就是赛后看writeup,现在看来正是如此。加油!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档