首页 > 代码库 > 17.NSCTF web200

17.NSCTF web200

这题不饶,直接编程即可

    技术分享

    我直接贴上我的Python代码

    

#!/usr/bin/python
#coding=utf-8

import base64

#ror13加密函数(密文传入就是解密,明文传入就是加密)
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 decode(strs):
    flag = ""#存储flag
    flag_x = ""#获取flag中的每一个字符
    
    strs = strs[::-1]#反转字符串
    
    strs = base64.b64decode(strs)#base64解码
    
    for i in strs:#遍历每一个字符
        
        flag_x = ord(i)-1#每一个字符ascii码-1
        flag_x = chr(flag_x)#转换位字符串
        flag = flag+flag_x#字符串连接
        
    flag = flag[::-1]#反转字符串
    return flag#获得flag

def main():
    strs = "a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"#需要破解的密码
    flag = rot13(strs)#rot13解密
    flag = decode(flag)#题目解密
    print flag#输出flag

if __name__ == "__main__":
    main()

    注意:其中rot13是网上找的代码

    结果如下:

    技术分享

本文出自 “11846238” 博客,请务必保留此出处http://11856238.blog.51cto.com/11846238/1952480

17.NSCTF web200