本文为个人学习与实战过程中的思路总结,旨在分享技术探索经验,若有疏漏之处,欢迎交流指正。
好靶场简介
漏洞复现学习由"好靶场"支持


前期准备
我们开启靶场先看描述

这道题的描述是:"希望可以通过这个靶场了解怎么在浏览器执行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弹窗
本篇完 | 实践出真知,交流共进步
每一篇文章都是一次沉淀,感谢你的阅读。技术没有捷径,唯有不断积累、不断输出。期待下次继续与你分享更多实战经验,一起前行。
《法律与责任声明》
本内容仅用于网络安全漏洞的技术研究、学习与交流。
一、合法性要求
- 严格遵守《中华人民共和国网络安全法》及相关法律法规,严禁将所学技术用于非法活动,如未经授权的攻击、窃取信息等。例如,不得对未授权的真实生产环境网站做漏洞测试。
- 漏洞测试须在合法授权环境进行,可使用自己搭建的靶场或获书面授权的目标系统,否则将担法律责任。
二、风险与责任
- 若因参考本内容对第三方造成损失,本人不承担法律责任,使用者自行担责。
三、传播限制
- 禁止将本内容用于恶意传播,如制作恶意教程、培训非法黑客组织,应维护良好网络安全环境。
- 发现有人利用本内容非法活动,应及时举报。
四、版权声明
本文为本人独立创作,有完整知识产权。未经书面许可,任何单位或个人不得转载、复制或以其他方式使用,违者依法追责。
阅读并使用本文章内容即表示同意声明条款