一个人做了所有题,说实话有点累,哎
RE
babynim
和初赛一样的nim语言逆向,die识别出了虚拟机保护但实际上关键代码没有保护,有之前的经验逆起来更简单了,就是输入的字符串转换成大数与一个常数相乘(还伪装得很像一个flag),结果与常数相等。
所以除一下就是flag了。
审计后的代码:
1 | __int64 NimMainModule() |
exp:
1 | # input = 123456789012345678901234567890123456 |
一个人做了所有题,说实话有点累,哎
和初赛一样的nim语言逆向,die识别出了虚拟机保护但实际上关键代码没有保护,有之前的经验逆起来更简单了,就是输入的字符串转换成大数与一个常数相乘(还伪装得很像一个flag),结果与常数相等。
所以除一下就是flag了。
审计后的代码:
1 | __int64 NimMainModule() |
exp:
1 | # input = 123456789012345678901234567890123456 |
rce bypass:空格绕过
过滤了常用命令行字符
payload:
1 | /?ip=127.0.0.1;cat$IFS$9`ls` |
1 |
|
浅谈CTF中命令执行与绕过的小技巧 | Pupiles blog
安装:
1 | pip install frida-tools |
前往github项目Releases · frida/frida
下载相同版本的frida-server发行文件,注意请使用测试机器上的架构,如果是模拟器则是x86的
使用adb连接手机后,将文件上传到手机/data/local/tmp
文件夹
1 | adb push frida-server /data/local/tmp |
对frida-server的端口进行转发
项目地址: https://github.com/CHYbeta/Web-Security-Learning
知识星球【漏洞攻防】:https://t.zsxq.com/mm2zBeq
目录:
首先语言肯定要懂c++,学起来比较平顺的是visual c++2013入门经典(第七版)十二章之前看完就行了,然后就是汇编语言基本上你能看懂就行了,王爽或者黑皮书,然后你就要了解操作系统,windows看精通windowsapi,看完才真正能够在windows下做东西了,但是用起来还有很多注意的地方更深入的了解内存和操作系统一些机制就要去看windows核心编程(第五版),这些都是基于windows公开api,还有非公开的api有windowsnt/2000本机api,这书中文基本上买不到了,应用层的开发你基本上懂了就可以去看内核的开发,这里有windows内核编程,包含内核驱动开发的东西,然后源代码现在微软泄漏了xp的源代码,可以对着去看他是怎么实现内存管理异常管理这些东西,内核开发会了以后可以去了解windows底层的实现的机制,可以去看windows内核原理与实践,也讲了很多细节性的东西,然后有本比较小的windows内核安全编程,适合快速地看一下,这几本书看完再加上源代码看的差不多再内核基本上你去一些杀毒软件公司当一个比较强的技术岗没什么太大问题了,那么windows的修行到这个地方就可以了,逆向的话静态分析像ida这种工具使用还是比较简单复杂主要是在他的使用技巧上面这里有idapro权威指南,然后你会发现逆向汇编看不懂干了啥,这里比较好的就是钱林松的c++反汇编与逆向分析技术揭秘,这本书看懂了你可以把汇编还原成c++到了后期你一看到汇编代码脑子里马上就是c语言代码,除了静态分析以外动态调试讲得最全的一本书就是张银奎的调试软件,你有了这些调试的技术以后遇到问题你也好处理了,你也明白调试是什么样子的了,有了这些东西你分析肯定能分析了,逆向也能逆向了,但是你要想怎么做的更快,更敏捷迅速更强,这时候就考验你对代码的识别能力这里你就要懂数据结构和算法,这里有两本黑皮书可以看,除此之外windows最重要的数据结构就是pe,这里可以看windowspe权威指南,这东西你看一眼目录将来用的时候可以拿来查,基本上到了看这个书的时候你的学习能力已经非常强了,到了这个阶段基本上ok了,你的逆向分析能力开始上段位了,这个时候想让逆向能力更上一层楼上限就取决于你的开发能力,所以你肯定要有项目的经验比较好的就是做一个像远程桌面的项目,可以用到p2p或者cs的技术,发现知识面不够可以去看tcp/ip网络编程比较简单,然后再自己做个调试器,接下来就是大量的分析对程序彻彻底底从头到尾捋明白了,业余学逆向最大的问题就是有时候能搞出来有时候你能搞出来,所以核心的问题就是什么时候都可以分析出来,这个时候基本上你就成功了
打开苹果测试查看程序,搜索关键字:627604C2-C586-48C1-AA16-FF33C3022159.PNG
然后再导出图片
查看图片的属性
直接搜索姜总,发现快递单号
先把总结放前面。从这次比赛到现在自我反思的几个问题:
首先看到图片的高度不对,怀疑是高度隐写,用010edit打开修改图片的高度。后面发现得到了一个密码。猜测是压缩包密码
尝试用binwalk分离,得到一个压缩包,用之前得到的密码可以解开
将图片用set 打开, 发现在red、green和bule的图片下面存在一行模糊的内容,lsb隐写,(red、green、Bule为1)
逆向安卓或者其他arm平台应用的时候,阅读arm汇编是必不可少的。这里对arm汇编知识点做一个总结和记录。
~/.InitWsl
1 |
|
在github的设置添加了密钥,其他系统也能使用此密钥对进行push,但是windows就是不行(试了很多方法包括添加到了ssh-agent)。最后发现是没有设置ssh针对host使用对应私钥的问题。
在 ~/.ssh/
目录下创建config文件或者修改已有的ssh配置文件,然后写入
1 | # github |