这题实在是太复杂了,所以特地写了一个WP记录一下我的思路,同时给没思路的小伙伴一点参考。
参考文章:
https://blog.csdn.net/weixin_45696568/article/details/111413521
http://www.manongjc.com/detail/27-yvizdftissymciz.html

打开压缩包发现有两个txt:

标明了步骤,应该是先实现step1,再实现step2。

打开发现txt中有大量tab,尝试用snowfall解码。解码网址:https://vii5ard.github.io/whitespace/

step1.txt解码结果得到一个key:OK now you can run whitespace code. By the way, the key is H0wt0Pr1ntAWh17e5p4ceC0de.

step2.txt解码得到:

这个看起来是一个7z文件,里面有flag.txt这个文件。因为这个是乱码,要恢复这个7z就要找到他的byte格式,发现右侧flag区有一些堆栈命令:

好像可以生成bytes的,网上的wp都是修改whitelips网页的源代码输出格式直接生成byte,但是我为了避开这个步骤,写了个脚本试试把栈命令转换成byte再存成7z压缩包得到txt。脚本附上:


class StackDemo(object):def __init__(self):self.stack=[]def push(self,x):self.stack.append(x)def pop(self):self.stack.pop()def printc(self):print(self.stack[-1],end=' ')self.pop()def print(self):print(self.stack)def dup(self):self.push(self.stack[-1])def add(self):a=self.stack[-1]b=self.stack[-2]self.pop()self.pop()self.push(a+b)stack=StackDemo()
stack.push(0)
stack.push(98)
stack.add()
stack.dup()
stack.printc()
stack.push(103)
stack.push(117)
stack.printc()
stack.dup()
stack.printc()
stack.push(107)
stack.dup()
stack.printc()
stack.push(10)
stack.add()
stack.dup()
stack.printc()
stack.push(70)
stack.push(123)
stack.printc()
stack.dup()
stack.printc()
stack.push(49)
stack.dup()
stack.printc()
stack.push(120)
stack.dup()
stack.printc()
stack.push(65)
stack.dup()
stack.printc()
stack.push(45)
stack.add()
stack.dup()
stack.printc()
stack.push(69)
stack.dup()
stack.printc()
stack.push(-16)
stack.add()
stack.dup()
stack.printc()
stack.push(103)
stack.push(110)
stack.push(97)
stack.push(108)
stack.push(111)
stack.printc()
stack.printc()
stack.printc()
stack.printc()
stack.dup()
stack.printc()
stack.push(114)
stack.push(80)
stack.printc()
stack.dup()
stack.printc()
stack.push(-66)
stack.add()
stack.dup()
stack.printc()
stack.push(55)
stack.add()
stack.dup()
stack.printc()
stack.push(11)
stack.add()
stack.dup()
stack.printc()
stack.push(52)
stack.dup()
stack.printc()
stack.push(57)
stack.add()
stack.dup()
stack.printc()
stack.push(84)
stack.dup()
stack.printc()
stack.push(48)
stack.dup()
stack.printc()
stack.push(97)
stack.push(67)
stack.printc()
stack.dup()
stack.printc()
stack.push(114)
stack.push(117)
stack.push(55)
stack.push(112)
stack.printc()
stack.printc()
stack.printc()
stack.dup()
stack.printc()
stack.push(70)
stack.push(51)
stack.push(104)
stack.push(84)
stack.push(101)
stack.printc()
stack.printc()
stack.printc()
stack.printc()
stack.dup()
stack.printc()
stack.push(49)
stack.dup()
stack.printc()
stack.push(52)
stack.dup()
stack.printc()
stack.push(51)
stack.add()
stack.dup()
stack.printc()
stack.push(22)
stack.add()
stack.dup()
stack.printc()

把输出结果生成7z:

b=bytes([55,122,188,175,39,28,0,4,233,178,103,148,176,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,205,61,162,91,148,163,10,161,6,123,111,146,195,229,199,77,197,176,226,227,44,177,43,96,161,183,25,95,211,125,221,70,102,117,157,219,2,113,89,134,199,190,90,208,113,2,30,131,134,158,192,184,130,200,49,95,169,69,184,36,202,69,2,69,160,13,36,13,176,115,55,167,181,220,144,24,156,128,159,52,143,64,170,177,64,129,83,122,169,252,159,170,33,201,53,141,86,73,35,149,56,209,111,227,46,146,218,18,60,77,165,23,248,38,213,201,136,18,249,150,90,225,255,195,101,23,65,13,144,238,93,31,150,182,136,40,73,137,105,218,0,3,2,92,123,250,128,137,207,217,187,15,202,154,187,172,229,221,223,77,58,56,62,234,238,175,206,236,90,65,197,234,53,242,98,189,93,69,135,58,1,4,6,0,1,9,128,176,0,7,11,1,0,2,36,6,241,7,1,18,83,15,181,85,78,250,249,198,199,186,171,74,81,185,17,229,245,136,33,33,1,0,1,0,12,128,162,131,85,0,8,10,1,126,78,13,98,0,0,5,1,17,19,0,102,0,108,0,97,0,103,0,46,0,116,0,120,0,116,0,0,0,25,0,20,10,1,0,50,92,151,50,148,119,215,1,21,6,1,0,32,0,0,0,0,0])
with open('d.7z','wb') as f:f.write(b)

压缩包密码就是我们step1跑出来的key,打开压缩包发现了flag.txt。当我激动地打开txt后发现又是个whitelip加密。再到网页上跑的时候发现跑不出结果,看了别人的wp,原来是右侧的printc都被改成了drop,没办法还是得修改网页脚本,把printc的函数复制替换了drop的就ok了。
但是我为了避开修改脚本又重复了一次了刚才的步骤用自己的脚本跑出了一个txt(drop换成printc)。

大佬的WP在跑出step2.txt的时候直接修改网页脚本让输出形式变成byte(这样方便多了,但是凭我自己是不懂得改的,所以才一直避开这个步骤。。。

很笨的方法,师傅们见笑了

BugKu——snowfall的WP相关推荐

  1. Bugku:Snowfall

    Bugku: Snowfall 1.知识点 [1].WhiteSpace,是一种只用空白字符(空格,TAB和回车)编程的语言,==而其它可见字符统统为注释==. [2].栈的结构,==栈是先进后出== ...

  2. bugku 杂项 图穷匕见 wp

    bugku 杂项 图穷匕见 wp 1.可能是因为自己比较菜,这题我看别人的wp都看了半天才做出来,中间一些弯路也就不说了,就直接说一下重点.下载后是一张图片 2.看到图的第一眼我想到的是,左边肯定还有 ...

  3. bugku msic 答案wp

    bugku msic 答案wp 前言 May you be happy. wp 1.下载附件之后,获得一个文件,使用010Editor打开之后,发现是jpg格式. 2.修改之后,打开图片,发现左下角有 ...

  4. Bugku 密室逃脱 WP

    一.打开题目 二.解压文件夹,查看文件和压缩包,发现压缩包进行了加密 三.查看剧本,发现摩斯密码,并解析得到电脑密码:xjpc 四.输入电脑密码得到一张图片和一个压缩包,查看图片发现图片位置发生错误, ...

  5. Bugku Snowfall

    1.知识点 [1].WhiteSpace,是一种只用空白字符(空格,TAB和回车)编程的语言,而其它可见字符统统为注释. ​ 它本身是个指令式.基于堆栈的语言.其程式运行在上的虚拟机器均有一个堆栈(S ...

  6. 一些bugku的题目wp

    题目来源 bugku WEB 成绩单 传送门 手注 类sql注入题目. 直接查询可以查询到id=3. 1' order by 1# 1' order by 2# 到id=5时无返回数据,可以得知有四个 ...

  7. Bugku Misc 清凉一夏 wp

    题目 wp 下载之后得到一个二维码,扫码之后,获得如下内容: 先留着,之后会用到. 查看图片,使用010Editor打开图片,发现里面隐藏着压缩包. 打开kali,使用binwalk分离图片,得到一个 ...

  8. Bugku-杂项部分题目WP

    前言 一个新手学习CTFer的成长之路必定要通过大量的刷题,下面是bugku部分题目wp Bugku-MISC-论剑 把图片放进010发现有一串二进制先转ASCII码获得一个关键词,但不知道是什么东西 ...

  9. bugku上Snowfall解题过程

    MISC的Snowfall解题过程: 刚看到打开人直接傻掉,翻译一下暴风雪???什么鬼题,有没有一样这样想的 1:先看两个txt名字,告诉了步骤1,步2,所以肯定这个有用,给个网站: Whitelip ...

最新文章

  1. 【重磅】吴恩达宣布 Drive.ai 自动驾驶汽车服务落地 理想就这样成了现实!
  2. easyui combotree的使用
  3. 关于路径搜索的算法, 可能用到
  4. MySQL的varchar定义长度到底是字节还是字符
  5. Chipmunk僵尸物理对象的出现和解决(七)
  6. [转载]锦上添花Sybase数据库题目大网罗-4
  7. 新基建火了,开源云计算渠道能做什么?
  8. 2020蓝桥杯省赛---java---C---3( 跑步训练)
  9. linux权限c是什么意思,linux服务器下权限设置
  10. 【转】走进windows编程的世界-----对话框、文本框、按钮
  11. 新建的邮件服务器只能发件不能收件_49. Django 2.1.7 使用内置函数发送邮件
  12. python操作Oracle数据库
  13. 两个用于win7任务栏显示进度的dll
  14. 51单片机 code关键字
  15. 天线方向图仿真(面阵、圆阵、圆环阵)matlab
  16. 2021 年“认证杯”网络挑战赛 B 题(第一阶段)
  17. 用于使计算机发出嘟嘟声的宏命令,2012年计算机等级考试二级Access辅导笔记:Access宏的使用...
  18. python 编程入门学习基础
  19. 新手如何使用腾讯云云服务器详细教程
  20. 汽车标志国内品牌国际品牌列表

热门文章

  1. Git 工具(写的很乱)
  2. 期货反向跟单--戏剧性的事实
  3. python实现gui+mysql图书管理系统_用Python Django框架写一个图书管理系统LMS
  4. 数据库隔离级别解决脏读、不可重复读、幻读
  5. 电脑组装好了开机完全没反应?
  6. 验证方法学的历史及比较
  7. RTX3050、3050Ti相当于什么水平?
  8. 智能学习 | MATLAB实现基于HS和谐搜索的时间序列未来多步预测
  9. python重装之前要卸载吗_关于fedroa下安全地卸载和重装python
  10. 电脑卡顿反应慢怎么处理?电脑提速,4个方法!