名 步步为营
http://pan.baidu.com/s/1qXmFoQg
根据文件中的标志信息,推测为html网页文件,将后缀名改为.html,用chrome浏览器打开,看到如下文字:
WDCTF Encrypt 1
WDCTF 2015 encryption I, okay. This isn't Engima, but it was "encrypted" with the JavaScript below: h. =0u84!6=u:3u uuged`u<&u' ;;<;2(
根据提示知道用JavaScript来解below后面的字符串,怎么解呢?
在浏览器中用f12键调试,查看网页源代码,看到base64编码一段,问我怎么知道是base64。还有base64是干啥用的。
用java编程解开这段编码:
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
public class deBase64 {
public static void main(String[] args) {
String s="F96EF76E49F00A2CC41F6D52B4BC549E=";
String m;
m=getFromBASE64(s);
System.out.println(m);
}
在输出的地方可以看到m的值是一段代码:
var s="WDFLAG={This is the input}";var c="";for(i=0;i<s.length;i++){c+=String.fromCharCode((s[i]).charCodeAt(0)^85)}console.log(c);
根据提示信息放在网页的JavaScript中在代码前后加上标签同时将提示信息中的字符串写入:
<script language="javascript">
var s="WDFLAG={ h. =0u84!6=u:3u uuged`u<&u' ;;<;2(}";
var s1="h.=0u84!6=u:3uuuged`u<&u' ;;<;2(";
var c="";
for(i=0;i<s.length;i++)
{c+=String.fromCharCode((s[i]).charCodeAt(0)^85)
}
console.log(c);
</script>
保存到html中在浏览器中打开调试,在console端口可以看到如下信息。(此处注意给出的字符串,在基础编码文件里如txt可以看到,里面有不可辨认的隐藏字符,尝试操作)
h.u={The match of WDCTF 2015 is running}
旗开得胜 flag
资源来自杭州电子科技大学以此表达个人崇高的敬意和感谢。