概述

  • 部分程序在下载或者读取显示文件的时候,读取文件的参数filename直接在请求里面传递,后台程序获取到这个文件路径后直接读取返回

挖洞经验

  • 文件读取的漏洞寻找起来比较容易一种方式是可以先黑盒测试功能点对应的文件,再去读文件,这样找起来比较快。
  • 另一种方式就是搜索文件读取的函数,看看有没有直接或者间接控制的变量。文件读取函数如下:
    file_get_contents()
    highlight_file()
    fopen()
    readfile()
    fread()
    fgetss()
    fgets()
    parse_ini_file()
    show_source()
    file()
  • 除了这些正常的读取文件的函数之外,另外一些其他功能的函数也一样可以读取文件,
  • 比如文件的函数之外,另外一些其他函数也一样可以读取文件,如文件包含函数 include PHP输入输出流 php://filter来读取文件

phpcms任意文件读取分析
代码如下:

public function public_get_suggest_keyword(){$url=$GET['url'].'&q='.$GET['q'];$res=@file_get_contents($url);if(CHARSET != 'gbk'){$res=iconv('gbk',CHARSET,$res);
}echo $res;
}
  • 这里可以看到该函数直接从GET参数里面获取要读取的url,然后使用file_get_contens函数来读取内容,
  • 不过这里要说一点,如果直接提交?url=&q=1.php ,我们打印出来的url变量可以看到值为" &q=1.php",带到函数里面则是file_get_contents(" &q=1.php"),这样就读不到当前文件
  • 需要 ?url=&q=…/…/1.php 这样多加两个“ …/”,吧“&q=” 当成目录来跳过,最终这个漏洞读取数据库配置文件的exp为:
  • /index.php/phpcmsv9gbk//index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=…/…/phpssp_server/caches/configs

PHP-代码审计-文件读取(下载)相关推荐

  1. 目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞

    目录 目录浏览(目录遍历)漏洞 任意文件读取/下载漏洞 目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件 ...

  2. 千聊 m8u文件读取下载视频

    import requests import random import os# 查找字符串 def findSubstrings(substrings,destString):res =destSt ...

  3. 任意文件读取与下载漏洞学习

    原理: 任意文件读取漏洞属于文件操作类漏洞,一般常见于PHP/java/python语言中.任意文件读取漏洞,就是可以任意读取服务器上部分或者全部文件的漏洞,攻击者利用此漏洞可以读取服务器敏感文件如/ ...

  4. 目录遍历漏洞和文件读取漏洞的区别

    目录遍历漏洞 通过操作URL强行访问web目录以外的文件,目录和命令.网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件.配置文件等,攻击者利用该信息 ...

  5. 任意文件下载、文件读取

    目录 简介 危害 脑图 利用条件 测试思路 靶机测试 安装 Example 1 Example 2 Example 3 CMS测试 安装 利用过程 实战-1 FOFA 漏洞复现 实战-2 分析 漏洞修 ...

  6. python文件审计系统_Python代码审计实战案例总结之CRLF和任意文件读取

    介绍 Python代码审计方法多种多样,但是总而言之是根据前人思路的迁移融合扩展而形成.目前Python代码审计思路,呈现分散和多样的趋势.Python微薄研发经验以及结合实际遇到的思路和技巧进行总结 ...

  7. python文件审计_Python代码审计实战案例总结之CRLF和任意文件读取

    文章目录 介绍 CRLF和任意文件读取的审计实战 CRLF 审计实战 urllib CRLF漏洞(CVE-2019-9740和CVE-2019-9947) httplib CRLF 漏洞 任意文件读取 ...

  8. java读取html文件内容的代码_【代码审计】xyhcms3.5后台任意文件读取

    1前言 一个很老的cms了,感谢小阳师傅给的练手cms,以下仅为此cms其中一个任意文件读取漏洞和任意文件删除漏洞的审计笔记. 2Cms目录分析 拿到这个cms的时候发现是基于thinkphp3.2. ...

  9. 代码审计:ourphp 后台任意文件读取复现

    代码审计:ourphp 后台任意文件读取复现 ourphp 代码审计 漏洞复现 ourphp OurPHP傲派企业电商建站系统基于PHP+MYSQL完美开发,企业+电商+微信+手机+APP一个平台搞定 ...

最新文章

  1. 关于hibernate的实体类中有集合类型转化成JSON的工具类 - 怀念今天的专栏 - 博客频道...
  2. php将多个页面写在一个页面,php – 将多个标签添加到WooCommerce单个产品页面
  3. sockaddr与 sockaddr_in
  4. 【NLP】一行Python代码中自动化文本处理
  5. Collection和Collections区别
  6. Data URL和图片,及Data URI的利弊
  7. “不懂 CPU 工作原理又如何,直接用代码模拟一个!”
  8. 野火学习笔记(13) —— USART —串口通讯
  9. 永磁同步电机的直接转矩控制(三)一一一滑模控制器改进DTC
  10. 前端视觉测试工具:Applitools Eyes
  11. 仿照Flexstroe3写的一个员工管理应用 (三)
  12. 文件下载(三):wireshark抓包文件下载整个过程
  13. ZVS空载电流大及波形畸变问题
  14. 【数字IC基础】IC(Integrated Circuit,集成电路)常用缩写
  15. 千里马-modulo
  16. iOS:源生二维码扫描和制作
  17. PTA 7-15(查找) 航空公司VIP客户查询(25 分) 25分代码 哈希方法
  18. springboot+vue.js仓库管理系统源码
  19. Python mac运行pygame一片空白不显示内容-解决方案
  20. mount system

热门文章

  1. 你不知道Linux的10个最危险的命令
  2. Unity User Group深圳站——Timeline Cinemachine分享
  3. Vue.js 笔记之 img src
  4. Json,Hashlib与Base64(占坑待补)
  5. 备忘录 | 当我每晚闲暇时我在干什么(2)
  6. Python-快速排序算法
  7. mysql备份工具 :mysqldump mydumper Xtrabackup 原理
  8. python删除字符串中的空格保留一个_Python从字符串中隔开的字母中删除单个空格的最快方法...
  9. 实验7.3 字符串 7-8 删除重复字符
  10. 华为今年不会发布鸿蒙系统的手机,谷歌终于放下心了,华为:今年不会有鸿蒙系统的手机开售...