[刷题记录][HFCTF2020]BabyUpload

重要信息也是关键点:cookie中查询看看username强比较是否为admin,/var/babyctf中是否有success.txt

第一个很好弄,猜测就是可以传入cookie什么的,但是第二个该路径中要含有success.txt,既然题目要求,那就不可能有这个文件,所以要由我们自己创建

直接给了上传的路径就是题目要求我们的,应该是自己主机创建上传网页,上传到服务器

继续往下看,有点看不懂是啥意思,找万能的ai

ok啊可以读取文件,但是不知道有什么用,看了大佬的wp,直接悟了

漏了一个关键的点,session存储在和要求的success文件在同一个目录下,而且session的默认存储方式就是sess_PHPSESSID,我们直接利用download读取它,进行伪造

读取方式不太会的可以直接看上面download内容

源码:

<html>
<body>
<form action="http://3d512401-ecb4-497c-8b90-8fbfb5c808f1.node4.buuoj.cn:81/" method="POST" enctype="multipart/form-data">
<input type="file" name="up_file">
<input type="hidden" name="attr" name=".">
<input type="hidden" name="direction" value="upload">
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>

修改guest为admin,在自己网页中上传,注意不要省略username前面不可见字符

上传成功后计算文件的sha256值,并且访问,获得admin(文件Hash计算 - 一个工具箱 - 好用的在线工具都在这里!

当然也可以直接kali里面

接着我们直接上传succes.txt,这里不太能懂大佬们将attr中参数改为success.txt,看见很多大佬都在attr参数中加入success.txt但是我自己尝试不加也可以

 

看了很多,大佬们都是写脚本的,但是对于我这种菜鸡来说写脚本不如实操,毕竟主要积累经验嘛

总结:

知识点:session伪造和php的session存储方式

题目运用session伪造和文件上传,将原来的session修改为admin,上传success.txt,使得服务器满足所有条件,从而获得flag

参考资料:

hfctf babyupload - 知乎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值