首页
论坛
课程
招聘
[原创]KCTF 2019 Q1 第十题----初入好望角
2019-3-24 21:25 1964

[原创]KCTF 2019 Q1 第十题----初入好望角

2019-3-24 21:25
1964

初入好望角




用Exeinfo检查提示为.Net,放入.Net Reflector分析得出字符串是由C#原生的加密方法加密

所以直接用RijndaelManaged解密即可,解密代码:

    class RijndaelExample
    {
          static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
        {
            // Check arguments.
            if (cipherText == null || cipherText.Length <= 0)
                throw new ArgumentNullException("cipherText");
            if (Key == null || Key.Length <= 0)
                throw new ArgumentNullException("Key");
            if (IV == null || IV.Length <= 0)
                throw new ArgumentNullException("IV");

            // Declare the string used to hold
            // the decrypted text.
            string plaintext = null;

            // Create an RijndaelManaged object
            // with the specified key and IV.
            using (RijndaelManaged rijAlg = new RijndaelManaged())
            {
                rijAlg.Key = Key;
                rijAlg.IV = IV;

                // Create a decryptor to perform the stream transform.
                ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);

                // Create the streams used for decryption.
                using (MemoryStream msDecrypt = new MemoryStream(cipherText))
                {
                    using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
                    {
                        using (StreamReader srDecrypt = new StreamReader(csDecrypt))
                        {
                            // Read the decrypted bytes from the decrypting stream
                            // and place them in a string.
                            plaintext = srDecrypt.ReadToEnd();
                        }
                    }
                }

            }

            return plaintext;

        }

        static void Main()
        {
            byte[] text = Convert.FromBase64String("4RTlF9Ca2+oqExJwx68FiA==");
            byte[] iv = Encoding.UTF8.GetBytes("Kanxue2019CTF-Q1");
            byte[] rgbKey = new PasswordDeriveBytes("Kanxue2019", null).GetBytes(0x20);


            string str = DecryptStringFromBytes(text, rgbKey, iv);

            Console.WriteLine(str);
        }
    }

最后解密得出答案为:Kanxue2019Q1CTF


[培训]12月3日2020京麒网络安全大会《物联网安全攻防实战》训练营,正在火热报名中!地点:北京 · 新云南皇冠假日酒店

最后于 2019-3-24 21:26 被MTRush编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回