cryptohack wp day (2)
接着昨天的题目
第五题

看题目,一道简单的xor题,就是将“label中每个字符与13进行异或处理”,直接上代码:
s="label"
result = ""
for i in s:
result+=chr(ord(i)^13)
print(result)
或者按照题目所说,用pwntools库中的xor函数来进行异或操作,具体操作如下:
from pwn import xor
s1 = "label"
s2 = 13
result = xor(s1,s2)
print(result)
第六题

按照题目所给:
KEY1 = a6c8b6733c9b22de7bc0253266a3867df55acde8635e19c73313
KEY2 ^ KEY1 = 37dcb292030faa90d07eec17e3b1c6d8daf94c35d4c9191a5e1e
KEY2 ^ KEY3 = c1545756687e7573db23aa1c3452a098b71a7fbf0fddddde5fc1
FLAG ^ KEY1 ^ KEY3 ^ KEY2 = 04ee9855208a2cd59091d04767ae47963170d1660df7f56f5faf
对其进行分析:(KEY2 ^ KEY1) ^ KEY1 = KEY2 ^ (KEY1 ^ KEY1) = KEY2 ^ 0 = KEY2
同理:KEY2 ^ (KEY2 ^ KEY3) = (KEY2 ^ KEY2) ^ KEY3 = 0 ^ KEY3 = KEY3
即:(FLAG ^ KEY1 ^ KEY3 ^ KEY2) ^ KEY1 ^ KEY3 ^ KEY2 = FLAG
代码如下:
from pwn import xor
from binascii import unhexlify
k1 = 'a6c8b6733c9b22de7bc0253266a3867df55acde8635e19c73313'
k21 = '37dcb292030faa90d07eec17e3b1c6d8daf94c35d4c9191a5e1e'
k23 = 'c1545756687e7573db23aa1c3452a098b71a7fbf0fddddde5fc1'
fk123 = '04ee9855208a2cd59091d04767ae47963170d1660df7f56f5faf'
k2 = xor(unhexlify(k21),unhexlify(k1))
print(k2)
k3 = xor(unhexlify(k23),k2)
print(k3)
flag = xor(unhexlify(fk123),unhexlify(k1),unhexlify(k23))
print(flag.decode())
第七题

通过题目我们能知道这道题是将flag通过与一个简单的字节进行异或操作,我们可以通过遍历这个字节从而拿到flag
代码如下:
s = '73626960647f6b206821204f21254f7d694f7624662065622127234f726927756d'
decode_s = bytes.fromhex(s)#根据题目提示,先进行16进制解码
print(decode_s)
#接下来遍历可能的异或
for i in range(256):
flag = ''.join(chr(j^i) for j in decode_s)
print(str(i) + ":" + flag)
在一堆乱码中找到flag

第八题

一般他给的注意就是解题的关键,题目说注意题目格式,且只给了密文,猜测前面几个字节与“crypto{”有关,先解码在进行异或试试,如下,解出key:
s = '0e0b213f26041e480b26217f27342e175d0e070a3c5b103e2526217f27342e175d0e077e263451150104'
decode_s = bytes.fromhex(s)#根据题目提示,先进行16进制解码
print(decode_s)
k = "crypto{"
key = ""
for i in range(7):
key +=(chr(ord(k[i])^decode_s[i]))
print(key)
解的key为:myXORke,由于直接异或操作flag错误,猜测key为:myXORkey,结果对了,ctf题中需要猜测的地方还是挺多的。。。。
from pwn import xor
key = key + "y"
flag = xor(decode_s,key.encode())
print(flag)
cryptohack wp day (2)的更多相关文章
- Android指针管理:RefBase,SP,WP (二)
(1)在Android中,RefBase结合了sp和wp,实现了一套通过引用计数的方法来控制对象声明周期的方法. RefBase的定义在/frameworks/base/include/utils/R ...
- 记一次坑爹的RSA旅程____快哭了555555555(来自实验吧的warmup的wp和感想)
这么简单的题目搞了我那么久,森森感觉自己菜的不行....哎,努力吧少年,BXS已经全国第二了. 嗯,废话不说,这道题目来自实验吧的"warmup",附上链接 http://www. ...
- 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...
- 1.[WP Developer体验Andriod开发]之Andriod布局 VS WinPhone布局
0.写在前面的话 近来被HTML+CSS的布局折腾的死去活来,眼巴巴的看着CSS3中的flex,grid等更便捷更高效的的布局方式无法在项目中应用,心里那叫一个窝火啊,去你妹的兼容性,,, 最近体验下 ...
- 黄聪:Wordpress二级域名共享用户cookie出现错误解决方案及WP的Cookie机制
在若干年以前,我刚开始折腾Wordpress没多久的时候,就自己摸索过 多个Wordpress网站共享一份数据表的实现方法 .这种看起来好像很高大上的类SSO功能,能够给用户在多个网站之间提供快速.无 ...
- WordPress插件制作笔记(三)---Stars Comments Article
wp 文章星级评价 插件 下载地址4:http://pan.baidu.com/s/1eQnGIGU [articles_star_vote_score_optiontable_serialize_c ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(5)- 再聊eFUSE及其烧写方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的eFUSE. 在i.MXRT启动系列第二篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子 ...
- 7 Serial Configuration 理解 (一)
reference : ug470- 7 series config.pdf 7系列器件有5种配置接口,每种配置接口对应一种或者多种配置模式和总线位宽.配置时序相对于引脚的CCLK,即使在内部产生C ...
- 用WP SMTP插件实现邮件发送功能
WordPress本身是采用mail()函数发邮件的,但是这样发出的邮件很容易被放入垃圾箱,很多主机商(特别是Windows主机)为了避免用户滥发邮件直接禁用了mail()函数,还有些云计算平台(比如 ...
- 转载:收费版APP三年总结(个人经验+数据图分享)
各位朋友好,apop感觉这里的朋友有许多是以广告收入为主,所以apop来分享另外一块(收费版APP)的个人三年来的总结分享,希望对各位有帮助.首 先,其实在AppStore(或GooglePlay)上 ...
随机推荐
- dosbox debugger
通过中断看程序运行过程 最终目的是要找到数据保存位置,如何保存到文件的.
- Linux 复制时排除某文件/目录
如果要排除/home/data目录下面的a.b.c.三个目录,同时拷贝其它所有目录,执行rsync命令yum install rsync -y #安装rsync 排除单个文件/目录rsync -avP ...
- 修改百分浏览器(centbrowser)、谷歌和火狐浏览器默认字体的方法
1,百分浏览器(centbrowser) 在浏览器的安装位置D:\Program Files\Cent Browser\User Data编辑文件custome.css,如果没有此文件可新建一个,内容 ...
- vitrualbox虚拟机搭建
参考:https://blog.csdn.net/weixin_45115705/article/details/100661644?depth_1-utm_source=distribute.pc_ ...
- buuoj.cn-web刷题记录-笔记
1.万能密码 [极客大挑战 2019]EasySQL username=admin' or '1'='1&password=admin' or '1'='1 因为拼接为sql 会变成 sel ...
- 微信小程序中注册页面设计
.wxml <text>姓名</text> <input placeholder="请输入姓名" bindinput="getname&qu ...
- 执行sql语句,查询sql版本
SELECT VERSION();
- nvm use时报错 exit status 1:一堆乱码,exit status 5
如图,nvm list 的时候,在只有一个node版本的时候,也没有指向,表示未启用到这个版本 当使用nvm use 12.13.1的时候,报错 原因是我在之前多次安装node,出错了就删除包,再次安 ...
- 整合Swagger2
整合Swagger2 1.Swagger介绍 前后端分离开发模式中,api文档是最好的沟通方式. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web ...
- CF1037H Security题解
根据字典序的定义,位置大的大于长度长的,长度长的大于长度短的. 所以我们贪心,先追求长度长的,再追求后面的位置大的,再追求前面的位置大的. 我们要一个能遍历子串的结构,就选 SAM 得了. 还有个限制 ...