文件上传作业

一 [SWPUCTF 2021 新生赛]easyupload3.0
屏幕截图_20-1-2026_204624_node7.anna.nssctf.cn
先尝试上传一个php文件显示
屏幕截图_20-1-2026_204758_node7.anna.nssctf.cn
于是尝试.htaccess绕过,接入蚁剑后在app/flag.php中找到flag
屏幕截图 2026-01-20 205508

二 [HNCTF 2022 Week1]easy_upload
直接上传php文件显示成功
屏幕截图_21-1-2026_185434_node5.anna.nssctf.cn
连接蚁剑
屏幕截图 2026-01-21 185845
得到flag NSSCTF{217cf64e-3d45-48f3-a333-62e79de87952}

三 [SWPUCTF 2021 新生赛]easyupload2.0
上传PHP文件显示
屏幕截图_20-1-2026_21415_node4.anna.nssctf.cn
于是我更改文件后缀为phtml成功上传(该PHP文件为图片木马)连接蚁剑
屏幕截图 2026-01-21 190514

四 [NISACTF 2022]babyupload
屏幕截图_21-1-2026_19742_node5.anna.nssctf.cn
我试着上传了许多文件都显示文件后缀错误
查看网页源码,发现文件/source
屏幕截图_21-1-2026_191359_
得到
屏幕截图 2026-01-21 191715
于是我查了一些资料发现了一个绝对路径bug( os.path.join(path,*paths)函数用于将多个文件路径连接成一个组合的路径。第一个函数通常包含了基础路径,而之后的每个参数被当作组件拼接到基础路径之后。
然而,这个函数有一个少有人知的特性,如果拼接的某个路径以 / 开头,那么包括基础路径在内的所有前缀路径都将被删除,该路径将视为绝对路径)
然后上传了一个/flag文件,使用bp修改上传文件名
得到返回文件途径,访问得到flag

五 [NISACTF 2022]bingdundun~
屏幕截图_21-1-2026_193728_node5.anna.nssctf.cn
尝试连接蚁剑发现失败,所以使用伪协议phar(phar://伪协议
这个就是php解压缩报的一个函数,不管后缀是什么,都会当做压缩包来解压,用法:?file=phar://压缩包/内部文件 phar://xxx.png/shell.php 注意 PHP>=5.3.0压缩包需要是zip协议压缩,rar不行,将木马文件压缩后,改为其他任意格式的文件都可以正常使用)打开上传文件,并且该url会在末尾自动加上.php
于是连接网址为http://node5.anna.nssctf.cn:29950/?bingdundun=phar://9153635dd0a0fa60f23bdb380963dd40.zip/post 连接蚁剑
屏幕截图 2026-01-21 195810

六 [MoeCTF 2022]what are y0u uploading?
查看网页源码得到白名单
屏幕截图_21-1-2026_20547_
上传jpg文件得到屏幕截图_21-1-2026_20105_node5.anna.nssctf.cn
于是我使用bp修改上传文件名,得到flag屏幕截图 2026-01-21 201818

七 [SWPUCTF 2022 新生赛]file_master
屏幕截图_22-1-2026_183153_node5.anna.nssctf.cn
上传了php文件显示屏幕截图_22-1-2026_183335_node5.anna.nssctf.cn
于是上传图片木马屏幕截图_22-1-2026_183512_node5.anna.nssctf.cn
于是试着查看网页源码,最终使用伪协议file读取到源码,发现文件不能还有php,于是使用短标签来绕过,并且设置图片高和宽小于20屏幕截图
屏幕截图 2026-01-22 185728
上传成功后进行rce得到flag

八 前端验证
打开bp,上传图片马,更改文件名屏幕截图 2026-01-22 193602
连接蚁剑屏幕截图 2026-01-22 193739

九 [SWPUCTF 2021 新生赛]easyupload1.0
上传php文件发现不行,上传图片发现可行。但是使用bp修改文件后缀
屏幕截图 2026-01-22 194617
连接蚁剑得到一个假的flag,于是在phpinfo中查找,得到flag
屏幕截图_22-1-2026_20038_node7.anna.nssctf.cn

十 [极客大挑战 2019]Upload
上传图片马显示屏幕截图_22-1-2026_20342_28c6da34-e284-4f06-9354-04f66fdf3265.node5.buuoj.cn
于是使用,发现仍然上传不了。于是去看文件头我试了PNG无法上传,最终GIF才可以上传,成功后使用抓包将文件后缀为phtml
屏幕截图 2026-01-24 105611
连接蚁剑得到flag屏幕截图 2026-01-24 105926

十一 | [NewStarCTF 2023 公开赛道]Begin of Upload | header |
屏幕截图_24-1-2026_11127_52ac349c-8426-4ad1-8f50-9929e55b6914.node5.buuoj.cn
先上传一个php文件,显示屏幕截图 2026-01-24 110237
于是上传图片马,然后在bp修改文件后缀屏幕截图 2026-01-24 110400
连接蚁剑得到flag屏幕截图 2026-01-24 110520

十二 [NewStarCTF 2023 公开赛道]Upload again!
屏幕截图 2026-01-24 110718
上传了php文件与图片木马均不成功,于是使用php长标签,上传成功,使用bp修改文件后缀发现上传不了,于是使用.htaccess。上传文件后使用bp修改后缀
屏幕截图 2026-01-24 111254
连接蚁剑得到flag屏幕截图 2026-01-24 112222

十三 [HarekazeCTF2019]Avatar Uploader 1
屏幕截图 2026-01-24 112655
尝试输入name,admin成功输入![屏幕截图 2026-01-24 112856](https://img2024.cnblogs.com/blog/3761898/202601/3761898-20260124112905053-2054378747.pn
之后就没有思路来,于是搜索得到源码屏幕截图 2026-01-24 143406
于是使用010删除图片信息只留下文件头屏幕截图 2026-01-24 143647
上传图片得到屏幕截图 2026-01-24 143714

十四 [ACTF2020 新生赛]Upload
屏幕截图 2026-01-24 114210
先试着上传一个php文件显示
屏幕截图 2026-01-24 114253
上传图片木马,上传成功,使用bp修改后缀屏幕截图屏幕截图 2026-01-24 114509
连接蚁剑屏幕截图 2026-01-24 114705

十五 上传
屏幕截图 2026-01-24 115054
先上传一个php文件,屏幕截图 2026-01-24 115137
上传图片马(我使用的是长标签),成功,使用bp修改文件后缀发现php与phtml均不行于是使用htaccess
使用bp修改屏幕截图 2026-01-24 115830
连接蚁剑发现连不上,访问上传的文件发现上传的php变成乱码,于是我去搜找资料找到一种方法(这里可以用utf-16编码绕过。因为utf-16占utf-8的两倍长度,上传时默认检测为utf-8,从而就能绕过检测成功上传。)
屏幕截图 2026-01-25 110227

十六 [LitCTF 2023]ez_XOR
屏幕截图 2026-01-24 132412
先查壳(使用专门的工具对可执行文件进行分析,以判断该文件是否被某种“壳”(如加壳或加密)包裹),发现屏幕截图 2026-01-25 110640
使用IDA打开查看字符串屏幕截图 2026-01-25 114102
F5查看代码有280381f5a97323b44d052a931640d4f5
be976e3ed47629f64217b96cd92fddac
仔细研究发现第一个伪代码与flag有关,第二个伪代码与解题关系不大,只用分析第一个伪代码
e3a9aa982dbde825c89a049357341135
分析第二个伪代码,发现最后是Str1和Str2比较,如果Str1和Str2相等,则程序正确。观察伪代码,发现我们输入的Str1还有经过一个函数XOR才会和Str2比较,由此可知这个函数与异或运算有关,点击XOR跟进调查
3d2fb12c82b0ce4bc5559e95bafe57d6
于是我去搜索了一下得到一个脚本#include <stdio.h>

include <string.h>

int main()
{
int a2=3;
char str2[]="E`}J]OrQF[V8zV:hzpV}fVF[t";
int l,i,result;
l = strlen(str2);
for (i=0; ;++i)
{
result = l;
if ( i >= result )
break;
str2[i] ^= 3 * a2;
}
puts(str2);

return 0;

}
运行得到flag屏幕截图 2026-01-25 115434

十七 [SWPUCTF 2022 新生赛]easyre
屏幕截图 2026-01-25 115837
使用IDA打开得到屏幕截图 2026-01-25 120031

十八 [SWPUCTF 2021 新生赛]gift_pwn
使用IDA打开
屏幕截图 2026-01-25 121819
F5,点击vuln,发现vuln函数存在栈溢出(栈溢出(Stack Overflow) 就是栈里的临时数据超出了它的固定大小,导致 “货架被压垮”,程序直接崩溃并抛出错误)屏幕截图 2026-01-25 122304
屏幕截图 2026-01-25 122434
发现/bin/sh开始的位置是4005B6屏幕截图 2026-01-25 122526
于是我去搜索得到脚本并运行
屏幕截图 2026-01-25 123346

十九 [LitCTF 2023]这羽毛球怎么只有一半啊(恼 (初级)
下载附件屏幕截图 2026-01-24 142304
使用010打开更改高度,得到
屏幕截图 2026-01-24 142532

二十 [陇剑杯 2021]webshell(问1)
用WIRESHARK进行分析屏幕截图 2026-01-25 125428
http contains "login"查看HTTP中有login的流量包屏幕截图 2026-01-25 125532
对第四个进行追踪屏幕截图 2026-01-25 125817
密码为Admin123!%40%23,对其进行url解码得到Admin123!@#

posted @ 2026-01-25 13:00  ( ̄(エ) ̄)  阅读(10)  评论(0)    收藏  举报