UNCTF2021 少量wp(非web部分)

懒得找同余符号,统一打的=。

easy_rsa:

  没啥好说的。

  简单回顾下RSA:

    生成两个大素数p、q生成p*q=n,phi=(p-1)*(q-1);取素数加密模数e,计算d=e-1 mod phi

    公开e,n;存储d。

    对于明文m,使用加密c = me (mod n);对于密文c,使用解密m = cd (mod n).

 

探秘中世纪城堡:

  

 

 

   根据提示,可以得出本题采用了base64、凯撒、栅栏 三种加密。

  对于前两层,试凯撒密码偏移量:

  

  得到人话后,栅栏凑一下:

  

 

   

 

 

分析badusb流量:

  

 

   题目提示考键盘映射,但感觉大部分还是靠猜。已知UNCTF{}.

  前两位,20代表按住了shift、00代表不按。

  后两位,26个字母是按字母顺序相连的,数字是按键盘顺序相连的(0最后),

    再加上常见的花括号、斜杠之类的猜一猜就行了。

 

baby_rsa:

  相比正常的rsa,其他部分相同,只是最后的加密变成了 c= (mp+n)e (mod n)

  可知加密出的c一定是p的倍数;由gcd(c,n)求得p,进而求得q。

  用正常的RSA方法进行解密;解出的东西是 (mp+n) mod n

  除个p就行了。

 

ezlogin:

  运行它的程序 注册个用户名密码都是1的账号,再用它登录 直接出flag了

  麻了 ida od都没打开

  没有继续研究了。

 

py_trade:

  python操作码

  复原的时候,用dis跟着,一步步慢慢来。

  有个表达式还是比较长的,最好手动画栈看看。

  

   得到加密函数:

  

 

  它只有后一半加密有用,解密时只需要取后一半的逆过程就行了。

  

 

   注意异或运算优先级。

posted @   hiddener  阅读(182)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示