核心内容摘要
承载过往,点燃未来:花火272278小樱368776与万界大战的数字回响
第二周作业wp[SWPUCTF 2021 新生赛]easyupload
0题目提示已经很明显了我们要提交一个.jpg的文件。
那么我们就把一个木马文件做成jpg文件。
这里我们把文件成功上传然后通过蚁剑连接连接之后寻找flag。
如图成功找到。
[HNCTF 2022 Week1]easy_upload直接上传一句话木马。
然后用蚁剑连接。
连接成功在文件中找到flag文件成功得到flag。
[SWPUCTF 2021新生赛]easyupload
0这里试着上传了php的木马文件被过滤了。
根据提示上传一个图片木马然后把上传路径连接蚁剑。
发现连接是空的。
说明还是只能上传php文件因为php被过滤了。
所以我们用.php的别名——phtml来抓包改包发现回显成功我们通过上传的路径连接蚁剑。
发现连接成功。
那么还是一样的步骤通过文件查找flag。
成功得到。
[NISACTF 2022]babyupload这里我们传所有的文件都被拦截了我们打开源码看看到底禁了什么。
但是这个页面没有具体的源码但是给了我们一个提示就是要访问/source我们直接访问自动下了一个压缩包打开发现是源码这里我们直接看最关键的def upload() 要求上传的文件不能有后缀且文件名前会拼接一个前缀upload/使得输出的文件只能是在目录upload/下的这里就涉及到os.path.join()的绝对路径拼接漏洞绝对路径拼接漏洞os.path.join(path,*paths)函数用于将多个文件路径连接成一个组合的路径。
第一个函数通常包含了基础路径而之后的每个参数被当作组件拼接到基础路径之后。
然而这个函数有一个少有人知的特性如果拼接的某个路径以 / 开头那么包括基础路径在内的所有前缀路径都将被删除该路径将视为绝对路径。
就是说传/flag那么之前的upload/就会删除就直接读取了根目录下的flag文件。
抓包将文件名改为/flag。
[NISACTF 2022]bingdundun~这里我们用传统思维去试试发现毫无用处我们只能另寻他法。
这里我们要用到phar://phar://主要是用于在php中对压缩文件格式的读取。
这种方式通常是用来配合文件上传漏洞使用或者进行进阶的phar反序列化攻击phar://伪协议是 PHP 中一个非常强大但也极其危险的伪协议Wrapper。
它的核心功能是让你能够像访问普通目录一样直接访问 PharPHP Archive归档文件中的内容而无需先解压整个文件。
这里竟然要上传压缩包并且我们刚刚也尝试了发现它并不能直接访问所以我们就要用phar://这里我们要注意phar//的格式最后有一个内部文件路径phar://[路径/to/归档文件.phar]/[内部文件路径]成功夺旗
[MoeCTF 2022]what are y0u uploading上传图片木马这里是要一个f1ag.php所以这里就把文件名改为f1ag.php。
成功夺旗。
[SWPUCTF 2022 新生赛]file_master直接访问index.php,得到源码源码要求我们上传的图片木马有长度和宽度限制。
我们学到一招就是直接加定义就好了。
就是直接在文件内容前加#define height 1#define width 1 后面的数字可以随便改这道题的限制是20所以只要不超过20就行Os这里的代码说的是文件内容不能包含php而我们常规的木马中就是包含着php所以我们要换种写法。
大坑我栽了好几次才反应过来。
这里的会话id从下图这里找。
然后通过提示输入会话id和文件名字。
这里用蚁剑。
但是蚁剑没有开权限只能另寻他法。
这里就用post传参。
前端验证访问index.php,查看白名单上传图片木马然后抓包改包得到相对路径蚁剑连接。
成功夺旗。
[SWPUCTF 2021 新生赛]easyupload
0还是老样子上传图片木马然后抓包改包然后蚁剑连接。
发现这个flag是假的按照经验flag大概率又藏在phpinfo里面访问phpinfo查找flag。
成功夺旗10[极客大挑战 2019]Upload还是老样子我们上传一个php木马文件。
发现他要图片格式那我们就把Content-Type修改为image/png。
发现把文件类型修改了还是不行这里又提示不能用?当文件头。
这里我们script标签script languagephp使用了 script 标签但通过languagephp属性明确表示这是PHP代码。
这段代码会在服务器端被PHP解释器执行这里我没有传图片马被检测出来了用GIF89a充当图片头绕过这里成功上传。
之后就是老样子用蚁剑连接成功夺旗
[NewStarCTF 2023 公开赛道]Begin of Upload这里写了白名单我们只能上传图片格式。
老样子抓包改包。
然后连接蚁剑。
出来了12[NewStarCTF 2023公开赛道]Begin of Upload这题我们可以常规的上传一个php文件。
发现被过滤了接着我们把写有木马的jpg文件也不可以。
这里我们就要考虑是不是过滤了文件头?所以我们就试试换个文件头试试。
发现上传成功这里我们直接访问发现页面是以图片为格式的。
同时连接蚁剑发现返回数据为空。
这里的Type application/x-httpd-php .jpg 是 Apache Web 服务器配置文件如 .htaccess 或 httpd.conf中的一条指令用于强制将特定扩展名的文件如 .jpg当作 PHP 脚本解析而非静态资源处理。
通过 AddType 指令将扩展名为 .jpg 的文件关联到 MIME 类型 application/x-httpd-php使 Apache 调用 PHP 解析器处理这些文件。
例如访问 example.com/image.jpg 时若该文件包含 PHP 代码如 ?php phpinfo();?代码会被执行而非直接显示图片内容。
所以这里上传.htaccess文件用于把刚刚的jpg文件转换为php文件打开。
这里上传完了页面是空白的说明我们的方法成功了。
所以我们用蚁剑连接连接成功。
找到flag。
[HarekazeCTF2019]Avatar Uploader 1这题刚开始是让你登录账号。
直接输入昵称就进来了。
进来以后发现要上传一个png文件。
题目是有个附件里面有源码。
这个源码的讲究特别多啊在检查文件类型时finfo_file()函数检测上传图片的类型是否是image/png在检查文件长宽时getimagesize() 函数用于获取图像大小及相关信息成功将返回一个数组别急还有索引2不是PNG将输出part 1的flag意思就是这个题它既要是png文件格式又不能真的是png文件所以我们直接把一张png图片导入winhex里面取它的文件头然后保存上传的确这样一来文件大小类型都满足题目的要求所以flag就出来了
[ACTF2020 新生赛]Upload我们还是老样子直接上传php木马文件发现只能传图片文件传个图片木马然后抓包改包成功夺旗
[LitCTF 2023]ez_XOR打不开附件打开了一堆乱码
[SWPUCTF 2021 新生赛]gift_pwn这里我看大佬们的wp都是把附件拖进ida里面但是为什么我的ida无法加载求指导
上传这道题真的气到我了首先我上传经典php文件如下图然后我传了一个改了文件头的jpg木马发现可以上传那么它应该是过滤了文件头。
然后我用之前的办法上传了下图的htaccess文件发现蚁剑连不上去。
然后我看了大佬的思路有可能是script也被识别成php文件了所以也被过滤了所以我们把htaccess换成下图这个的意思同样也是把文件解读为php格式 然后后面一句是将
jpg这个文件base64解码。
所以我们就把一句话木马编成base64的形式然后依次上传这里我真的搞不懂了照着大佬的wp一步步写的还是连接不上蚁剑我根本不知道哪里出问题了。
我重新开靶场就开了3次怀疑是不是目录位置错了一点点的删一点点的加还是连不上。
我无语了。
[SWPUCTF 2022 新生赛]easyre把文件拖进ida按主函数F5就出来了。
[LitCTF 2023]这羽毛球怎么只有一半啊恼 (初级)Ok打开附件我们发现只有纳西妲的上半身我们直接把它导进winhex里面。
下图第二行的前四位代表着宽而后四位代表高这里原本第六位是05的我们直接把它扩大一倍改成
之后我们保存出来看发现高调大了但是图片整体出来了。
所以这里我们只需要把高调得尽量大就可以这样我们识别图上文字就有了flag。
[陇剑杯 2021]webshell问1这题需要我们找密码既然是流量分析题我们就打开wireshark。
并且输入过滤命令直接找密码。
找到密码后套上NSSCTF{}就可以了。
问题
总结文件上传部分总体没有太大问题主要问题就是wp的17题也就是困难题。
为什么我上传了htaccess文件也读取了然后上传base64编码的jpg文件同样也读取了可是蚁剑就是连接不上。
试了无数遍都没有办法。
。
。
就是新接触的题型wp的1516题。
15题我不知道怎么去用远程连接用什么去远程连接我看大佬们的wp我太菜了发现我根本看不懂。
15题的附件根本打不开16题ida也打不开求师姐讲解