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

相关推荐
芯盾时代9 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全
00后程序员张15 小时前
Android证书绑定抓包失败?Android SSL Pinning绕过实战指南
android·网络协议·计算机网络·网络安全·adb·https·ssl
菩提小狗16 小时前
每日安全情报报告 · 2026-09-01
网络安全·漏洞·cve·安全情报·每日安全
Seraphina3617 小时前
记一次实验:利用缓存服务器规范化技术进行网页缓存欺骗
经验分享·笔记·网络安全·缓存
liulilittle18 小时前
REALITY 代理隧道的有效检测方法: 被动、主动与确定性三层实证研究
linux·服务器·网络·网络协议·安全·网络安全·通信
0xBADCODE18 小时前
动态DEX加载+反射+DES硬编码密钥:安卓三层逆向实战
android·java·python·安全·网络安全·逆向·ctf
liulilittle18 小时前
加密扩展记录 37B(含头口径):Go TLS 栈形态特征的适用域与配对勘误
网络·网络协议·计算机网络·网络安全·通信·tls·reality
xierui12312319 小时前
Anthropic安全复盘:会操作电脑的 Agent 如何分阶段上岗
人工智能·网络安全·架构·系统架构
黄金龙PLUS19 小时前
ASCON置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
杨浦老苏20 小时前
群晖 Docker 部署 LAN-Sheriff:实时监控局域网设备对外连接
网络安全·docker·监控·群晖·网络监控