首页
论坛
专栏
课程

[原创][原创]看雪CTF 攻防战-2019q2-第六题:消失的岛屿 WriteUp

2019-6-24 11:57 1895

[原创][原创]看雪CTF 攻防战-2019q2-第六题:消失的岛屿 WriteUp

2019-6-24 11:57
1895
看雪CTF 攻防战-2019q2-第六题:消失的岛屿
https://github.com/wqsemc/kanxue-ctf2019q2/blob/master/6LostIslands.zip

1、用ida打开,F5转成C代码,部分关键代码如下:

v3 = strlen((const char *)&bindata);

base64_encode(&bindata, v7, v3);

v6 = "!NGV%,$h1f4S3%2P(hkQ94==";

if ( !strcmp("!NGV%,$h1f4S3%2P(hkQ94==", v7) )

puts("Success");

else

puts("Please Try Again");

2、题目提示为base64_encode,特性为会将3位字符编码为4位字符。对3位字符循环输出base64的结果,保存为文件6.log。
  base64_encode(&bindata, v7, v3);
  printf("%c%c%c=%s \n", i,j,k,v7);
3、将密文中连续每4位字符在6.log中查找,得出前面15位。

root@kali:~/Documents/1kctf2019q2/6# grep '!NGV' 6.log

Kan=!NGVcYHF

root@kali:~/Documents/1kctf2019q2/6# grep '%,$h' 6.log

Xue=%,$hcYHF

root@kali:~/Documents/1kctf2019q2/6# grep '1f4S' 6.log

201=1f4ScYHF

root@kali:~/Documents/1kctf2019q2/6# grep '3%2P' 6.log

9ct=3%2PcYHF

root@kali:~/Documents/1kctf2019q2/6# grep '(hkQ' 6.log

f_s=(hkQcYHF

4、穷举最后1位校验字符,注册码为 KanXue2019ctf_st 。

C:\1kctf2019q2\6LostIslands> .\LostIslands.exe

please enter Serial:KanXue2019ctf_sr

Please Try Again

请按任意键继续. . .

C:\1kctf2019q2\6LostIslands> .\LostIslands.exe

please enter Serial:KanXue2019ctf_ss

Please Try Again

请按任意键继续. . .

C:\1kctf2019q2\6LostIslands> .\LostIslands.exe

please enter Serial:KanXue2019ctf_st

Success






[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 2019-6-24 11:57 被igxk编辑 ,原因:
最新回复 (0)
游客
登录 | 注册 方可回帖
返回