BUUCTF逆向wp [FlareOn4]login

按老规矩先查壳,但本题是html文件,查壳会报错

在网上查了一下,可以用vscode查看源代码,我们用VS code打开。

<!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>

本题涉及到rot13算法:rot13也是过去在古罗马开发的凯撒密码的一种变体。ROT13是它自身的逆反,即:要还原成原文只要使用同一算法即可得,故同样的操作可用于加密与解密。该算法并没有提供真正密码学上的保全,故它不应该被用于需要保全的用途上。它常常被当作弱加密示例的典型。

应用ROT13到一段文字上仅仅只需要检查字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后串行反转:N换成A、O换成B、最后Z换成M。只有这些出现在英文字母里的字符受影响;数字、符号、空白字符以及所有其他字符都不变。替换后的字母大小写保持不变。

我找了一个网站直接把密文PyvragFvqrYbtvafNerRnfl@syner-ba.pbz放入即可(这是个偷懒的办法)

Rot13编码/解码网站:https://lzltool.cn/Tools/Rot13

flag{ ClientSideLoginsAreEasy@flare-on.com }

还有就是编脚本的方法

分析一下脚本

  1. 函数定义:
    • def rot13(text): 定义了一个名为 rot13 的函数,它接受一个参数 text,这是需要进行ROT13编码的字符串。
  2. 初始化结果变量:
    • result = "" 初始化一个空字符串 result,用来存储转换后的结果。
  3. 循环遍历输入文本的每个字符:
    • for char in text: 对输入字符串 text 中的每个字符进行循环。
  4. 条件判断和字符转换:
    • if 'a' <= char <= 'z': 如果字符是小写字母,执行以下转换:
      • result += chr((ord(char) - ord('a') + 13) % 26 + ord('a')) 计算字符的ASCII值,将其转换为0-25范围内的一个数,加13后对26取模,再加上 'a' 的ASCII值,最后转换回字符并添加到结果字符串中。
    • elif 'A' <= char <= 'Z': 如果字符是大写字母,执行类似的转换:
      • result += chr((ord(char) - ord('A') + 13) % 26 + ord('A')) 这里的处理逻辑与小写字母相同,只是基准点变为了 'A'。
    • else: 如果字符既不是小写字母也不是大写字母(即非字母字符):
      • result += char 直接将该字符添加到结果字符串中,不做任何改变。
  5. 返回结果:
    • return result 在循环结束后,返回最终构建的结果字符串。

有关rot13算法和解码请参考以下几篇文章

Python的rot13加密_python rot13-CSDN博客

python rot13解密_ROT13 加密与解密-CSDN博客

Python破解Rot13密码_rot13 解码 python-CSDN博客

相关推荐
一名优秀的码农6 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
努力的lpp6 天前
SQLMap CTF 常用命令全集
数据库·web安全·网络安全·sql注入
努力的lpp6 天前
SQL 报错注入
数据库·sql·web安全·网络安全·sql注入
岛屿旅人6 天前
2025年中东地区网络安全态势综述
网络·安全·web安全·网络安全
努力的lpp6 天前
【ctf常用备用文件名字典】
web安全·网络安全·ctf
Mikowoo0076 天前
渗透测试_漏洞利用
网络安全
啥都想学点6 天前
pikachu靶场——Cross-Site Scripting-1(Kali系统)
网络安全
F1FJJ6 天前
基于网络隐身的内网穿透
网络协议·网络安全·go
苏天夏6 天前
Passport 插件:Typecho 密码安全的技术守护者
安全·网络安全·php
Lust Dusk6 天前
CTFHUB靶场 HTTP协议——302跳转
web安全·网络安全