| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> BUUCTF(变异凯撒) -> 正文阅读 |
|
[Python知识库]BUUCTF(变异凯撒) |
小白看到题目的第一眼应该是没有思路,(我指的是纯小白) 我看到这个txt中的文本时就自动把afZ_和flag{}对上了。。。然后再看,偏移量?肯定不是,字母对不上,再看ASCII a, f, Z, _的ASCII码是 97, 102, 90, 95 而再看这里flag的ASCII码是102,108,97,103; 每个对应的都会相差5,可以自己推,不过感觉比较麻烦。。。 然后用python写个脚本:(借鉴的) def b_kaisa(str):
first_step = 5 #首位ascii码的位移步长
i = 0
result = []
for i in range(len(str)):
as_num = ord(str[i]) #将数据序列变为ascii码
as_num += first_step
result.append(as_num) #将变为ascii码后的数据序列加入数组
first_step += 1
i += 1
return result
question = 'afZ_r9VYfScOeO_UL^RWUc'
result = b_kaisa(question)
print(result)
#由于函数体返回的是一个ascii码的数据序列,类型为列表,我们要将他转化成字符串类型
for i in result:
print(chr(i),end='')
运行即得flag
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 1:19:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |