XCTF之web2(解密)解题代码
题目给出加密代码如下:
看其代码加密逻辑如下:
1、反转字符串
2、逐位提取各位上的字符转换为ascii后-1
3、进行base64编码
4、反转字符串
5、rot13加密
6、输出密文
根据以上逻辑,用python3给出解密代码如下:
import base64
# ROT13字符变换,要变回去再调用一次即可。
def rot13(s, OffSet=13):def encodeCh(ch):f = lambda x: chr((ord(ch) - x + OffSet) % 26 + x)return f(97) if ch.islower() else (f(65) if ch.isupper() else ch)return ''.join(encodeCh(c) for c in s)def main():miwen = 'a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws'miwen = rot13(miwen)miwen = miwen[::-1]miwen = base64.b64decode(miwen)miwen = str(miwen,'utf-8')print(miwen)mingwen = ""for _0 in range(0, len(miwen)):_c = ord(miwen[_0])fuck = (_c)-1mingwen+=(chr(fuck))print(mingwen[::-1])
if __name__ == '__main__':main()
运行得到flag:

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
