2023-7-18 uploadlabs17-21
uploadlabs文件上传
看了遍笔记,之前做到17关二次渲染,就直接从这开始
17关
百度二次渲染,网上是这样说的:在我们上传文件后,网站会对图片进行二次处理(格式、尺寸,保存,删除 要求等),服务器会把里面的内容进行替换更新,处理完成后,根据我们原有的图片生成一个新的图片(标准化)并放到网站对应的标签进行显示。
在源码中我们可以看到这三个函数:
这三个函数就是用来重新生成图像的
我们先来尝试一下直接上传
然后将上传后的图片重新下载回来
打开后发现我们的一句话不见了,而且乱码也变了一部分,尝试把一句话放到前面不变的里面,但是会识别不出来png
网上查到gif不容易变,所以随便下个gif,然后同上,将渲染前后的图片放在一起对比
这里用到的是winhex(查看>同步和比较)(这里有些对不齐,大概知道黑色的部分都是相同的地方就行)
找到前后相同的部分写入一句话
改成php直接放进去试一试
好使
改回gif上传也没问题(这gif改了之后这么鬼畜吗)
再加上文件包含就完事儿了
18关
第18关条件竞争
从上面的代码里能看到这一关先将文件传了上去再进行判断,如果不对劲就删掉,那我们如果再它删掉之前访问就能够执行这里的代码:
<?php fputs(fopen('shell.php','w'),'<?php@eval($_POST["1"])?>');?>
这段代码能够生成一个shell.php用来连接
然后用bp抓包不断地上传,同时写一个python脚本不断访问直到返回200的状态码
19关
第19关发现代码很长
和上一关差不多,都是条件竞争,能看到多出了一些检验方式,但是似乎没多大用
20关
提示及源码:
直接通过点空格绕过
21关
刚才的办法行不通了
提示说来源于ctf,让我们审计代码
偷个懒直接转载下大佬的图:
图片转自:https://blog.csdn.net/qq_51789211/article/details/127538812
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架