越南CTF的crypto 100
2015-08-03 11:00
344 查看
自己做CTF还是没有经验,本来以为crypto更多应该是python编程的,结果这个100的题目是Do you love Arithmetic?
打开文件来看内容是
# charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{}"
# len(cipher) = 50
0.767613654951
0.5474434438
0.0141530116256
0.905785091354
0.984599892983
0.108635603812
0.140881010733
0.048862585782
0.0314901531258
0.234154054307
然后就是没有思路了。。。它题意应该是字符集是给定的那些,然后密文的长度是50,之后给了10个小数。不知道要干嘛。最后是曹老师脑洞大开想出解法。
现在我通过解法来倒退一下这题该怎么想,但也只能是非得按照出题者的脑洞来想吧。
字符集是64个,给了10个小数。
第一步:要通过这10个小数在字符集中选择哪些字符
通过小数怎么选择呢,又不是整数或是数组下标那般,就得想到因为字符集是64个,把小数按照64进制转10进制的思想,每一个小数乘以64取其整数,这样就得到一个选择了,然后因为密文的长度是50,10个小数,所以这时乘以5次64就好了,这时会惊奇地发现这几个整数对应的正是White,说明思路对了。
然后对第二个小数也这么做,对接下来的小数都这么做了之后发现,结果并不理想。得到的并不是想象中的WhiteHat{FLAG}这种形式,在第二个小数乘完之后,取完整数发现不是hat,而是一个移位的hat字符,又得想到可能要一个一个移位,第二个小数移一位,第三个移两位。。。第十个小数要移九位,这样。
得到了一个可喜的结果WhiteHat{3927ff16cee6714aa24e5c68ac7ab6b53109e187}
话说以后真不希望有这种脑洞题了。。。乖乖地python编程不好吗。。。当然那样做我也不一定会。。。
打开文件来看内容是
# charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{}"
# len(cipher) = 50
0.767613654951
0.5474434438
0.0141530116256
0.905785091354
0.984599892983
0.108635603812
0.140881010733
0.048862585782
0.0314901531258
0.234154054307
然后就是没有思路了。。。它题意应该是字符集是给定的那些,然后密文的长度是50,之后给了10个小数。不知道要干嘛。最后是曹老师脑洞大开想出解法。
现在我通过解法来倒退一下这题该怎么想,但也只能是非得按照出题者的脑洞来想吧。
字符集是64个,给了10个小数。
第一步:要通过这10个小数在字符集中选择哪些字符
通过小数怎么选择呢,又不是整数或是数组下标那般,就得想到因为字符集是64个,把小数按照64进制转10进制的思想,每一个小数乘以64取其整数,这样就得到一个选择了,然后因为密文的长度是50,10个小数,所以这时乘以5次64就好了,这时会惊奇地发现这几个整数对应的正是White,说明思路对了。
然后对第二个小数也这么做,对接下来的小数都这么做了之后发现,结果并不理想。得到的并不是想象中的WhiteHat{FLAG}这种形式,在第二个小数乘完之后,取完整数发现不是hat,而是一个移位的hat字符,又得想到可能要一个一个移位,第二个小数移一位,第三个移两位。。。第十个小数要移九位,这样。
得到了一个可喜的结果WhiteHat{3927ff16cee6714aa24e5c68ac7ab6b53109e187}
话说以后真不希望有这种脑洞题了。。。乖乖地python编程不好吗。。。当然那样做我也不一定会。。。
相关文章推荐
- Python开发入门与实战13-基于模板的界面
- poj 2299 归并排序求逆序数 (可做模板)
- 爬虫笔记
- MySQL创建用户及权限控制
- Linux部署Tomcat服务器
- MySQL管理数据表
- jQuery.post()函数
- Search in Rotated Sorted Array II
- 用StringBuilder(StringBuffer)#append替代字符串”+”会带来性能提升吗
- MySQL Index详解
- C#高级编程六十四天----并行扩展
- inputType属性
- vs2010 使用vs online账号 需要安装的插件
- HDU 2476 区间DP String painter
- 手动编译安装LAMP架构,并且实现nagios图形化监控(十)
- 书签中使用JS
- Info.plist 和 pch 文件
- p1501 二叉树最大宽度和高度
- jsp使用cookie实现记住密码的功能
- [译]CasperJS,基于PhantomJS的工具包