【月饼杯】re3 wp

admin 2022年1月5日22:53:57评论98 views字数 634阅读2分6秒阅读模式

>

>

【月饼杯】re3 wp

Lazzaro

详见:

https://lazzzaro.github.io/2020/09/26/match-CTFshow-月饼杯/#re3-若无月

赛后对照着RC4算法啃做出。

IDA-F5找到关键字“Triglavian”+一串类似base64密文+一串类似base64码表,跟进关键字进入sub_401360函数,在case 1u内找到关键代码。

RC4算法包括初始化算法(KSA)和伪随机子密码生成算法(PRGA)两大部分。
(RC4 algorithm including initialization algorithm (KSA) and pseudo-random sub-password generation algorithm (PRGA) two parts.)

对照标准RC4算法,sub_401360函数中实现了KSA部分,可以发现改动了初始key数组(使用的newkey数组为aTriglavian变量中各字母对应码表的下标值,而非简单的字母对应ASCII值)和数组大小(使用64,非256)。

再往下看未发现PRGA部分,回到汇编代码文本视图,全局搜索S[,发现另一个函数sub_401160也存在。

跟进sub_501160函数,发现RC4算法的PRGA部分。

可以发现最后的异或部分,选取密文中每个字母,得到对应码表的下标值k,与标准生成的密钥流S[(S + S[j]) % 64]异或后得到新下标值,替换成码表中对应的字母。由于RC4的对称性,结果即为明文。


免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月5日22:53:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【月饼杯】re3 wphttps://cn-sec.com/archives/719515.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息