buu 7.16
百里挑一
先到处http对象,保存到文件夹
在到kali里面进行exiftool分析,得到一半flag
另一半的flag在tcp 114流中
flag{ae58d0408e26e8f26a3c0589d23edeec}
[安洵杯 2019]Attack
先过滤出包含flag关键字
这里有个压缩包,提取出来,foremost分离出来
打开zip包发现
这边还有一个lsass.dmp文件
lsass是windows系统的一个进程,用于本地安全和登陆策略。mimikatz可以从 lsass.exe 里获取windows处于active状态账号明文密码。本题的lsass.dmp就是内存运行的镜像,也可以提取到账户密码
//提升权限
privilege::debug
//载入dmp文件
sekurlsa::minidump lsass.dmp
//读取登陆密码
sekurlsa::logonpasswords full
得到password
解压得到flag
flag
在最下面,吐了
[MRCTF2020]千层套路
之前做过了,压缩包的密码是自己的名字,所以直接上脚本
import zipfile
name = '0114'
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename[0:4]
#print(name)
fz.close()
最后的到一个qr.zip
得到一个画图的脚本
画图之后得到二维码
from PIL import Image
x = y = 200
img = Image.new("RGB",(x,y))
file = open('qr.txt','r')
for width in range(0,x):
for height in range(0,y):
line = file.readline()
rgb = line.split(',')
img.putpixel((width,height),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
img.save('flag.jpg')
得到flag
[WUSTCTF2020]爬
发现是pdf文件,修改文件头得到
得到新的一张图
转字符串得到flag
[SUCTF 2019]Game
在index.html中发现了flag
suctf{hAHaha_Fak3_F1ag}
lsb隐写,解密得到
这串base64解码后头部是Salted,应该是AES或者3DES
在线解密网站:https://www.sojson.com/encrypt_triple_des.html
[WUSTCTF2020]girlfriend
得到一个wav文件,发现是电话音,跑一下脚本
https://github.com/hfeeki/dtmf
得到
这个是手机键盘密码
CTFwiki:手机键盘密码
flag{youaremygirlfriends}
[MRCTF2020]CyberPunk
直接更改时间得到flag
二维码
拼,
扫一下得到flag
USB
将7A改成74
得到一张图片和一个txt
用stegsolve打开在blie 0通道发现二维码
得到一个密文ci{v3erf_0tygidv2_fc0}
再看另一个文件,发现压缩包
foremost分离得到两个压缩包
是一样的两个usb数据包
USB数据包,直接使用UsbKeyboardDataHacker
脚本提取内容
https://github.com/WangYihang/UsbKeyboardDataHacker
ci{v3erf_0tygidv2_fc0}
xinan
先维吉尼亚再栅栏,得到flag
flag{vig3ne2e_is_c00l}
[GUET-CTF2019]虚假的压缩包
虚假的压缩包是一个伪加密
修改之后得到
所以压缩包的密码是 答案是5
这是一张png
修改高度得到
提示和5异或
original = open("亦真亦假",'r').read()
flag = open("flag",'w')
for i in original:
tmp = int(i,16)^5
# print(hex(tmp))
flag.write(hex(tmp)[2:])
得到504b开头的压缩包
但这种很明显是doc文档
打开全是英文
因为英语不好,习惯性翻译,发现末尾有flag
[XMAN2018排位赛]通行证
a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==
base64
kanbbrgghjl{zb____}vtlaln
栅栏
kzna{blnl_abj_lbh_trg_vg}
凯撒
xman{oyay_now_you_get_it}
[SWPU2019]Network
TTL隐写
大佬博客
IP报文在路由间穿梭的时候每经过一个路由,TTL就会减1,当TTL为0的时候,该报文就会被丢弃。
TTL所占的位数是8位,也就是0-255的范围,但是在大多数情况下通常只需要经过很小的跳数就能完成报文的转发,
远远比上限255小得多,所以我们可以用TTL值的前两位来进行传输隐藏数据。
如:须传送H字符,只需把H字符换成二进制,每两位为一组,每次填充到TTL字段的开头两位并把剩下的6位设置为1(xx111111),这样发4个IP报文即可传送1个字节。
根据上述规则,可以知道TTL隐写中用到四个值:00 111111(63),01 111111(127),10 111111(191),11 111111(255),解密的时候只取前两位,然后转换成ascii
import binascii
f=open("attachment.txt","r")
f2=open("result.txt","wb")
num=''
res=''
for i in f:
if int(i)==63:
num+="00"
if int(i)==127:
num+="01"
if int(i)==191:
num+="10"
if int(i)==255:
num+="11"
for j in range(0,len(num),8):
res += chr(int(num[j:j+8],2))#转换为字符
res = binascii.unhexlify(res)#unhexlify:从十六进制字符串返回二进制数据
f2.write(res)
但是有密码,没有出路了,只能是伪加密
得到一个base64编码的文件
解密一下
得到flag
flag{189ff9e5b743ae95f940a6ccc6dbd9ab}’