十六、想蹭网络先破解wifi密码
题目给了我们一个数据包,且提示我们flag为wifi密码,
第一步:
打开文件,WIFI连接认证的重点在WPA的四次握手包,即eapol协议的包,过滤一下:
刚好四个包
第二步
既然是密码,还给了我们数据包,那么我们开始爆破,首先需要一个字典
因为手机号为11位,给了我们7位,故我们使用一下python代码生成字典
代码如下:
import string
s = string.digits
f = open('1.txt', 'w')
for i in s:
for j in s:
for k in s:
for o in s:
f.write("1391040"+i+j+k+o+'\n')
第三步
使用aircrack-ng进行爆破。
首先进行安装aircrack-ng,我在kali下进行操作。无法锁定的原因是我之前使用终端时,可能强制退出,还有命令在执行,那么我们就强制解除,命令如下
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
然后进行安装aircrack-ng
命令如下
apt-get install aircrack-ng
安装好用,进行爆破,得出密码
aircrack-ng -a2 wifi.cap -w password.txt
aircrack-ng使用
aircrack-ng -w 字典文件 目标
破解KEY,漫长的过程.漫不漫长取决于两个方面:一是网管的聪明程度(能否设置出复杂的密码),二是电脑的速度.
usage:aircrack-ng[options]<.cap/.ivsfile(s)>
Commonoptions:
-a<amode>:暴破(1/WEP,2/WPA-PSK)
-e<essid>:选择essid为目标
-b<bssid>:选择ap的mac为目标,就是破解识别的关键字
-q:使用安静模式,无数出模式
-C<macs>:将所有的AP合并为一个虚拟的
–help:显示这个帮助
十七、linux2
根据题目提示,flag为key{},那么使用winhex打开文件,并搜索key发现flag.
十八、账号被盗了
点击getf lag,发现没有管理员权限,那么我们就想到cookie,使用抓包工具将cookie的值,改成ture,即可得到一个网站然而发现该网站我怎么也进去,打扰了。
十九、细心的大象
1、下载图片,使用winhex打开没发现什么有用的信息
2、用binwalk查看图片是否包含其他文件,成功分离出一个压缩文件
3、发现该压缩文件里有个图片是加密的,于是我们寻找密码
4、在用winhex看一下大象的图片,还是没发现重要信息,我们打开文件的属性,去看看文件的详细信息里面有什么信息,发现一串类似于base64加密的东西。
5、把该串信息当作密码输入,发现失败了,base64解密后,再输入,可以得到以下图片
使用winhex打开修改图片的高为500,就可以在图片里看到flag了
二十、爆照
1、首先对文件进行分析,发现1个压缩包,压缩包里有一个动态图和8个文件。更具文件的大小可以发现88、888、8888比较特殊。flag应该在这3张图片里。
使用winhex打开可以依次打开这3个文件可以发现这3个文件都是jpg文件。修改后缀名为jpg
可以发现88文件有个二维码,扫描得bilibili
888文件是个图片,查看文件详细信息可以发现一段base64加密的数据,解密得silisili
8888文件修改后缀名得到一张图片,详细信息没有有用信息,使用binwalk分析下,发现了一个压缩包。压缩包里有一个二维码图片,扫描得panama
故该题flag为{bilibili_silisili_panama}
二十一、猫片(安恒)
根据题目提示,这样应该是LBS隐写
1、下载附件修改后缀名为png
2、使用stegsolve打开,使用其DATA extract功能进行分析,根据提示为LSB,BGR隐写,经过下图操作,保存为png文件。
3、发现图片打不开,使用winhex打开查看,进行下图操作,然后保存,发现是半张二维码
4、进行图片高度的修改,可以得到一张完整的二维码,扫描下载flag.rar压缩包
打开文件,有上面的错误,flag文件里的内容,有点气,费尽脑子,发现无可奈何,于是开始查各种资料。
发现是ntfs文件数据流隐写,就说题目的提示为什么ntfs没用到。
使用ntfsstreamsEditor工具查找数据流,然后导出(注意这边一个坑:flag.rar这个压缩文件一定要用winrar来解压才能找得到数据流)
发现导出的数据流文件是python反编译文件。直接扔到在线我就进行python反编译 ,https://tool.lu/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 decode():
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() # 加密中使用ciphertext[::-1]进行取反,故使用reverse取反,
flag = ''
for i in range(len(ciphertext)): # 加密中使用的是flag的长度,而ciphertext与flag长度一样
if i % 2 == 0:
s = int(ciphertext[i]) - 10 # 加密中s的值其实就是int(ciphertext[i])
else:
s = int(ciphertext[i]) + 10
s = chr(i ^ s) # 加密中为i和flag异或,那么i与s异或即可的到flag
flag += s
return flag
if __name__ == '__main__':
flag = decode()
print(flag)
二十二、多彩
下载图片,放到Stegsolve里面跑下。
发现了
图片的名称又是lipstick.png (lipstick是口红意思),这边又有YSL,所以怀疑与YSL口红有关(圣罗兰口红).使用data extract分析下,发现PK开头,直接save bin 存为zip格式
![在这里插入图片描述]bugku-16-26-writeup-misc\18.png)
发现文件打不开,于是使用winhex打开,进行图中操作,成功打开文件,发现flag.txt文件加密
然后解压文件会产生错误,这里有个小坑注意,不能使用winrar解压,要使用360压缩等解压。
未完待续,卡住了这题
二十三、旋转跳跃
一看题目,提示我们密码,还是音频文件,目测是音频隐写。
上工具MP3Stego。可以参考我的这篇博客
可以得到一个txt文件,,得到flag
二十四、普通的二维码
扫描会得到一句话:我不会告诉你flag就在这里。使用winhex打开发现最后一段数字,应该是8进制数。
编写python脚本转ASCII码,即可得到flag
a = '146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175'
flag = ''
for i in range(len(a) // 3):
flag += chr(int(a[i * 3:i * 3 + 3], 8)) # 八进制3为一个ASCII码
print(flag)
二十五、乌云邀请码
经过一些尝试,原理是LSB隐写,使用Stegsolve工具的Data Extract功能即可得到flag
二十六、神秘文件
下载附件,发现里面有一张图片,和一个压缩包,且压缩包里也有一个一模一样不过是加密的图片。
1、于是我们想到明文攻击。使用ARCHPR工具进行攻击。
2、注意把logo压缩成压缩包,并且把flag.zip的压缩包里的doc文件删除。
3、这边有一个坑,我们的压缩算法要与flag.zip的压缩算法一样才可以。我卡了好久在这。
4、可以复制flag.zip然后存入logo.png文件,然后修改名字为logo.zip。
5、可以得到口令,输入口令我们发现是一个笑脸
进行binwalk文件分离
然后在docProps文件下有个flag.txt,进行base64解码即可得flag。
破解zip加密的常见的几种方法,可以参考这个大佬的博客
二十八、图穷比见
下载附件
,使用winhex打开,在文件最后面发现一大堆16进制,然后复制到notepad里使用插件里的converter进行转化为ascii码。发现是一对坐标,然后把左右括号去掉,把逗号换成空格
然后使用gnuplot工具画图
使用命令 plot "E:\\gnuplot\\2.txt"
扫描得flag
二十九、convert
一、打开文件发现一堆二进制,保存为2.txt文件,那肯定得转化为16进制,这边我尝试直接利用脚本转化为10进制然后转化为ASCII,发现是个rar文件,却因为有些字体识别不了乱码,打不开文件。
with open('2.txt', 'w',encoding='utf-8') as f1:
with open('1.txt',encoding='utf-8') as f2:
while True:
temp = f2.read(4)
if temp:
temp = int(temp, 2) # 二进制转10进制
temp = hex(temp) # 10进制转16进制
f1.write(temp[2:]) # 去掉0x
else:
break
二、利用Notepad++自带的十六进制转ascii,发现rar文件头,将文件另存为一个rar文件。
打开文件发现里面有一个图片,我们先看下属性,发现有一串base64码。
然后在线解密,发现flag.
三十、听首音乐
听了一会后,没听出啥,使用audacity进行分析,发现有点像摩斯密码
然后放大,摩斯密码有两种“符号”用来表示字符:点(.)和划(-),或叫“滴”(Dit)和“答”(Dah)。(滴,1t;嗒,3t),
分析,写出摩斯密码为(每一组后面加上空格)
..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -.. ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.
在线解密http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx
三十一、好多数值
打开题目发现一堆数值,有点像rgb的值,255,255,255就是白色。
那么题目的思路就是一个根据这堆值生成图片
把行61366因式分解分解成两个数相乘(503*122)
from PIL import Image
x = 503 # x坐标 通过对txt里的行数进行整数分解
y = 122 # y坐标 x*y = 行数
im = Image.new("RGB", (x, y)) # 创建图片
with open('1.txt') as file: # 打开rbg值文件
# 通过一个个rgb点生成图片
for i in range(0,x):
for j in range(0,y):
line = file.readline() # 获取一行的rgb值
rgb = line.split(",") # 分离rgb
im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2]))) # rgb转化为像素
im.show()