【4.29安恒杯】writeup

  • #### 安恒杯_writeup

以下为比赛中做出的题目

MISC: SHOW ME THE FLAG-by-cyyzore

CRYPTO: LAZYATTACK-by-GoldsNow

这一题很巧,全部的队伍里面只有我们一个队伍将其做出来。
这一题做出来完完全全是靠运气,在当我做出这一题的时候感觉是懵逼的,完全不知道是怎么回事,flag一下子就出来了而且对了,很兴奋。队友都相互说用了和出题人同一个软件,才得到的答案。结果确实是和出题人用了同一个软件。

首先,因为巧合,师兄说了C语言跑的会比python快,然后去网上找C语言的DES解密代码。于是乎在网上找了两个版本的DES解密,一种只能解决8位

明文与8位密钥的算法,然后果断扔掉。
还有一个版本就是和出题人一样的。估计出题人也是网上拉的代码。看都不看的,加密解密验证一下就出题目了。

由于懒得修改程序,就新建了key.txt (这个也奠定了能够得到flag的基础。) 事实上密钥 就是key.txt。不过一定要用C语言来解密,其他的语言解密无效。

DES解密程序的主函数如下

int main()
{
    DES_Encrypt("1.txt","key.txt","2.txt");
    system("pause");
    DES_Decrypt("2.txt","key.txt","3.txt");
    getchar();
    return 0;
}

注:这个是刚刚下载下来的时候的代码。1.txt 是需要加密的文字,key.txt就是密钥!密钥。。2.txt 是加密后的文字,3.txt是解密后的文字。

题目错误分析过程:

一、 解密程序;
①当key.txt里面什么都不写的时候。

②当key.txt里面随便乱填的时候。

③当key.txt名称换成key1.txt且里面什么都不填的时候

**这个时候就没有flag了!
④当key1.txt乱填的时候:**

和③产生的结果是一样的。

二、同理生成代码的程序

同样的效果,不重复描述了。

三、代码分析

出题人使用的DES源码:DOWNLOAD IT!

CRYPTO:RSAROLL-by-wintersun

题目提示说不要用微软的notepad,机智的我,果断没用。。

  1. 使用notapad++打开文件。如下

  1. 使用RSATOOLS爆破密钥(软件放群里了)

  1. 解密代码如下
import binascii

# n = 0x367198D6B5614E95813ADD8F22A4717BC72BE1EABD933D1B86944FDB75B8ED230BE62D7D1B69D222095C128C86F82012ECB116191FD9D018A6D02F84DB27BC51A21307DC86F4BF771C691C143E5ABE549B5BD2D6EB1A21FD6270E7E1B48FE0611FBB2E1B0B3524E6F4DE8B4E4A345DA44A13DE825B72608DB6C7C4A40B78266E6C87BBFDEF6B48381D49C4507A58BCD47B76D64B45908B158BD7EBC4DACB0B1CFD6C2C19574F40EB2EFD0E9E10DC7005CAD39BCAF52B9EAC3873368D69031C5E724684A44F068EFD1D3DC096D9B5D6411E58BDEE43E46B99A0D0494B9DB28195AF901AFF130D4A6E203DAD08DA57FA7E40262A5BADB2A323EDA28B44696AB305D
# d = 4221909016509078129201801236879446760697885220928506696150646938237440992746683409881141451831939190609743447676525325543963362353923989076199470515758399L
# c = 0x1e04304936215de8e21965cfca9c245b1a8f38339875d36779c0f123c475bc24d5eef50e7d9ff5830e80c62e8083ec55f27456c80b0ab26546b9aeb8af30e82b650690a2ed7ea407dcd094ab9c9d3d25a93b2140dcebae1814610302896e67f3ae37d108cd029fae6362ea7ac1168974c1a747ec9173799e1107e7a56d783660418ebdf6898d7037cea25867093216c2c702ef3eef71f694a6063f5f0f1179c8a2afe9898ae8dec5bb393cdffa3a52a297cd96d1ea602309ecf47cd009829b44ed3100cf6194510c53c25ca7435f60ce5f4f614cdd2c63756093b848a70aade002d6bc8f316c9e5503f32d39a56193d1d92b697b48f5aa43417631846824b5e86
n  = 0x36D837C1
c  = '704796792,752211152,274704164,18414022,368270835,483295235,263072905,4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值