Flag和JavaScript document有关

本文为个人学习与实战过程中的思路总结,旨在分享技术探索经验,若有疏漏之处,欢迎交流指正。

好靶场简介

漏洞复现学习由"好靶场"支持

官网链接-好靶场平台-安全靶场-网络安全靶场

前期准备

我们开启靶场先看描述

这道题的描述是:"希望可以通过这个靶场了解怎么在浏览器执行JavaScript"

实战

个人解题思路

进入靶场是一个登录页面

按照我的个人思路以及能力范围内,我首先看逻辑源码,尝试登录,看网络流量包

并没有在里面发现任何信息

然后尝试登录

此处我们看到默认账号是admin/admin登录成功了

然后看逻辑代码也没发现什么

在流量包中发现了flag

官方解题思路

官方的解题思路就是直接bp抓包拦截看返回值,响应中就带有flag,和F12是相同的

只需要在输入账号密码后抓包拦截,发送到repeater

即可查看到flag

拓展

疑惑

此处我有一个疑惑,官方给的描述"希望可以通过这个靶场了解怎么在浏览器执行JavaScript",这个我可以理解,就是执行登录时触发JavaScript逻辑代码,但我没看懂这道题的题目内涵

题目:Flag和JavaScript document有关

JavaScript document 是什么?

document = JS 操作整个网页的工具

它是 JavaScript 里的超级对象,代表你当前打开的网页。

能用它做什么?

  • 获取网页内容
  • 修改网页文字
  • 获取输入框的值
  • 操作页面元素
  • 执行攻击代码(XSS)

最简单例子

复制代码
// 获取整个网页标题
document.title

// 获取输入框内容
document.getElementById("输入框ID").value

// 修改网页文字
document.write("我是注入的内容!")

它和我们的靶场有什么关系?

从我们实战过程看到,登录后服务器在响应头 Set-Cookie 里直接返回了 flag=...

document 在这里的作用是:

  • 前端读取 Cookie :在浏览器控制台里可以用 document.cookie 直接读取到包含 flag 的 Cookie,和抓包看到的结果一致。
  • 查看 DOM 结构 :用 document 相关 API(比如 document.getElementsByTagName)也能检查页面源码,确认 flag 没有直接写在 HTML 里,而是存在 Cookie 中。

总结

document 对象本身不是解题的 "必须步骤",但它是浏览器端读取 flag(Cookie)的入口 ,和抓包获取响应头里的 Set-Cookie 是等价的解题路径。

其它思路

我们不仅仅看官方的解题步骤,还可以看看评论区师傅们的思路

思路一

有学会一招,直接在网络中手搜索,这样不需要一个一个找,但是也存在缺点,比如后期可能会涉及加密等

思路二

还可以借用alert弹窗

本篇完 | 实践出真知,交流共进步

每一篇文章都是一次沉淀,感谢你的阅读。技术没有捷径,唯有不断积累、不断输出。期待下次继续与你分享更多实战经验,一起前行。

《法律与责任声明》

本内容仅用于网络安全漏洞的技术研究、学习与交流。

一、合法性要求

  • 严格遵守《中华人民共和国网络安全法》及相关法律法规,严禁将所学技术用于非法活动,如未经授权的攻击、窃取信息等。例如,不得对未授权的真实生产环境网站做漏洞测试。
  • 漏洞测试须在合法授权环境进行,可使用自己搭建的靶场或获书面授权的目标系统,否则将担法律责任。

二、风险与责任

  • 若因参考本内容对第三方造成损失,本人不承担法律责任,使用者自行担责。

三、传播限制

  • 禁止将本内容用于恶意传播,如制作恶意教程、培训非法黑客组织,应维护良好网络安全环境。
  • 发现有人利用本内容非法活动,应及时举报。

四、版权声明

本文为本人独立创作,有完整知识产权。未经书面许可,任何单位或个人不得转载、复制或以其他方式使用,违者依法追责。

阅读并使用本文章内容即表示同意声明条款

相关推荐
LaughingZhu3 小时前
Product Hunt 每日热榜 | 2026-03-27
大数据·数据库·人工智能·经验分享·搜索引擎
Sgf2273 小时前
2026Web前端进阶学习路线
前端·学习
ZTLJQ3 小时前
数据的另一面:Python中NoSQL数据库完全解析
开发语言·python·nosql
烧饼Fighting3 小时前
java+vue推rtsp流实现视频播放(由javacv+ffmpg转为vlcj)
java·开发语言·音视频
每天吃饭的羊3 小时前
computed 同时写 get() 和 set()
前端·javascript·vue.js
Highcharts.js3 小时前
Highcharts + TypeScript 集成高级技巧|类型与框架集成实战
前端·javascript·vue.js·react.js·typescript·highcharts·图表生成
童话名剑3 小时前
YOLOX(学习笔记)
笔记·学习·yolox
芒果8013 小时前
做文档配图太烦?一个小时写了个工具解决
前端
luanma1509803 小时前
Vue2 vs Vue3:核心区别全解析
前端·javascript·vue.js