车联网入门第一题--D3ctf-d3car
周末和烧卖激情的打了D3ctf,逆向没啥特别想记录的,主要是这次是本人第一次接触车机类的题目,主要时间在和师傅们一起做这个,感觉非常有意思,学到很多,但是最后还是只日出来一个flag,后面俩没日出来。不过日的时候疯狂搜索各种相关知识,也算小小的入了一点点门了?之后再找点相关
发现环境已经寄了,只能靠回忆来复现了
分三部分,相关知识介绍,自己做的部分和复现的部分
相关知识mqtt简述MQTT 是一种基于标准的消息传递协议或规则集,用于机器对机器的通信。智能传感器、可穿戴设备和其他物联网(IoT)设备通常必须通过带宽有限的资源受限网络传输和接收数据。这些物联网设备使用 MQTT 进行数据传输,因为它易于实施,并且可以有效地传输物联网数据。MQTT 支持设备到云端和云端到设备之间的消息传递。
原理mqtt是基于发布/订阅模型工作的协议,和普通的网络通信协议不一样,一般的网络通信协议是服务端和客户端相互通信,但是mqtt是引入了一个代理,每个客户端(用mqtt通信的设备都可以叫mqtt客户端)都可以是发布者和订阅者。如果是订阅消息,就是客户端向代理发送SUBSCRIBE,后接一个表示 ...
24/04/28
又是好多天没记录。虽然确实没啥好记的,2425忙着改论文开组会,改完就萎了然后打瓦连跪。
miasm看了,但是没看多少,后面再记录。
主要是跟着烧卖打了两天d3ctf,打满了。这次除了做了逆向,主要时间居然是在做车联网的题。因为他们说是安卓,我直接放下本来在看的(还好放下了)最后都是0解的一个re题屁颠屁颠去看了。结果发现没有日车机的经验不知道怎么下手。但是和烧卖的师傅们一起讨论把一些坑和流程都走了,也学了很多车机相关的协议和分析手法。确实很好玩,我感觉比逆向好玩(草或者说,至少比我接着日那个0解的Verilog好玩,也能学很多东西。
总而言之爽到了。虽然环境有点绷不住连一次10分钟容器还经常炸,虽然最后被wm超了一道题又又又第二,但是爽到了。
官方wp发完要狠狠的复现一波
打完d3后连开两把瓦,在赛季末上黄金了。功夫不负有心人
24/04/23
在广州和烧卖的师傅吃吃喝喝玩了两天,回来改毕设了
今日把毕设打回来的部分改了一大半,剩下的明天再说。
吃完午饭和学弟打了一把瓦,40杀,爽了一天
下午看了一下午miasm。真的想吐槽miasm的网上的示例,全都是python2版本的,第一次跑必报错。每次翻源码debug好久才能正常跑,而今天的动态符号执行的例子直接寄了,跑出来约束莫得,大概是模拟的时候错了。哎晕了
晚上把安卓的activity漏洞看了一遍,具体就
越权绕过原理就是把activity设置为导出了,导致可能被其他程序直接调用导致各种风险。按照ctf的话来说就像你直接绕过输入验证的步骤直接跳到了flag的界面。因为flag界面默认设置为导出(我还真这样做出过一道题)。方式也很多,编写apk调用或者用am去直接拉起来都行。
防护就别乱开export,检查intent-filter防止被恶意广播捕获然后干掉了。
钓鱼欺诈就是在正常程序上面悬浮恶意钓鱼软件的界面,比如你点开微信输入密码后发现输入到的是悬浮的恶意软件的窗口,微信的界面在下面被盖住了。原理也很简单,就是activity的历史栈,如果给activity设置FLAGAC ...
24/04/19
突然想记录一下每天干的事情,因为一天过去不知道干了啥,不知道能坚持多久,希望能坚持100天。
今日看安卓漏洞战争,大体了解了安卓各种漏洞类型,安了python3的drozen环境。很难装,很抽象,但是装上了。
学了activity的漏洞类型和原理。
显式隐式调用Intent,Intent的action和category,activity的生命周期的总流程,activity的四种启动模式。
常见安全漏洞看了四大组件的常见漏洞起因和保护
https://ayesawyer.github.io/2019/08/21/Android-App%E5%B8%B8%E8%A7%81%E5%AE%89%E5%85%A8%E6%BC%8F%E6%B4%9E/
主要是在学原理,还没开始实战,也只装了环境。
下午运维了一下服务器,晚上学了unity,把flappy bird的碰撞检测加上了。
明天大概没记录,因为去广州蹭打长城杯的学弟的10人房子🤺了
miasm学习【2】--动态符号执行
试试miasm的符号执行。虽然感觉miasm比较老学了不知道有没有用,不过先学几天玩玩也不是不行
仍然是看的官方blog
https://miasm.re/blog/2017/10/05/playing_with_dynamic_symbolic_execution.html
这次环境纯Ubuntu22+miasm0.1.3+vscode remote,不想再被0.1.5折磨了,遂更换。
动态符号执行动态符号执行(Dynamic Symbolic Execution)是一种软件测试和分析技术,用于自动化地探索程序的执行路径和输入空间。与传统的静态分析或基于覆盖率的测试方法相比,动态符号执行具有更高的覆盖率和更好的路径探索能力。
模拟用tigress的一个程序来测试miasm的动态符号执行
https://github.com/JonathanSalwan/Tigress_protection/blob/master/tigress-challenges/tigress-0-challenge-0
1234567891011121314from miasm.analysis.sandbo ...
miasm学习【1】--分析并去除smc
由于大神推荐加上无聊,准备开坑学习一下miasm。网上相关资料并不算很多,而且很多脚本和api都是python2的,我用的python3没法直接跑那些脚本,有点难绷,所以开个博客记录一下各种问题,顺便留个档。miasm版本windows是0.1.5,Ubuntu是0.1.3.操作系统环境是windows和Ubuntu,ide是pycharm和vscode+remote。
初探由于是初学,翻了一下官方的网站找到一个博客
https://miasm.re/blog/2016/01/27/re150.html
跟着学一学
首先用ida打开示例的程序
发现其start处的汇编代码是一个非常明显的smc。我们这里用miasm进行分析,不直接调试了。
注意,因为需要用到jit,而windows似乎用不了,所以此处转Ubuntu。
1234567891011121314import osfrom miasm.analysis.sandbox import Sandbox_Linux_x86_64# Insert here user defined methods# Parse arguments ...
Ubuntu git无法push的解决办法
因为想把linux的实验传到github上但是git push一直失败遂进行了一波尝试,最终成功push。
最开始报错如下
在网上查询了一波发现似乎是apt库上的git的ssl库不行,说是要换一个库,比较麻烦
最后采用的这个方法
先跑第一行
1git config --global url."git@github.com:".insteadOf "https://github.com/"
然后直接在虚拟机里生成ssh密钥
1ssh-keygen -t ed25519 -C "your_email@example.com"
保存一下生成的pub文件里的内容,然后在git的ssh密钥里添加
然后就可以成功push上去了。这里是因为重复push了啥也没改所以报的错,实际上是可以ssh上了
可能方法比较蠢,记录一下
2023年终总结
本来又懒得写了,但是空间和说说一堆师傅都总结了,感觉还是动动脑袋总结一下比较好
由于这是xman的个人总结,所以会带有很多的意识流和前后文不通,希望大家能谅解一下(x
(不得不说,截图自己说说来总结真的很方便)
分几个部分来总结吧
CTF算是主业?所以放第一个说了。真正全力搞ctf止于大三上,大三下之后就只打几个比较重要的比赛了。因为沉浸在找工作的焦虑中,学习实战去了。不过还好大二加大三上狠狠的努力了,所以还是算打下一些基础,之后的ctf比赛也能做出一些题,也就有了下面的几个线下
西湖论剑西湖论剑初赛
决赛
逆向手去线下啥也做不出,但是这次是线下第一次见华师战队,也是23年第一次线下,最后拿了个保底走人
腾讯游戏安全竞赛算是我今年的高光时刻了。详细一些的总结在另一个博客里,简短的说就是拿了第四名和没啥用的腾讯绿色面试通道,原因下面说
当时记得是没抱啥希望去打的,想着实在搞不出就当三天积累逆向经验了。推掉了广东省赛线下决赛,坐在实验室全力冲,终于在第三天下午过完反调试逆完虚拟机前的所有算法。确实是对学习成果的肯定,因为我从大三上开始才因为工作压力开始学安卓,但是安卓的学习资料 ...
binary ninja vscode远程调试bn脚本
折腾一天的binary脚本远程调试,决定记下来以免下次接着犯错
感谢s0rry的博客给的启示!
错误记录python配置成本地的python3.11的版本之后,按照官方文档的流程,首先安装了python311的debugpy,然后打开vscode远程调试并正常配置。但是在binaryninja测运行connect_vscode_debugger(port=5678)后显示time out,且vscode远程调试点击后显示访问refuse
解决方法用bn原生的python,用ctrl + p打开搜索栏并选择install python3 module
输入debugpy进行安装,安装的log在这里看,失败的话自己康康原因,我这里是直接成功的
by the way我的脚本需要keystone,安装keystone的时候报错了,解决办法是直接在已经装好keystone的python311的site-package目录下复制keystone文件夹并复制到bn的python的package目录下。我的目录是C:\Users\{yourname}\AppData\Roaming\Bi ...
unity游戏开发学习笔记
想在毕业前整出一个东方二创游戏,于是开了坑。
视频参考https://www.bilibili.com/video/BV1jK411V7V7?p=4&spm_id_from=pageDriver&vd_source=aca2ef475df4152d76052947baf25a61
c#相关匿名函数 canvasGroup.DOFade(0, fade_time).onComplete = ()=>{
gameObject.SetActive(false);
};
和js差不多,可以用这种方式构造一个匿名函数
unity使用组件physics2D2D游戏的物理效果
RigidBody2D2d刚体,加上后会有重力效果
Box Collider 2D2D的碰撞box,可以设置物体的碰撞体积,用编辑碰撞器来设置体积
RenderingSprite Renderer一般用来放置图像
miscellaneousAnimator动画自动机,会在asset里面创建一个动画文件一个状态机。动画文件可以进行编辑动画,状态机是不同动画 ...