MISC笔记

2020.11.15发表,2020.12.27最后一次更新

[toc]

图片

常见操作

藏文件,binwalk、foremost分离

备注、文件尾后藏文件

stegsolve查看各通道隐写

crc爆破修改宽高

SilentEye隐写信息

jpg

文件头 FF D8 FF ,文件尾 FF D9

宽高:FFC0后三个字节开始,两个字节为高,两个字节为宽

高为01 E2,宽为01 99

F5隐写(可能需要密钥)

java Extract flag.jpg -p password

outguess隐写(可能需要密钥)

outguess –k “123456” –r out.jpg –t flag.txt

steghide隐写(可能需要密钥)

jphide隐写(需要密钥)

SilentEye隐写信息

png

文件头 89 50 4E 47 0D 0A 1A 0A ,文件尾 AE 42 60 82

宽高:在49 48 44 52 IHDR数据块之后,四个字节为宽,四个字节为高

宽为07 80 , 高为04 38

由于png文件前十六个字节是固定的,所以宽高所在位置也是固定的,也可以以此判断png头文件是否被修改过

LSB隐写(zsteg,stegsolve,lsb.py脚本,最低位像素隐写等等)

盲水印隐写(python2、python3普通盲水印,频域盲水印)

stegsolve查看每个通道有无二维码、特殊字符等图片

zsteg查看信息

bmp

头文件 42 4D

宽高:bmp的宽高也储存在17-24字节当中,前四个字节为宽,后四个字节为高,但是取值有一点特殊

宽为 07 80 ,高为 04 38

数据块里一般会有很多重复字段

stegsolve查看每个通道有无二维码、特殊字符等图片

zsteg查看信息

SilentEye隐写信息

wbstego隐写,利用工具wbstego43open来解。例题:祥云杯 到点了

bpg

头文件:42 50 47 FB

一种特殊的文件格式,可用Honeyview查看

例题: BUUCTF Business Planning Group

webp

webp隐写,一般利用stegpy工具解密

stegpy xx.webp -p

如果没有密码直接回车即可

gif

文件头47 49 46 38

按帧合并图片。比如一个gif每一帧都是一个二维码的一列,分离后合并图片即可。

时间间隔隐写,可以用identify得到每一帧的时间间隔:

identify -format '%s %T \n' encode.gif

gif画图,一个点一直移动画出一张图,参考GACTF v for Vendetta

音频

常见操作

音频藏Morse码,拨号音等

Audacity涂抹频谱图,调整最高频率

LSB隐写SilentEye

steghide隐写(一般需要密钥)

m4a

m4a的头文件:00 00 00 20 66 74 79 70 4D 34 41 20 00 00 00 00

音频藏Morse码,拨号音等

mp3

头文件:49 44 33 03

可能在频谱图里涂抹了信息,利用Audacity查看频谱图

音频藏Morse码,拨号音等

private_bit

wav

可能是LSB隐写,用SilentEye可解

可能在频谱图里涂抹了信息,利用Audacity查看频谱图

音频藏慢扫描电视SSTV

deepsound隐写

也有可能是利用音轨的数据进行隐写

在音轨里修改一部分的数据,人耳很多时候是听不出来的。不过可以利用python的wavfile进行读取数据。

例题:GACTF Music
链接:https://pan.baidu.com/s/1kf1QbK_HfN2lHKR00eokyA
提取码:o5zv

这道题有几个hint,当时的介绍是这样的:
来听段音乐 let’s enjoy the music
hint1:注意观察音轨(Pay attention to the audio track)
hint2:不用audicity和隐写的一些软件来尝试解题 (it is not possible to solve this challenge with audicity or some stego softwares)
hint3:波形不是波形

先利用python的wavfile进行读取

这样查找的话,由于中间的音轨数据是利用数组保存的,且太多了,就会只输出头和尾。我们可以一个一个输出,脚本如下:

from scipy.io import wavfile
import numpy as np

sample_rate, sig = wavfile.read('1.wav')
print("采样率: %d" % sample_rate)
print(sig)

if sig.dtype == np.int16:
    print("PCM16位整形")
if sig.dtype == np.float32:
    print("PCM32位浮点")
fp = open("1.txt","w")
for i in sig:
    fp.write(str(i))
    fp.write('\n')
fp.close()

结果如下,我就复制了其中一小部分,因为实在太多了。本来是一行一个数据,我这换成空格,屏幕占得小一点:

[0 0] [1 0] [1 0] [0 1] [ 0 -2] [1 2] [ 1 -2] [1 2] [0 0] [ 1 -3] [1 5] [ 0 -5] [0 4] [ 0 -3] [0 1] [1 1] [ 0 -1] [1 1] [ 1 -2] [0 2] [ 0 -2] [0 3] [ 1 -3] [1 2] [ 0 -2] [1 2] [ 1 -1] [1 0] [0 1] [ 1 -1] [0 0] [0 1] [ 0 -2] [1 2] [1 0] [ 0 -1] [0 0] [1 0] [1 1] [ 0 -1] [0 1] [ 1 -2] [1 2] [ 1 -1] [1 1] [ 0 -2] [1 2] [ 1 -2] [0 3] [ 0 -3] [1 3] [ 1 -4] [0 4] [ 1 -3] [1 3] [ 0 -3] [0 3] [ 1 -3] [1 3] [ 0 -3] [0 2] [ 1 -1] [0 1] [ 1 -1] [0 1] [ 0 -1] [1 1] [ 1 -1] [0 0] [1 1] [ 1 -1] [0 1] [ 0 -1] [1 0] [1 1] [ 0 -2] [0 3] [ 0 -3] [0 2] [1 0] [ 0 -2] [0 2] [1 0] [ 1 -1] [0 2] [ 1 -3] [1 3] [ 1 -3] [0 3] [ 0 -2] [1 1] [ 1 -1] [0 2] [ 1 -4] [0 5] [ 1 -4] [0 3] [ 0 -1] [ 1 -2] [1 3] [ 1 -2] [0 1] [0 0] [ 0 -1] [0 2] [ 0 -2] [1 1] [ 1 -1] [1 0] [0 2] [ 0 -2] [0 1] [0 0] [ 1 -1] [1 1] [0 0] [ 0 -1] [0 2] [ 1 -2] [0 2] [ 0 -3] [0 3] [ 1 -2] [1 1] [0 0] [ 0 -1] [0 1] [1 0] [0 0] [1 0] [ 1 -1] [0 2] [ 0 -2] [0 2] [ 1 -2] [0 2] [ 0 -2] [0 2] [ 1 -2] [1 2] [ 0 -2] [0 2] [ 1 -2] [0 2] [ 0 -2] [0 2] [ 1 -2] [1 2] [ 0 -1] [1 0] [0 0] [1 0] [0 0] [1 1] [ 1 -1] [0 1] [ 0 -2] [1 1] [0 1] [ 1 -2] [0 3] [ 0 -3] [1 1] [1 0] [0 0] [0 0] [1 1] [ 1 -2] [0 2] [ 1 -2] [1 2] [ 0 -1] [0 0] [0 1] [ 0 -3] [1 4] [ 0 -3] [0 2] [ 1 -1] [1 0] [0 0] [1 0] [0 1] [ 0 -3] [0 5] [ 1 -5] [1 3] [ 0 -1] [0 0] [0 1] [ 1 -1] [0 0] [0 1] [ 1 -2] [1 3] [ 0 -3] [0 3] [ 0 -3] [1 3] [ 0 -4] [0 4] [ 0 -4] [1 4] [ 1 -3] [0 2] [ 0 -1] [ 0 -1] [1 2] [ 0 -2] [0 3] [ 1 -4] [1 4] [ 1 -3] [0 1] [0 1] [ 0 -1] [0 0] [0 1] [ 1 -2] [1 3] [ 1 -3] [0 3] [ 0 -3] [0 2] [ 0 -1] [1 1] [ 1 -1] [0 1] [ 0 -1] [0 1] [ 0 -1] [1 0] [0 1] [ 1 -1] [1 2] [ 0 -3] [0 3] [ 1 -4] [1 5] [ 0 -4] [0 3] [ 0 -2] [1 0] [1 2] [ 1 -2] [0 2] [ 0 -3] [1 3] [ 0 -2] [0 2] [ 1 -2] [1 2] [ 1 -3] [0 3] [ 0 -2] [1 2] [ 0 -2] [0 1] [ 1 -1] [1 1] [0 0] [0 0] [1 0] [ 0 -1] [0 2] [ 0 -3] [1 4] [ 1 -3] [0 1] [1 1] [ 0 -2] [1 3] [ 0 -4] [1 4] [ 1 -4] [0 5] [ 0 -6] [0 5] [ 1 -3] [0 1] [0 1] [ 0 -2] [1 1] [1 0] [0 0] [0 0] [1 1] [ 1 -2] [0 2] [ 0 -1] [1 0] [1 0] [0 0] [1 1] [ 0 -1] [0 0] [0 0] [1 0] [1 1] [ 0 -1] [0 1] [ 0 -2] [1 2] [ 0 -2] [0 3] [ 1 -3] [1 2] [ 1 -1] [1 0] [1 1] [ 0 -1] [1 0] [2 1] [-2 -1] [1 1] [-1  0] [ 1 -2] [-1  3] [ 1 -3] [-1  3] [ 1 -2] [-1  0] [0 2] [ 0 -3] [1 3] [-1 -2] [0 1] [0 0] [0 0] [ 0 -1] [1 2] [-2 -2] [2 2] [-1 -2] [-1  2] [ 2 -2] [-2  2] [ 2 -2] [-1  1] [0 0] [0 0] [0 0] [0 0] [ 0 -1] [0 1] [0 0] [1 0] [-2  0] [ 2 -1] [-2  1] [ 2 -1] [-1  1] [-1 -1] [2 2] [-2 -3] [2 3] [-1 -2] [0 0] [0 2] [ 1 -2] [-2  1] [2 0] [-1  0] [ 0 -1] [2 2] [-4 -2] [4 2] [-3 -2] [2 1] [-1  0] [0 0] [0 0] [ 1 -1] [-1  2] [ 0 -2] [0 1] [0 0] [ 1 -1] [-2  2] [ 2 -1] [-2  0] [ 2 -1] [-1  3] [-1 -5] [2 7] [-1 -8] [0 6] [ 0 -4] [1 3] [-2 -2] [3 1] [-3  0] [ 2 -1] [0 1] [-2 -1] [3 1] [-3  0] [2 0] [0 0] [-2 -1] [3 2] [-3 -2] [2 1] [-1  0] [0 0] [1 1] [-1 -1] [0 0] [0 0] [0 1] [ 0 -1] [1 0] [-2  0] [2 0] [-2  1] [ 1 -1] [0 0] [-1  0] [2 1] [-3 -2] [3 2] [-2 -1] [0 1] [ 1 -1] [0 1] [-1 -2] [1 3] [ 0 -2] [-1  1] [ 3 -1] [-5  0] [5 2] [-3 -2] [2 1] [-1  0] [ 0 -1] [0 1] [0 0] [ 1 -1] [-2  2] [ 2 -2] [-1  1] [0 0] [ 1 -2] [-2  4] [ 2 -4] [-2  3] [ 2 -1] [-1 -2] [0 3] [ 1 -2] [-2  1] [2 0] [-2  0] [ 2 -1] [-1  1] [0 0] [ 1 -1] [-2  2] [ 1 -2] [0 1] [0 0] [1 0] [-1 -1] [0 1] [0 0] [0 0] [0 0] [ 2 -1] [-3  1] [ 3 -1] [-3  1] [1 0] [ 1 -1] [-1  2] [ 1 -3] [-1  3] [ 0 -2] [0 0] [0 2] [ 0 -3] [1 3] [-2 -2] [2 0] [-1  2] [-1 -4] [3 5] [-4 -4] [4 3] [-3 -2] [2 1] [-1 -1] [0 1] [0 0] [0 0] [ 0 -1] [0 1] [ 0 -1] [0 1] [ 0 -1] [-1  1] [ 2 -1] [-2  1] [ 2 -1] [-2  0] [1 1] [-1 -1] [1 1] [-1 -1] [2 1] [-2 -1] [1 1] [-1  0] [ 1 -1] [0 1] [ 0 -1] [0 2] [ 0 -3] [0 3] [ 1 -3] [-1  2] [0 0] [ 0 -2] [0 3] [ 1 -3] [0 2] [-1 -1] [0 1] [0 0] [ 2 -1] [-3  1] [3 0] [-2 -1] [1 2] [-1 -2] [1 1] [-1  0] [ 1 -1] [0 1] [ 0 -1] [-1  1] [ 1 -1] [-1  1] [ 1 -1] [0 1] [ 0 -1] [0 1] [-1 -1] [1 1] [ 0 -1] [-1  1] [3 0] [-4 -2] [3 3] [-2 -4]

可以看出在开头的一些数据里,每个音轨数据里的第一个数字都是0或1。而后面就是-1 -2 -3 -4 0 1 2 3 4等等都有了。一般音轨数据里不会这么长时间的出现全是0或1的数据,所以肯定是有问题的。利用python脚本把前一段的0 1提取出来:

011001110110000101100011011101000110011001111011001101100110010100110110011000010011011100110101001110000011100001100010001100010110001000110010001101010110010100110011011000010011010001100010011000100011000100111000001110000110000101100110001110010011100100110010001101010110001000110011001101000110001001111101

转化成字符即可获得flag:gactf{6e6a7588b1b25e3a4bb188af9925b34b}

这题当时全场只有四解,主要就是以前都没遇到过关于修改音轨数据的题。虽然以后出的次数可能不会太多,但至少是wav音频文件的一种解题方法。

流量包

常见操作

查找flag字段,十六进制查找66 6c 61 67

导出http流

追踪tcp流查看有无特殊字符或者文件

foremost binwalk 查看是否可以分离出文件

RSA、TLS

USB流量包

USB流量两大类是鼠标流量和键盘流量。比较小众的还有xbox、switch、数位板流量等等

可以使用tshark命令获取usb信息:

tshark -r key.pcap -T fields -e usb.capdata>out.txt
tshark -r key.pcap -T fields -e usb.capdata | sed '/^\s*$/d' > out.txt //去掉空行

这里在顺便记录一下坐标画图工具,gnuplot

画图命令:

gnuplot  #进入gnuplot控制台
plot "xy.txt" #画图,默认紫色

键盘流量多为8字节,鼠标多为4字节,当然也有特殊情况,具体问题具体分析

键盘流量的按键信息保存在第三个字节当中,用十六进制显示。

鼠标流量一般为四个字节,第一字节代表按键,取0x00时代表没有按键,取0x01时代表按左键,取0x02时代表按右键。第二个字节代表左右平移像素距离,正时向右,负时向左。第三个字节代表垂直平移像素距离,正时为上,负时为下。

键盘流量分析脚本:

mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }
nums = []
keys = open('usbdata.txt')
for line in keys:
    if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':
         continue
    nums.append(int(line[6:8],16))
keys.close()
output = ""
for n in nums:
    if n == 0 :
        continue
    if n in mappings:
        output += mappings[n]
print 'output :\n' + output

鼠标流量分析脚本:

nums = []
keys = open('2.txt','r')
result=open('result.txt','w')
posx = 0
posy = 0
for line in keys:
    if len(line) != 18 :#忽略空行
         continue
    x = int(line[6:8],16)
    y = int(line[9:11],16)
    if x > 127 :
        x -= 256
    if y >127 :
        y -=256
    posx += x
    posy += y
    btn_flag = int(line[3:5],16)  # 1 for left , 2 for right , 0 for nothing
    if btn_flag == 1 :
        result.write(str(posx)+' '+str(posy)+'\n')
keys.close()
result.close()

压缩包

常见操作

暴力破解,掩码爆破,明文攻击

office和压缩包的各种联动

压缩包套娃,利用脚本解题

zip伪加密(binwalk、360压缩包有时候可以直接绕过伪加密)

rar伪加密几乎不会出现,一般rar文件都是misc套娃中需要密码时使用,但是rar伪加密也存在,PASSWORD_ENCRYPTED是加密位,如果没有密码,且将这里改成1,即可构成伪加密。但是此时也会报错文件头损坏。

crc32爆破

当压缩包里有一些加密文件特别小时,就可用crc爆破来解。

crc32爆破脚本:https://github.com/theonlypwner/crc32

例题:攻防世界 crc

下载文件得到一个加密的压缩包,里面有三个6B的txt文件和一个convert文件。利用crc32爆破来爆破密码:

C:\Users\34603\Desktop\crc32-master>python crc32.py reverse 0xccca7e74
4 bytes: {0x3f, 0x09, 0x32, 0xe4}
verification checksum: 0xccca7e74 (OK)
alternative: 1Atmmb (OK)
alternative: 6XsSGI (OK)
alternative: EXFyUM (OK)
alternative: KWYIiC (OK)
alternative: Qm0jH5 (OK)
alternative: Spkdxd (OK)
alternative: TilZRO (OK)
alternative: Uub7HB (OK)
alternative: ZfsjnA (OK)
alternative: cN3O_z (OK)
alternative: com_66 (OK)
alternative: dW4quQ (OK)
alternative: kXjpRF (OK)
alternative: lAmNxm (OK)
alternative: n0EmLx (OK)
alternative: r24Q5p (OK)
alternative: rcV0Yl (OK)
alternative: tf_ciJ (OK)

C:\Users\34603\Desktop\crc32-master>python crc32.py reverse 0xcc86365b
4 bytes: {0x65, 0xd7, 0x1e, 0xf0}
verification checksum: 0xcc86365b (OK)
alternative: 05J728 (OK)
alternative: 0EvF7h (OK)
alternative: 2ysXnu (OK)
alternative: 3y2iul (OK)
alternative: R9DrOf (OK)
alternative: WQkoQX (OK)
alternative: avuKGt (OK)
alternative: dO875V (OK)
alternative: dSwk4B (OK)
alternative: forum_ (OK)
alternative: go3DvF (OK)
alternative: ldpDP2 (OK)
alternative: r6wKtc (OK)
alternative: s66zoz (OK)
alternative: yQGfVS (OK)

C:\Users\34603\Desktop\crc32-master>python crc32.py reverse 0xbcee7ed5
4 bytes: {0x1c, 0xeb, 0xe5, 0x41}
verification checksum: 0xbcee7ed5 (OK)
alternative: 2VSYDo (OK)
alternative: 5OTgnD (OK)
alternative: 7sQy7Y (OK)
alternative: 91ctf_ (OK)
alternative: AVfsVk (OK)
alternative: N5K_u8 (OK)
alternative: OYyCje (OK)
alternative: PgLPQi (OK)
alternative: aYUJmn (OK)
alternative: c425Xo (OK)
alternative: cePT4s (OK)
alternative: d1zWsP (OK)
alternative: pt05kx (OK)
alternative: rTzw3q (OK)

解得压缩包密码:forum_91ctf_com_66

之后打开convert.txt,将里面的01字符串转成asc码值,然后base64转图片扫码即可获得flag

其他

JJencode/JJdecode

跟颜文字类似,都是JS代码的一种加密方式。

密码一般多为'$'、'='、'_' 、' " ' 、')'等组成,也可以自定义全局变量名

可以直接在谷歌浏览器的控制台里解码,不过JJencode会有一个固定格式,也就是function的加密格式。解码payload:

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+PADLOAD+"\"")())();

例题:2020上海市大学生网络安全大赛MISC 可乐加冰

这题当时全场只有两解,按照解题人数来看的话可以说是全场第二难的题目了,不过应该都不是卡在JJdecode上,而是数据包上(至少我是卡在Zlib数据包上的)

链接:https://pan.baidu.com/s/1nBmRu3hNA_cEwt8vFfv6fA
提取码:zkb1

下载下来得到一张png图片,binwalk分离后可得到两个Zlib数据包。以前一直都不觉得分离出Zlib数据包有用,问了下当时这题的一血师傅 qwzf,发现就是利用Zlib数据包内容来解题的。

用winhex或者010Editor打开,能发现其中一个数据包的十六进制比较特殊:

其中的十六进制数没有出现字母,如果直接当做十进制来解码的话,可以解得一些东西

这个如果有经验的话,很容易想到是JJencode了,全局变量为S。接下来直接利用JJdecode解码即可得到flag。有两种办法,一种是把整个字符串的全局变量全改为S进行解码,或者把加密字符串里的S改成$进行解码。

个人建议遇到这种题全都改成$进行解码,因为有payload会快点,而S这个全局变量字符每次都是会变的,下次就不一定是S了。当然其实熟悉了都是秒解。

以下两种方式均可:

解码成功后即可看到flag:

颜文字

内容类似如下,解码方式与JJdecode相同,均可直接在浏览器控制台解码:

゚ω゚ノ= /`m´)ノ ~┻━┻   //*´∇`*/ ['_']; o=(゚ー゚)  =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚Θ゚))+ (o^_^o)+ (゚Д゚) ['c']+ (゚Д゚) ['c']+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚Θ゚))+ (o^_^o)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (゚ー゚)+ (゚Д゚) .゚Д゚ノ+ (c^_^o)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚) [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+ (゚Д゚) .゚Θ゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (゚ー゚)+ (゚Д゚) .゚Д゚ノ+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

其他内容里以后会写曾经没有遇到过的类型,如果是比较熟悉的就先暂时不写了,等有空的时候再统一写一些。具体可参考BUUCTF misc基础部分和进阶部分。

BUUCTF misc基础部分
BUUCTF misc进阶部分

发表评论