关于DES的一点吐槽

2014年12月10日 下午 4:24 来自 Azure 浏览(441)

首先、题目是HCTF Final那道hehehe,然后扒了一个rar出来,解出来有一张图和一个doc,doc拖到winhex然后把des的数据块抠出来,那么问题来了

des解码哪家强

首先先用openssl尝试了下

得到了bad magic number解码失败
然后用pycrypt,不知道怎么搞的反正昨晚上from crypto.cipher import *一直告诉我没这个模块……搞得我最后无奈用了pyDes,卡死劳资了,不过还好解出来了。
今天早上把python的site啥啥里面的pycrypt都删了重装了一下又好了……Otz难道是版本太多不知道导入哪个么……
然后

就可以正确解码了。

然后问题又来了、为什么openssl不行呢?于是我查了一大坨资料外加到处的问……好像各种加密算法在各种语言之间加密结果不通用已经由来已久了,船长说是密钥存储格式不同、后来折腾了半天……船长问了我一句iv设置没有……然后我尝试了好几遍

这尼玛iv根本对解密结果没影响好么……什么都是失败……,然后仔细看了下……卧槽原来-iv和-K配合使用……于是

(╯‵□′)╯︵┻━┻终于换提示了、可是还是失败卧槽、好了既然都换提示了……我们来加密下解密出来的数据试试

20141210155956
对比一下发现前面都一样,最后一块不一样,想了下……加密前文件差两个字节满0x28F60个字节……应该是padding的问题……那就改参数吧,查了下只有个-nopad没有其他参数……于是加上

(╯‵□′)╯︵┻━┻说好的encrypt呢……怎么变成bad decrypt了……
好吧那我就直接解吧……

Otz这次竟然成功了……奇怪的openssl

然后后来发现-P可以看参数、看了下之前的错误参数

正常

Otz上面那是个什么玩意啊……这能解出来才见鬼了

其实中间还拿nodejs试了一下、结果和openssl一样……于是后来openssl错误解决以后使用

这样的代码也成功解码了数据块。

_(:з」∠)_论不偷懒的重要性……偷懒造成了结果的多样性……嘛……先这样了、滚去准备考试了。

您的邮件地址将不会被公开.
Required fields are marked *