freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CTF萌新赛-re_signin解题思路分享
2021-11-24 13:26:04

前言心得总结

此题目是考点是冒泡法排序,根据分析代码中的等式逻辑,计算出flag。

  • 下载题目

1、下载ZIP压缩包,具体如下图

  • 点击“View Hint”,获得提示“冒泡排序次数”,具体如下图

  • 分析过程

根据提示“冒泡排序次数”,此题目大概率是计算冒泡排序的次数得到flag,具体操作还需要根据下载下来的代码进行分析。

三、解题过程和结果

1、反编译

解压以后的文件为flag.pyc,经过反编译后得到flag.py,具体反编译指令如下

uncompyle6 D:\ctf\learn\web\001re_signin\so_ez_re\flag.pyc > D:\ctf\learn\web\001re_signin\so_ez_re\flag.py

2、分析冒泡排序原理

分析一下,这个代码就一个冒泡排序,然后当count==c[t]的时候,C[t]是ord(flag)得到的,所以当count与ord(flag[i])相等的时候输出,根据描述count is times,结合那个flag.txt的内容,可以知道就是将每行拿去冒泡排序并计算排序次数,就可以得到flag了,具体代码如下图:

运行好后的到如下结果:

synt{jrypbzr_gb_arjfpgs

3、Rot13解密

看到synt的时候,首先想到跟flag的位数一样,应该经过古典的加密方法,优先使用Rot13解密后得到如下结果:

密文:

synt{jrypbzr_gb_arjfpgs

Rot13解密后的原文:

flag{welcome_to_newsctf

4、最终flag

看到解密结果为flag{welcome_to_newsctf,补充一下最后边的},得到最终的flag为flag{welcome_to_newsctf}  。

# CTF # 网络安全技术
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录