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

相关推荐
2301_780789663 小时前
UDP和TCP的主要区别是什么
服务器·网络协议·web安全·网络安全·udp
一只栖枝5 小时前
HCIA-Security 认证精讲!网络安全理论与实战全掌握
网络·web安全·网络安全·智能路由器·hcia·it·hcia-security
云资源服务商17 小时前
探索阿里云ESA:开启边缘安全加速新时代
网络安全·阿里云·云计算·边缘计算
小红卒17 小时前
sqli-labs靶场通关笔记:第24关 二次注入
网络安全·sql注入漏洞
帅帅梓17 小时前
NE综合实验2:RIP 与 OSPF 动态路由精细配置及ACL访问控制列表 电脑
笔记·网络协议·计算机网络·网络安全·信息与通信
kp0000018 小时前
PHP strip_tags() 函数详解
网络安全·php
武汉唯众智创1 天前
职业院校网络安全攻防对抗实训室解决方案
网络·安全·web安全·网络安全·攻防对抗·网络安全攻防对抗实训室·网络安全攻防对抗
码农12138号2 天前
BUUCTF在线评测-练习场-WebCTF习题[RoarCTF 2019]Easy Java1-flag获取、解析
java·web安全·网络安全·ctf·buuctf·任意文件下载漏洞
Raners_2 天前
【Java代码审计(2)】MyBatis XML 注入审计
xml·java·安全·网络安全·mybatis
枷锁—sha2 天前
【DVWA系列】——File Upload——High详细教程(webshell工具哥斯拉)
网络·web安全·网络安全