Bugku杂项(1—28)
1.签到题
只要关注公众号就可以得到 flag---开胃菜
2.这是一张单纯的图片
用Winhex打开,会发现最下面有一行编码:
key{you are right}
是一串HTML编码,解密下就行了。
3.隐写
下载文件,解压缩,发现缩略图和打开后的图片不一样,再用Winhex打开,发现IHDR,后面应该是图片大小。用binwalk也没有看到有压缩文件,猜想可能是将照片截断了,没有显示出来,这里将宽和高都改成F4,就可以了。
4.telnet
pacp文件,用wireshark打开,然后追踪流,TCP追踪,就拿到flag了。
5.眼见非实(ISCCTF)
下载后放在Linux里解压,有一个docx文件,打开后发现乱码,用binwalk发现是一个zip文件,将文件后缀改为zip,解压,发现与很多文件,flag在word文件夹中的document.xml中。
6.啊哒
winhex、notepad++打开都没发现什么。
放在linux下用binwalk分析,发现有zip文件,在分解出来,将zip文件整到桌面上,发现需要解压密码,破解密码发现无法破解。
再从图片上找问题,属性
将照相机型号中的16进制转 字符串得到sdnisc_2018,这就是解压密码。
解压后发现flag。
7.又一张图片,还单纯吗
StegSolve 工具。用Analyse-->Frame Browser可以看到有2帧的图片,第二个就是 flag
8.猜
一张照片,根据提示是某个人,这里用百度识图,就知道答案了。 注意是全拼。
9.宽带信息泄露
下载的是一个 conf.bin的文件,百度后发现是路由器的备份配置文件,用工具Router_Pass_View可以直接打开
win10打不开此工具,用win7打开,根据提示搜索username就拿到flag了。
10.隐写2
下载下来,binwalk发现有压缩文件,分解一下,找到里面的flag文件,有一个图片,用Winhex打开,发现文件最后有一串类似flag的东西,提交不了的,需要把大括号中的base64解码一下就行了。
11.多种方法解决
将目标文件用notepad++打开,发现是base64码,由提示:在做题过程中你会得到一个二维码图片。
于是想到base64码转图片,转之后扫描一下就拿到flag了。
12.闪的好快
将文件一帧一帧的查看并扫描,拼接扫描信息,拿到flag。
13.come_game
下载打开发现是一个游戏,根据题的提示:听说游戏通关就有flag。
所以就只有想办法通关了,玩玩发现不可能玩通关的,这是仔细观察,发现文件夹里多了几个文件,应该是记录游戏数据的,有save1文件,用Winhex打开里面有一个数字,既然要通关,猜想这里可能是记录第几关的,改成5保存,进入游戏,选择loadgame会发现flag。
但会发现提交不正确,他这里没有写格式,实际上应该是SYC{},这样就正确了。
14.linux
linux的基础问题,下载后是一个tar.gz文件,放到linux中tar -xzf 1.tar.gz 解压出来,查看文件内容就行了。
15.隐写3
文件下载后用各种工具试了,没线索,最后猜想可能是图片被截,于是用Winhex打开,将IHDR后的数据改成这样
再打开图片就看到flag了。
16.做个游戏(08067CTF)
题上说坚持60秒,打开游戏后发现根本坚持不了60秒,就算能,不知道要花多少时间。
用Winhex打开,
从这的文件头发现是压缩文件,将问价后缀改成zip,解压发现里面的class文件,用java反编译工具打开,搜索flag就拿到了。
17.想蹭网先解开密码
给了个包,给了密码的一部分,让破解WiFi密码。
打开kali,首先生成一个密码字典,这个用Python就行:
for a in range(0,10):
for b in range(0,10):
for c in range(0, 10):
for d in range(0, 10):
print("1391040%d%d%d%d"%(a,b,c,d))
将生成的字典和包放在一个文件夹里,然后执行命令:aircrack-ng wifi.cap -w psw.txt(你的字典文件)
然后就拿到密码了。
除此方法,也可导入包和字典用EWSA破解。
18.Linux2
下载文件用notepad++打开,搜索KEY,找到flag。
19.账号被盗了
打开网页,点击getflag,结果是:You are not an admin!
URL上是cookieflag.php,所以想到可能是cookie,火狐的F12控制台输入document.cookie,查找cookie,然后输document.cookie="isadmin=true",来修改一下(也可用bp抓包修改,也可在控制台的存储中修改)。
然后再点击getflag,会给你一个链接,http://120.24.86.145:9001/123.exe,下载附件。
是个刷枪的软件,随便输入账号密码,用wireshark抓包,筛选tcp流追踪一下。
解密得到:
bkctftest@163.com
a123456
登录163邮箱得到flag。
20.细心的大象
下载文件,用binwalk分析发现有压缩文件,foremost分解一下,将分解的压缩文件打开发现解压需要密码,这里密码想不到很难找的,在属性中的备注里:TVNEUzQ1NkFTRDEyM3p6。但是这个并解不开压缩文件密码,其实这是一个base64码,解码后输入就能解压了。然后解压出来的这个图片好像前面是前面的一个题,是被截断了,于是在Winhex中打开,
宽和高弄成这样打开图片就拿到flag了。
21.爆照(08067CTF)
下载图片,用binwalk分析,有压缩文件,用foremost分解,发现分解出来的zip文件中是一堆图片,把解压文件传到Windows上,就不是图片了。用notepad++搜索也没找到flag,既然给这么几个文件,里面应该是有东西的。又挨个用binwalk分析,发现88,888,8888这几个不太一样,而题目flag的格式貌似是由三部分组成,于是可能这三个文件里各一个。
在linux中,这几个文件都是以图片形式出现的,打开88,里面有个二维码,扫描发现信息,记录下来。
第二个刚开始没弄出来,也是从别人哪里学的,各种方法都试了,但是出不来结果,这里需要在Windows上将其后缀改成jpeg,查看属性,发现有base64码,解码就是第二个信息。
第三个用binwalk时发现里面有压缩文件,分解后打开,里面是一个二维码,扫描得到第三个信息。
按照题目要求格式提交就行了。
22.猫片(安恒)
用Winhex打开,发现是一个png图片,于是将后缀改成png,分解不出来什么,用StegSlove打开查看,发现red0,blue0,green0一样而且都貌似有点像二维码的最上部,于是extract data,(题上有提示,但是中间应该是BGR,可能是弄错了)
先选中red0,green0,blue0,后面的一个个试着查看,发现在图示位置时貌似是一个png图片,于是保存下来,改为png格式,用Winhex打开,,将前面的fffe去掉,发现是二维码的一半,可能是图片被截了,于是修改一下使其将整个二维码都显露出来,扫码,得到网址,打开,下载文件打开之后竟然没有flag,实在不知道怎么办就找大佬们的博客看了看,发现要用到一个工具NtfsStreamsEditor。
打开之后是这样的:
将文件导出,是一个pyc文件,于是反编译一下,是这样的代码:
import base64
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
先读懂程序,然后逆着来写解密程序:
def dencode():
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
ciphertext.reverse()
flag=''
for i in range(len(ciphertext)):
if i%2==0:
s=int(ciphertext[i])-10
else:
s=int(ciphertext[i])+10
s=chr(s^i)
flag+=s
print(flag)
dencode()
运行之后就能解出来flag了。
23.多彩
用stegslove打开,查看看到
再结合图片的名称lipstick(口红),百度一下,发现YSL是个化妆品品牌。
用data extract提取数据,发现
一看就是压缩文件,于是保存为zip文件,用Winhex将PK前面的码去掉,但是发现有密码,但也不是zip伪加密,于是下面的任务就是找密码了。。。(下面不会了)
这里有大佬的解法,python不会写
https://www.secpulse.com/archives/69465.html
24.旋转跳跃
MP3隐写,用MP3Stego执行名令:Decode.exe -X sycgeek-mp3.mp3 -P syclovergeek
25.普通的二维码
下载打开图片,发现是二维码,扫描并没有flag,用Winhex打开,后面有一串数字,看着像是8进制的,这道题是转ASCII码,共有126个数字,flag这些小写字母的ascii码对应的八进制应该都比100大,而且这一串数字好多1,于是仔细观察,可能是三个三个分开转成ASCII码,用下面程序实现:
f=open("in.txt",'r')
flag=''
for i in range(42):
s='0o'+f.read(3)
flag+=chr(int(s,base=8))
print (flag)
26.乌云邀请码
将文件解压出来用stegsolve打开查看,发现red0,green0,blue0左上角的您好上面好像有什么隐藏的东西,于是data extract,
拿到flag了。
27.神秘的文件
下载文件,打开
而flag.zip里面是这样的:
这两个文件都有加密,外面有个logo.png,里面也有一个,猜想是明文加密,于是用ARCHPR明文攻击。
将题目中下载的文件的logo.png解压出来并弄成压缩文件,
于是明文攻击:
得到密码:
解压出来,打开有一个滑稽脸,而且并没有flag,将这个docx文件放到Winhex中,发现是一个压缩文件,于是改后缀为zip,打开,最后找到 里面有个flag.txt打开,里面是base64码,解码就行了。
28.图穷匕见
题目的意思好像是flag在图片的尾部,
这里也说图穷flag见,而且还说画图。
用winhex打开,找到jpg文件的文件尾:FF D9,然后后面还有一大堆东西,复制在notepad++中,用插件转换
得到一批坐标,
这就和上面的画图联系上了,于是用Linux的gnuplot画图,不过要将()和逗号去掉,并且每对数字间要有空格,再保存成txt文件,传到虚拟机中。
图画出来是个二维码,扫描就能得到flag了。
本文会持续更新,若有更好的方法,欢迎交流。
Bugku杂项(1—28)的更多相关文章
- bugku 杂项 流量分析(cnss)
bugku 杂项 流量分析(cnss) 此题较为简单 wireshark 追踪第一行tcp流信息 得到如下 GET /stat.htm?id=2724999&r=http%3A%2F%2Fsp ...
- Bugku 杂项 眼见非实
把文件放进Kali中可以看到这是一个zip文件,解压后得到一个docx,继续翻 (在windows中是打不开的 在word/document.xml中可以找到flag
- Bugku 杂项 啊哒
有趣的表情包来源:第七届山东省大学生网络安全技能大赛 下载下来安装包后可以得到一张图片,010发现jpg后面还夹带着一些东西,用binwalk提取后得到一个压缩包,但是需要密码. 我卡在这里了,尝试了 ...
- Bugku杂项-convert
一进去就发现一堆二进制数,然后考虑怎么才能把这个和隐写扯上关系.首先,二进制我们肉眼就是看不懂再说什么的,这里就想到了转换,再联想上hex将原始数据转化为16进制.我们可以先把2进制转化为16进制,然 ...
- BugKu 杂项-这么多数据包
前边的都是些无关紧要,只要有点网络的基础我想应该都能懂,往下看,一直到NO104,这是在干什么? 源ip138一直向目标ip159发送syn握手包,想要建立连接,其实就是端口扫描,原理就是,想和你某个 ...
- Bugku 杂项 宽带信息泄露
宽带信息泄露 flag是宽带用户名 下载文件后用RouterPassView打开,搜索username即可
- Bugku 杂项 猜
猜 说flag是一个人名字的全拼,直接搜图片
- Bugku 杂项 又一张图片,还单纯吗
又一张图片,还单纯吗 下载后,用binwalk打开图片 使用foremost 2.png进行分离 得到图片 关于foremost foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d ...
- Bugku 杂项 眼见非实(ISCCCTF)
眼见非实(ISCCCTF) 下载文件后,用winhex打开 发现文件头为50 4B 03 04说明是一个压缩文件,还可以看到其中有.docx文件 更改文件后缀为 .zip 解压后发现 这个文件用wor ...
随机推荐
- ej3-1优先使用静态工厂方法而非构造函数来创建对象
背景 很早之前就已经自己翻译了,先简单的贴出来,并做一下回顾. 条款1 优先使用静态工厂方法而非构造函数来创建对象 允许客户端创建一个实例的传统方法是:提供一个公共构造函数:有另外一个必须成为每个程序 ...
- 虚拟机下安装Maven
1.首先需要下载maven安装包(我下载的是apache-maven-3.5.3版本) 官网下载:http://maven.apache.org/download.cgi 2.将压缩包放到虚拟机下(我 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:System类
public class SystemDemo01{ public static void main(String args[]){ long startTime = System.currentTi ...
- Arduino - 看门狗定时器(WDT:Watch Dog Timer)
看门狗定时器(WDT:Watch Dog Timer)实际上是一个计数器. 一般给看门狗一个大数,程序开始运行后看门狗开始倒计数. 如果程序运行正常,过一段时间CPU应该发出指令让看门狗复位,令其重新 ...
- Redis 详解 (一) redis的简介和安装
目录 1.Redis 的简介 2.Redis 下载 3.安装环境 4.编译安装 5.启动Redis 6.关闭Redis 7.注意事项 工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的 ...
- Python基础笔记:list和tuple
list 与 tuple 就类似于C语言中的数组,list 与 tuple 的区别就是list 可修改,而tuple不可修改: list用法示例: >>> s=[] >> ...
- 杂记 -- 关于ref、kepp-alive、nextTick、fetch
1.ref:定义一个普通的dom节点或一个vue的组件实例对象 定义方法: <div class="page1"> <button @click="li ...
- reduce()、filter()、map()、some()、every()、...展开属性
reduce().filter().map().some().every()....展开属性 这些概念属于es5.es6中的语法,跟react+redux并没有什么联系,我们直接在https:// ...
- PlayJava SpringMVC与Struts2杂谈
一 先做一个简单对比: 1. SpringMVC的入口是Servlet,核心是DispatcherServlet,Struts2是Filter,核心是FilterDispatcher 2. Sprin ...
- 一百一十五、脱离SAP本体,通过ActiveX读取SAP表中数据
一.Sap自带有客户端,但是非常之臃肿卡顿,可以利用ActiveX的方式,脱离Sap本体,来读取Sap表中的内容进行插入等操作,非常之方便.代码如下: 二.界面如下,输入好相关内容,点击登录,提示登录 ...