zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    0x01 简介

    首先来看一下有哪些文件包含函数:

    include、require、include_once、require_once、highlight_file
    show_source 、readfile 、file_get_contents 、fopen 、file
    

    有哪些伪协议:

    file:// — 访问本地文件系统
    http:// — 访问 HTTP(s) 网址
    ftp:// — 访问 FTP(s) URLs
    php:// — 访问各个输入/输出流(I/O streams)
    zlib:// — 压缩流
    data:// — 数据(RFC 2397)
    glob:// — 查找匹配的文件路径模式
    phar:// — PHP 归档
    ssh2:// — Secure Shell 2
    rar:// — RAR
    ogg:// — 音频流
    expect:// — 处理交互式的流
    

    0x02 详细解读

    2.1 php://filter

    php://filter用于读取源码,php://input用于执行php代码

    ?page=php://filter/read=convert.base64-encode/resource=../flag.php
    

    2.2 file://协议

    用于访问本地文件系统,不受allow_url_fopen与allow_url_include的影响

    即file:// [文件的绝对路径和文件名]

    ?path=file:///var/www/html/flag.txt
    

    2.3 php://input

    php://input 可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行

    php://input 可以用来生成一句话

    利用该方法,我们可以直接写入php文件,输入file=php://input,然后使用burp抓包,写入php代码:

    2.4 data://协议

    利用data:// 伪协议可以直接达到执行php代码的效果,例如执行phpinfo()函数:

    如果此处对特殊字符进行了过滤,我们还可以通过base64编码后再输入:

    ?page=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
    

    2.5 zip://, bzip2://, zlib://协议

    zip://, bzip2://, zlib:// 均属于压缩流,可以访问压缩文件中的子文件,不需要指定后缀名

    如果网站允许我们上传压缩文件,我们也可以将php文件压缩后进行上传,再通过zip://协议执行。

    以DVWA平台为例,我们将phpinfo.php文件进行压缩后上传:

    通过zip://协议执行zip压缩包中的phpinfo.php文件:

    0x03 总结

    page=dict://127.0.0.1:80 #探测端口开放
    page=gopher://127.0.0.1:6379/payload #对redis服务进行getshell等操作
    

    文件包含漏洞防护:
    1.使用str_replace等方法过滤掉危险字符
    2.配置open_basedir,防止目录遍历
    3.php版本升级,防止%00截断
    4.对上传的文件进行重命名,防止被读取
    5.对于动态包含的文件可以设置一个白名单,不读取非白名单的文件
    6.做好管理员权限划分,做好文件的权限管理

    0x04 参考链接

    http://j0k3r.top/2018/04/07/php-wxy/
    https://blog.csdn.net/Monsterlz123/article/details/93964916

  • 相关阅读:
    maven打包部署到私服
    RedisUtil工具类
    使用Spring+Junit4进行测试
    SpringMVC + MyBatis + Mysql + Redis(作为二级缓存) 配置
    Spring缓存注解@Cache使用
    Spring集成Redis使用注解
    Redis入门学习
    对年轻技术员的告诫
    WebMagic写的网络爬虫
    Jquery学习笔记(6)--jquery中attr和prop的区别【精辟】
  • 原文地址:https://www.cnblogs.com/-mo-/p/11736445.html
Copyright © 2011-2022 走看看