目录
  1. 1. BUGKU re
    1. 1.1. 入门逆向
    2. 1.2. Easy_vb
    3. 1.3. Easy_Re
    4. 1.4. 游戏过关
    5. 1.5. 逆向入门
    6. 1.6. love
  2. 2. 社工
    1. 2.1. 密码
    2. 2.2. 信息查找
    3. 2.3. 社工进阶
  3. 3. 杂项
    1. 3.1. 签到提
    2. 3.2. 这是一张单纯的图片
    3. 3.3. 隐写
    4. 3.4. telnet
    5. 3.5. 眼见非实(ISCCCTF)
    6. 3.6. 啊哒
    7. 3.7. 又一张图片,还单纯吗
    8. 3.8.
    9. 3.9. 隐写2
  4. 4. 密码
    1. 4.1. 滴答~滴
    2. 4.2. 聪明的小样
    3. 4.3. ok
    4. 4.4. 这不是摩斯密码
    5. 4.5. +[]-
    6. 4.6. 富强民主
    7. 4.7. .!?
bugku题目

title: bugku题目
date: 2020-11-28
tags:
cover: https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3222203977,36296790&fm=26&gp=0.jpg


BUGKU re

入门逆向

  • 首先用PEID查看,发现无壳,直接用ida打开,找到main函数,发现一大堆奇怪的赋值语句,直接字符转换得到flag:flag{Re_1s_S0_C0oL}

Easy_vb

  • 首先用PEID查看,发现无壳,用IDA打开,没有main函数,然后用OD打开,先智能搜索一下,直接发现flag:MCTF{N3t_Rev_1s_E4ay}

Easy_Re

  • 首先用ExEinfo PE打开,发现无壳,直接用IDA打开,找到main函数,F5伪代码分析,倒着走,首先发现输出的是unk_413E90对应的位置,双击找回,发现输出的是flag get,故应使程序得到该输出,继续分析,发现if必须是wrong,即v3必须是0,上文调用strcmp进行字符串比较v9和v5,其中v9是输入,则v5对应的即为flag,想上找v5,发现与v5有关的是“&xmmword_413E34)”双击找回。得到一串字符,按A转化为字符串得到flag:DUTCTF{We1c0met0DUTCTF}

游戏过关

  • 首先用ExEinfo PE打开,发现无壳,故根据某学长的话,直接动态调试
  • 打开OD,先智能搜索字符串,找到带有flag关键句,双击找到地址:00A2E968,重新打开,将第一个命令改为jmp 00A2E968,保存文件,运行发现文件崩掉。
  • 再使用智能搜索,找到游戏中的“n=”,下断。打开游戏,输入1,运行,在断点处下一个命令语句直接改为jmp 00A2E968,保存文件。这样是游戏前部分正常运行,且直接爆破得到flag,运行该文件,输入1,得到flag: the flag is zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}

逆向入门

  • 首先用ExEinfo PE,PEID打开,发现不是有效PE文件,且IDA只能以二进制形式打开。
  • 直接使用万能的笔记本,打开后发现是经base64加密过后的图片,这里利用的Date URL将小图片生成数据流形式。
  • 新建一个笔记本,内容输入,将加密的内容复制到””内,得到图片,用火狐打开,是一个二维码,扫描后得到flag:bugku{inde_9882ihsd8-0}

love

  • 首先用peid打开,查看发现无壳,直接用IDA打开,找到main函数,静态分析
  • 倒着看,看见有输出“right flag”,运行到此的要求是“Dest”和“Str2”前v2个字符对应相等。而v2等于“Dest”的长度,再向上看,发现Dest加密为:Dest[i]=Dest[i]+i;再向上看,发现Dest原来是由v1输进去的,而又有v1 = (const char *)sub_4110BE((int)&Str, v0, (int)&v11);,进去查看,发现是对v1进行Base64加密,故先写脚本,把Dest加密破解:
    #include<stdio.h>

#include<string.h>

#include<stdlib.h>

int main()
{

char a[20]={"e3nifIH9b_C@n@dH"};
for(int i=0;i<16;i++)
{
    a[i]=a[i]-i;
}
for(int i=0;i<16;i++)
{
    printf("%c",a[i]);
}
return 0;

}

  • 得到字符串e2lfbDB2ZV95b3V9 ,找到在线解密base64,得到flag{i_l0ve_you}


社工

密码

  • 这里题目给出的条件是名字:”张三”和生日:“19970315”,而要求是密码,所以尝试下名字首字母+生日、性首字母+生日、名字全拼+生日、名首字母+生日以及以上的大写形式,尝试后得出flag为KEY{zs19970315}

信息查找

  • 题目给出的范围很明确,是在今日头条上寻找bugku.cn,而且flag为群号码,于是推测这是bugku人员在今日头条中留下的宣传一类的,但不管怎么样,直接打开今日头条,搜索关键词“bugku.cn群号”,找到一条“主机屋网站遭到黑客攻击,黑客爆出联系方式”。打开得到群号,即得到flag:KEY{462713425}(ps:群号是假的,根本没有这个群qwq)

社工进阶

  • 首先看到name:孤长离,提示弱口令,百度了一下弱口令,知道这是密码,联想到应该是某一网站的账号,寻找有关网站,首先直接搜索孤长离找不到东西,先去微博转一圈,搜索孤长离找到博主,但是里面没啥东西。后来在百度贴吧找到bugku吧,只有俩帖子,第一个发帖的就是孤长离,进去看看,发现楼主粘了自己邮箱,下面都是跟帖吵吵破解邮箱的。所以直接去破解邮箱密码。
  • 由于题目提示弱口令,直接去csdn搜索弱口令,手动尝试(163图片验证快吐了),得到密码a123456,进去查看,收件箱没有相关内容。发现发件箱有好几个flag,但是尝试后都不正确,然后再草稿箱里找到了社工进阶(100)flag:KEY{sg1H78Si9C0s99Q}

杂项

签到提

  • 题目给了个二维码,说是关注得到flag。先用QR扫一下,发现是微信网址,于是用手机微信扫,得到bugku公众号,关注发送flag,得到flag:flag{BugKu-Sec-pwn!}

这是一张单纯的图片

  • 首先保存图片 ,看到图片只有6kb,先查看图片属性,没有发现东西,用winhex打开,发现文件头正常:FF D8是jpeg,而文件为本应是FF D9却发现FF不见了,然后发现文件尾插着一段编码:key{you are right} ,发现是HTML编码,转换后得到flag:key{you are right}

隐写

  • 打开压缩出来的图片,用winhex打开,发现文件头89 50 4E 47是正确的png文件头,文件尾瓸AE 42 60 82也正确,说明是正常的图片,首先用Stegsolve打开,没有发现异常,考虑到图片从长宽隐藏,修改图片长度,发现flag:BUGKU{a1e5aSA}

telnet

  • 下载文件发现是流量包文件,wireshark打开,因为题目中提示的是telnet,所以直接捕获telnet,然后追踪tcp流,发现flag:flag{d316759c281bf925d600be698a4973d5}

眼见非实(ISCCCTF)

  • 下载文件,名称是zip,用winhex打开,发现文件头是50 4B 03 04 是zip,故扩展名改为zip,解压缩后是一个word文件,发现打不开,直接用winhex打开发现文件头还是 50 4B 03 04 再次改拓展名为zip解压缩得到很多XML文档,一个一个查看发现flag:flag{F1@g}

啊哒

  • 下载图片,先查看属性,发现有一串奇怪的十六进制:73646E6973635F32303138(并不是flag),用winhex查看,发现文件头是jpg格式,文件尾确实00000,且发现有flag.txt关键字符串,故知道这是把装有txt的压缩包写在jpg文件尾了。直接用foremost分离,得到zip,打开后发现是加密文件。使用winhex打开zip,发现并不是伪加密,在尝试ada、啊哒等几个关键词无果后想到属性里面发现的十六进制,于是尝试输入,错误,将其转换为字符串:“sdnisc_2018”,输入,得到txt,打开即为flag:flag{3XiF_iNf0rM@ti0n}

又一张图片,还单纯吗

  • 这题把手里的工具跑了个遍,最后foremost分离出一张图,直接得到flag:falg{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}

  • 题目是猜,而且提示是flag{<名字全拼>},所以这里直接拖进百度识图,发现是刘亦菲,得到flag:flag{liuyifei}

隐写2

  • 下载图片,用winhex打开,文件头正确,文件尾是0000,故判断原图片文件尾被写入东西,直接用foremost分离,得到一个加密rar和一张提示图片,提示给了密码题目,但因为说了只有三位,所以直接暴力破解,得到密码871,解压缩出图片,图片里面没啥,属性也没啥,再用winhex打开,发现文件尾不对,而且旁边有 f1@g{eTB1IEFyZSBhIGhAY2tlciE=},直接提交不正确,f1@g改为flag也不对,然后发现{}内的字符串像是base64,转码后得到y0u Are a h@cker!,提交flag{y0u Are a h@cker!},提示错误,后来发现f1@g不能修改,由此得到flag:f1@g{y0u Are a h@cker!}

密码

滴答~滴

  • 根据给的题目和提示,应该是摩斯电码,直接在线转换得到flag:KEY{bkctfmisc}

聪明的小样

  • 提示:一只小羊翻过了2个栅栏,根据关键字判断为栅栏密码,找到在线工具转换得到flag:KEY{sad23jjdsa2}

ok

  • 这个根据题目和内容明显可看出是Ook编码,找到在线转换网站,得到flag:flag{ok-ctf-1234-admin}

这不是摩斯密码

  • 打开查看,发现内容格式是Brainfuck!,找到在线转换工具,转换得到flag:flag{ok-c2tf-3389-admin}

+[]-

  • 根据题目和内容,在编码大全中确定是brainfuck语言,找到在线转码工具,得到flag:flag{bugku_jiami_23}

富强民主

  • 根据题目和内容,是见过的核心价值观编码,找到核心价值观在线解密工具,得到flag:flag{90025f7fb1959936}

.!?

  • 这个先去编码大全走了一圈,没找到,但是后来发现Ook里面同时可以包含.!?,于是去Ook在线转换工具那里跑了一下,撞出了flag:flag{bugku_jiami}
文章作者: Sakura式
文章链接: http://yoursite.com/2020/01/30/bugku%E9%A2%98%E7%9B%AE/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hexo
打赏
  • 微信
  • 支付寶