嗯嗯,毕竟我还是个信息安全的小菜鸟,就去看看题目练练手,一起加油吧
BASE64:
这题顾名思义我就去用base64解码了呢
bingo:moectf{b@se64_1s_a_ImPorT@ant_coded_format}
凯撒密码:
啊咧,走了七步,那所以加密往后推移的步数是8咯?(最开始是1,1+=7哟)
用自己写的小程序解密一下
栅栏密码:
乍一看就是垮了三个栅栏,moectf{song_fen}
ZIP伪加密:
修改加密位,常规操作,但是发现文件报错了,后来发现文件头错了哟,要先修复ZIP才行
蒙娜丽“圆”的微笑:
用010Editor打开文件,结合图片本身是gif格式,还原gif的文件头
然后用stegslove打开图片,发现有东西闪过,那我们就逐帧看……利用软件中的Frame browser功能
默默逐帧播放就好
Backdoor:
我先用Winhex打开看一下,发现里面有很多网址,PHP什么的,再结合题目给的流量包提示,用Winshark打开看看
emmmm,我眼睛都找花了还是没找到flag
然后题目说黑客攻击后门,找出上传入侵证据什么的,猜测可能是图片之类的,这类东西在网络中都是以010101形式传播的,我们再找一下
找到了疑似压缩包的数据流,把压缩包制作出来,打开后,发现有损混,但我们可以看到里面确实有图片
后来发现流量包一定要复制底下的那段,重新还原zip后,打开是个二维码哦,你懂的
皮卡丘的丘:
这题第一步很诡异,题目是皮卡丘,但图上没有,想了半天,修改了图片的高度,发现了皮卡丘,以一部份flag
题目提示可能不只有一张图片,但是我们用binwalk和foremost都没有发现其余图片,很可是图片的一部分被破损了,及其怀疑是头文件,图片的格式是png,大家可以去了解一下png的文件格式哦,最终我是找到了两个IHDR,在其中一个的前面补齐了头文件,再用foremost分离就发现了两外一个图片
按照提示去下载软件,学习一下操作,根据了解:SteganoImage 是一款可以将文字信息或附件隐藏在 png 图片文档的软件。
弄脏的二维码:
题目提示黑白颠倒,要重定位
第一步,用photoshop进行反相
第二补,进行重定位,把二维码补全,唉,难为我这个PS零基础的,求了PS大神才知道该怎么办的……
RE1:
这题刚开始我折腾了半天,觉得好复杂,后来就拖到IDA里面看了看字符串,然后,emm,就找到了
RE2:
拖到IDA里面看一下
大概基本就是这样我们可以在上麦呢看到v49是一个可以放8个元素的数组,但是底下有减112什么的,相当于十个负溢出,我们看网上搜索内存,发现正好是要输入的buf空间,容我三思……
异或运算时可逆的,最后得出的buf的前22个数要等与v5到v26,赋值给buf后,前20个数在进行异或来还原,如下图所示(list_one就是开头的那一堆var)
这样我们就解决了前22位,后面7个元素不知道怎么办,无关紧要,貌似没有要求,题目中之分析出了前22起关键因素,我们转换成字符串
美滋滋,然后一提交,错了……没错,错了……尴尬,后来问题也找到了,就错了一位,你能找到么
PY逆向:
这道题我单独写了一篇,因为也是第一次接触pyc,然后算是熟悉一下python(我真的很菜)
链接:https://blog.csdn.net/qq_42192672/article/details/81974616
你玩过2048么:
这道题我们可以用cheat engine修改内存哟,我们打开exe文件,打开cheat engine,把2048的线程附加绑定上去,我们可以搜索你想要的数值,然后不断的删选,最后删选出上传4096的地址,然后把那个地址修改成4096就好啦,虽然这么做的确有开挂的嫌疑(如下图一般删选,修改就好)
然后修改数值,就好啦,算是动态的小脚本吧
ha:
这是我第一次做PWN的题目这个还比较简单,先拖到IDA里看一下
转成C的代码分析一波
要输入一个字符串,然后覆盖到int1926之前就好,是一个简单的缓冲区溢出问题(虽然我纠结了很久)
这里的0x0786就是1926的字符串形式,但是内存历史要小端序滴哟
Where is the flag:
F12查看注释
GET:
这个题目其实算是掌握一点特殊姿势就好了,题目上有和你说参数是flag,参考HTTP的GET方法,在网站后面加上?flag就好
POST:
这个我是用火狐浏览器的hackbar插间实现的
你喜欢机器人么:
可以去了解一下robots.txt,大致就是说通过访问这个文件,就可以知道你允许访问哪些地方
可以访问的文件就找到了,访问该文件就好了
弹弹弹,弹出XSS:
一个个试过来,尝试吧包含FLAG的弹窗给弄出来
最后尝试出来是,输入就好了
万能密码:
这里就是用后台万能密码,概念可以大家百度一下
成功登陆,flag呢……估计是被背景色挡住了,去源码里看看就有了哦
PHP是世界上最好的语言:
这个是弱类型,就是输入的字符和所给的字符不同,但是md5加密后的值要相同,题目里所给的字符串的md5加密后的值是0,那么我们百度一下那些字符串md5加密后是0就好
骚年,你手速够快么:
这个算是一个拦截数据的问题,虽然题目提示要用Burp,我自己使用Winshark拦截的,感觉比较适合新手
启动Winshark,然后打开题目传送门,进行拦截
PHP弱类型的复仇:
我们先看一下源码
基本上粗略看一下,就是在数组gugugu里面输入一串字符串,要匹配上所给的正则表达式,然后再用json_decode解密数组gugugu,与secret进行比较
正则表达式大家给以搜一下什么意思
这里这个正则表达式的意思是----第一位是[1-9]中的一个数字,第二开始位是[A-Z]中的一个字母,一共要10到12位
接下来我们进行配凑,因为不知道secret是值是什么,我们尝试绕过
提示里显示从小到大,我先是试了所有整数,后来我试了科学技术法(E),emmmm……差点自闭
Cirno:
在Linux连接上题目,算是数学题吧,要我们循环99次,其实可以偷懒,服务器只要收到答案9就算对,那我们输入99个9就好