尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Litctf2025 Write-up

Litctf2025 Write-up
📅 发布时间:2026/6/21 0:07:06

逼逼叨

很难受啊,出去跑项目封闭管理,结果没打上,只能赛后复现了。
上班是真滴累

Web

[LitCTF 2025]多重宇宙日记


进来先随便注册个账户,说实话看到这样的题目第一眼怀疑二次注入、直接不想做

登陆后发现可以设置主题语言之类的,随便试试无果

查看页面源码

摘出JS中的关键代码,简单看下

其实第二处的注释已经给了很明确的暗示,修改isAdmin状态后自动刷新,再看第三处仅用JSON.parse()去进行数据处理,很简单的原型链污染,注意要放在settings键下:

{
"settings":{"theme": "123","language": "123","__proto__":{"isAdmin": true}
}
}

提交数据之后出现管理员面板,flag出现

这里多逼逼叨一句原型链污染

原型链污染

举个例子哈,假设咱最开始有这样的代码:

let user1 = {};
let user2 = {};console.log(user1.isAdmin); // undefined
console.log(user2.isAdmin); // undefined

这个时候咱想输出user1和user2的isAdmin属性返回undefined,因为压根没人设置过user1和user2的isAdmin属性。
那原型链之所以叫做原型链,它是条链子,也就是说,当JS在当前的user1和user2中找不到这个属性的时候,它会去追根溯源:好,你这个Object没有,那我去找你的原型,也就是Object.prototype的isAdmin

那这个proto是哪来的,凭什么user1、user2会有这个玩意?

这个prototype被叫做对象的原型,说白了,也就是我创建use1、user2时候自动生成的隐藏属性,好比你人刚生下来,父母给你起名字叫小白,那你是否全身上下只有一个特征,是否你除了你叫小白以外就没有任何信息了?肯定不是啊,几斤几两?男孩女孩?好不好玩?等等等等,对吧~

对应来说JS对象的隐藏属性就是这些

方法名 说明
toString() 返回 [object Object],或者经过重写的内容
hasOwnProperty() 判断属性是不是对象自身拥有
valueOf() 对象的原始值表示(比如自动类型转换时)
isPrototypeOf() 判断是否在原型链上
propertyIsEnumerable() 属性是否可枚举
toLocaleString() 本地化版本的 toString()
constructor 指向构造函数,例如 Object 本身

但这里并没有我们所需的内容,这个时候我们就可以给Object.prototype去进行污染,就类似于示例中的Object.prototype.isAdmin = true这样去赋值

Object.prototype.isAdmin = true;console.log(user1.isAdmin); // true
console.log(user2.isAdmin); // true

常见防御手法

const dangerousKeys = ['__proto__', 'prototype', 'constructor'];function sanitize(obj) {for (let key of dangerousKeys) {if (key in obj) {delete obj[key];}}
}

绕过方法:

{"settings": {"\u005f_proto\u005f": {"isAdmin": true}}
}

[LitCTF 2025]nest_js

这题挺无语的,admin/password秒了

看一眼网站组件

Next.js,一猜考的今年的day

x-middleware-subrequest:
middleware:middleware:middleware:middleware:middleware
/dashboard

[LitCTF 2025]星愿信箱

fenjin秒了

作者: hongzh0
出处:https://www.cnblogs.com/hongzh0/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。

相关新闻

  • DFS算法(递归)
  • 做会议海报就是在淘汰老实人
  • 易基因:Cell封面:中国科学家杨学勇/黄三文m6A-seq等揭示同义突变通过表观转录调控机制决定生物性状|顶刊突破

最新新闻

  • PNX2015 VLD模块寄存器配置与错误处理实战指南
  • 2026年6月酱肉小笼包招商推荐,美食小吃/包子/手工小笼包/小吃/非遗红油小笼包/酱肉小笼包,酱肉小笼包招商推荐 - 品牌推荐师
  • Obsidian+DeepSeek V4百万上下文实战:构建知识操作系统
  • 3个关键步骤:如何让DirectX 1-7经典游戏在现代Windows系统重生
  • Java文件路径陷阱:getAbsolutePath与getCanonicalPath本质区别
  • M365 Copilot真实生产力杠杆:Work IQ、自定义指令与结构化提示词

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号