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博客

相关推荐
lubiii_42 分钟前
网络安全需掌握的专业术语解析
安全·web安全·网络安全
无名修道院14 小时前
DVWA 靶场搭建:Windows11(phpstudy 搭建)(步骤 + 截图 + 常见问题)
数据库·网络安全·渗透测试·靶场·php·dvwa·phpstudy
内控王19 小时前
电力行业违规外联如何解决?
网络安全
一岁天才饺子21 小时前
XSS漏洞总结复盘
web安全·网络安全·xss
bleach-1 天前
buuctf系列解题思路祥讲--[极客大挑战 2019]HardSQL1——sql报错注入
数据库·sql·安全·web安全·网络安全
christine-rr1 天前
【网络安全实验】IPSec的配置与实现
网络·计算机网络·安全·web安全·网络安全
Wnq100721 天前
当无人机 “飞” 入生活,安全隐患如何破解?
嵌入式硬件·物联网·网络安全·信息与通信·信号处理
儒道易行1 天前
【钓鱼攻防】浅谈CobaltStrike钓鱼手法集锦
网络·安全·web安全·网络安全
白帽子凯哥哥2 天前
如何从零开始搭建一个安全的渗透测试实验环境?
安全·web安全·网络安全·渗透测试·漏洞挖掘
独行soc2 天前
2025年渗透测试面试题总结-280(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮