FlareOn4_login

文章发布时间:

最后更新时间:

文章总字数:
369

预计阅读时间:
1 分钟

题目的形式很新颖 没遇到过 就记录下来

打开后的附件是一个网站

要求我们输入flag 然后点击按钮进行判断

查看一下网页的源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE Html />
<html>
<head>
<title>FLARE On 2017</title>
</head>
<body>
<input type="text" name="flag" id="flag" value="Enter the flag" />
<input type="button" id="prompt" value="Click to check the flag" />
<script type="text/javascript">
document.getElementById("prompt").onclick = function () {
var flag = document.getElementById("flag").value;
var rotFlag = flag.replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);});
if ("PyvragFvqrYbtvafNerRnfl@syner-ba.pbz" == rotFlag) {
alert("Correct flag!");
} else {
alert("Incorrect flag, rot again");
}
}
</script>
</body>
</html>
1
2
3
return String.fromCharCode((c <= "Z" ? 90 : 122)
判断读入的字符大小写情况 并返回ascii码值
并且为下面的判断规定了范围
1
2
3
4
(c = c.charCodeAt(0) + 13) ? c : c - 26);}
将当前字符的ascii码值加13后进行一个判断 如果大于Z或者z 则-26
如果没有大于就返回加13后的值
也就是常规的凯撒密码 偏移量是13 找到下方的密文 进行凯撒变化后 得到flag

ClientSideLoginsAreEasy@flare-on.com