【Write up】bugku--convert
程序员文章站
2022-05-16 09:11:18
...
下载附件1.txt,打开看到全是0、1
看到这么多0、1,第一想法就是进行进制转换,将二进制转成10进制或者16进制等,方便下一步操作,由于文件内容较多,在线工具没法转换,写个简单的python脚本跑一下吧:
f1=open('1.txt','r')
#二进制转10进制
oct1=int(f1.read(),2)
#十进制转16进制
hex1=hex(oct1)
#将十六进制文件写入文件
out.txtf2=open('out.txt','w')
f2.write(hex1)
#关闭文件
f1.close()
f2.close()
转成16进制之后,删除开头的0x,然后在进行十六进制转ASCII码操作(可以直接用notepad++的插件)
转成ASCII码之后,看到开头Rar!,很明显的rar文件头,修改文件后缀为.rar
修改后缀之后,解压得到图片key.jpg,接下就是图片隐写相关的常规操作(查看属性、010 editor、stegsolve等),在图片属性“主题”里面发现一串base64编码的字符串:
ZmxhZ3swMWEyNWVhM2ZkNjM0OWM2ZTYzNWExZDAxOTZlNzVmYn0=
解码,得到flag
本题主要考察简单的进制转换脚本编写,以及图片隐写相关知识。
更多精彩内容欢迎关注微信公众号:红蓝攻防
可直接扫描二维关注
推荐阅读
-
PHP中copy on write写时复制机制介绍
-
深入浅析Jsp中 out.print 和 out.write 的区别
-
python文件写入write()的操作
-
Jawbone UP运动手环在哪里设置闹钟?
-
python write无法写入文件的解决方法
-
解决Linux下ssh登录后出现 报错 Write failed: Broken pipe 的方法
-
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
-
UP主恶搞《你钉起来真好听》 钉钉回应:* 已经会唱了
-
RESPONSE.WRITE和<%=%的区别
-
PHP 之 写时复制介绍(Copy On Write)