本题知识点

  • 任意文件上传配合cookie读取文件

打开页面是一个登入界面

84317-zu36h8m5xz.png

随便输个用户名密码都可以直接登入

99509-hu5t018s624.png

有个upload点击
90859-66g24wkduff.png

这里存在一个任意文件上传但是不解析,发现这里还setcookie了

92810-e8z3j21z1xi.png

解码后大概看出来存储了账号密码+上传的文件路径

29812-c8y5biruqp.png

然后来到show查看一下头像,base64显示

38045-vxbn79tot0s.png

那么这里猜测是通过cookie得到文件路径然后打开,然后转为base64输出,猜测此处路径为

/var/www/html/uploads/4e5b09b2149f7619cca155c8bd6d8ee5/June.jpg

那么我们../跳5层即可到根目录,上传一个文件名为../../../../../etc/passwd的文件然后保存cookie

81807-hj8hbncu1v.png

那么我们要重新下发容器,因为此处的的文件已经被我们上传的文件覆盖了
但是重新下发容器然后直接去查看头像还是会显示不存在,需要随便在上传一张图片然后在替换cookie

37315-z9gvpee30uo.png

访问页面查看源码

28909-mm9gfsac6o.png

解码,成功读取到passwd文件

45228-dwfuji831cb.png

读取flag也是也一样的

84204-kbnyyr871j.png

然后保存cookie

Q/+BAwEBBVVzZXJzAf+CAAEEAQhVc2VybmFtZQEMAAEIUGFzc3dvcmQBDAABCEZpbGVuYW1lAQwAAQRTaWduAQwAAABy/4IBBUp1bm5lAQRKdW5lAT4uL3VwbG9hZHMvNGU1YjA5YjIxNDlmNzYxOWNjYTE1NWM4YmQ2ZDhlZTUvLi4vLi4vLi4vLi4vLi4vZmxhZwEgMzVlYjc2ZmM4YmQyZGEzZWY2MjE5NmU5MjU3MjhlN2MA

重新启动容器-->随便上传一张头像-->查看头像-->替换cookie-->解码得到flag

48555-6qwj8ka4sv6.png

30673-s5qquj945tn.png

最后修改:2022 年 04 月 17 日
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/207.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
如果觉得我的文章对你有用,请随意赞赏