NaNNaNNaNNaN-Batman
一个关于js的题目
首先下载了一个压缩包,里面有只有一个文件,没有后缀。用文本编辑器打开后:
虽然有很多乱码,但是从<script>中还是可以看出这是一段js代码,需要用浏览器才能打开;
把文件改成== .html ==后缀,然后用浏览器打开,发现有一个输入框:
遗憾的是,无论输入什么都没有反应(手动微笑)
然后又回去看代码,发现在源码的末尾有一个函数不是乱码:eval(),应该是利用这个函数是把这段代码执行了;
---------------------------------------------------------------------------------------------------------------------
这个时候其实我一点思路都没了……
于是脸不红心不跳的去看了下面的讨论……
---------------------------------------------------------------------------------------------------------------------
万万没想到……用alert把代码弹出就没有乱码了……(为什么啊555)
(更: 文档中不能显示就是编码的问题,但是虽然编码不一样,这个函数的内容是没有变的,alert的时候直接显示了一个变量内容,也可以理解为以能显示的编码显示出来)
接下来就是代码审计了,匹配一下正则表达式:
把匹配出来的输入到输入框就出了flag: