本文是一篇从合天网安实验室进行实验操作的笔记,一次非常简单地从JS中获取到flag的操作。
实验地址:https://www.hetianlab.com/expc.do?w=exp_ass&ec=ECID9d6c0ca797abec2016092313300000001
1. 进入题目页(10.1.1.219:20123)看到一段话,还有一句很明显的提示语句“The evil url is the passkey”,翻译出来就是损坏的url就是flag。下面的英文有兴趣的也可以解读一下,对于解题没什么用,别问我怎么知道的。
页面没什么其他有用的信息了,我们直接看一下源码,看有没有什么发现。在页面源代码中发现了一段可疑的js代码
对代码进行解读,可以知道,这段代码的功能是对页面写入内容,这个内容由变量P表示,P的内容是多个ascii码,我们可以自己翻译,看这些ascii码的内容是什么,也可以直接在浏览器的console中进行运行,得到新的页面。
打开浏览器,访问题目页面,按f12打开开发者工具,我们将js代码粘贴到console中,回车进行运行,发现运行错误,这应该就是损坏的,将中间的空行等处理一下之后运行发现获得了一个新的页面。
然后会发现页面变成了空白,但是还是有一点不引人注意的地方:
翻看页面源代码,发现了一个隐藏的php页面:
我们访问这个php页面,发现有一个变量名为flag:
但是查看页面源代码中,并没有flag的内容,查看请求头部时,发现cookie中存在flag
接下来把这个flag提交到实验的答题中,这个实验就完成了,也是一次非常简单的获取flag。