kctf
暑假的时候看到的,第一天和别的比赛冲撞了,一直想复现 签到题字符串点进来就可以看见这个界面,查看第一个第二个 在第二个里面可以定位到这个函数里面 第二题check函数那很奇怪,把retn函数nop掉就可以看到真正的check函数 ai一下看来是一个迷宫题 起点和终点已经标出来了,而且dword_703020形成array的开头和结尾正好是这两个,直接写脚本拿出map,再在20F8上array拿到映射表 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111import mathfrom collections import deque# ---------- 判断质数...
Lazysysadmin靶场
Lazysysadmin靶场前置知识 SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP协议的139和445两个端口的服务。 Windows平台上曾经出现过一个第三方的信息枚举工具 enum.exe,其利用SMB协议枚举Windows系统和SAMBA服务,以此来获得目标系统大量的重要信息,其枚举结果可能包含目标系统的用户帐号、组帐号、共享目录、密码策略等机密重要信息。 enum4linux作为其Linux平台的复刻作品,全面兼容了enum.exe的所有功能。对于安全防护不足的SMB/SAMBA服务,enum4linux可直接枚举重要信息,甚至帮助我们发现潜在漏洞的存在。 信息搜集先扫描一下ip和端口 出来的服务很多都是我现在没涉及过的,先看一下,是一个页面但是里面的东西都是无法点击的 本来想看看上次试的ssh,直接用hydra爆破账户密码,但是字典爆破的量太大了没成功。这里用dirsearch直接扫一下目录,403的不管,可以发现有挺多有用的东西 有很多东西,重点是两个登陆的网页,还有一个可能包含了用户名的东西 法一...
我不要当脚本小子啊(っ °Д °;)っ
12221 三角和 第一眼看题完全没想法呃(⊙o⊙)…原来是不断的替代😥 123456class Solution(object): def triangularSum(self, nums): for n in range(len(nums) - 1, 0, -1): for i in range(n): nums[i] = (nums[i] + nums[i + 1]) % 10 return nums[0] 249 字母异位词分组 哈希 defaultdict 是 Python 标准库 collections 模块中的一个类,它是内置 dict 类的子类,主要用于简化字典中缺失键的处理。 与普通字典不同,defaultdict 在初始化时需要指定一个默认工厂函数(如 list、int、set 等),当访问字典中不存在的键时,会自动调用该工厂函数创建一个默认值,而不是抛出 KeyError 异常。 类似 if key not in d: d[key] =...
怎么老是你flutter
最近碰到这个挺多次的了,就想着弄懂一下😋 简介Flutter 是谷歌的移动 UI 框架,建构在Dart VM之上,使用Dart语言开发的移动应用开发框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 现在很多app都是用的该框架构建,而该原生框架是建立在app的native层,所以逆向时需要解包。 认识 Flutter 是什么? - 简书 Dart VMDart VM 是一个虚拟机,它为高级编程语言提供了执行环境,但它并不意味着在 Dart VM 上执行。它既能JIT即时编译、也能 AOT 提前编译。 在Dart VM下,AOT将源码转换成机器码打包进libapp.so,AOT 提前跑完后半段并把结果序列化成快照。 Dart VM 特点无法常规抓包 Dart语言网络请求不通过代理发送 有的抓包软件是作为中间代理,拦截网关从而获得流量包,而因为Dart语言的这个特点使得app无法正常抓包。 Flutter 的 HTTP 实现默认不读取 Android/iOS 的系统代理设置,流量直接走原始...
ssh私钥泄漏靶场
抱着踏踏实实学到哪,弄明白哪的心态完成了老师的作业::>_<:: 前置工作知识SSH 是 Secure Shell 的缩写,是一种加密的网络协议,用于在不安全的网络中安全地远程访问和管理计算机系统。主要作用是远程登录执行命令、安全传输。 默认端口是22 认证方式 密码认证:输入远程用户的密码。 密钥认证(更安全):使用公私钥对,避免每次输入密码。 所以拥有私钥就能无密码直接登录所有配了对应公钥的服务器,即系统只认钥匙不认人。 准备首先在网上找靶场,下载下来,导入到VMware Workstation Pro中 开启虚拟机,可以看到我们是无法登陆的,因为没有密码 信息搜集首先,打开kali用arp-scan...
nep
留校的时候打的,感觉特别高脂,复现一下 realme这道题当时用ida写的,现在看到很多wp都是用dbg 首先有调试,用dbg的插件去调试,真的很方便●﹏● 可以看到密钥和输入都被push了进入加密,过加密之后直接dump 然后再ida打开,会发现加密过程变成了真的不是原来的假的 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <stdio.h>#include <stdint.h>#include <string.h>uint8_t *ini(const uint8_t *key, int keylen, uint8_t *S) { uint8_t v5[256]; int i, v6 = 0; for (i = 0; i < 256; i++) { S[i] = i ^ 0xCF; v5[i] = key[i % keylen]; ...
lil
ARM ASM一个apk文件,里面可以发现密文 KRD2c1XRSJL9e0fqCIbiyJrHW1bu0ZnTYJvYw1DM2RzPK1XIQJnN2ZfRMY4So09S 找到so层的文件,arm反汇编找到MainActivity在里面可以发现有一些位移和base vqtbl1q_s8向量查表 1int8x16_t vqtbl1q_s8(int8x16_t data, uint8x16_t index); veorq_s8向量按位xor 先解一个换表base64 再写个脚本处理一下位移 1234567891011121314151617181920table = bytearray([0x0D, 0x0E, 0x0F, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x06, 0x07, 0x05, 0x04, 0x02, 0x03, 0x01, 0x00])data = bytearray([0x92, 0xb7, 0x7c, 0x0b, 0xbc, 0x6b, 0xb2, 0x39, 0x7d, 0x13, 0xa1, 0x50, 0x72,...
日常1
cm1jadx打开,里面有两个main函数,发现用了一个函数对文件进行了加密 加密函数里面长这样,好丑我滴妈 我在网上看到有人用jeb反汇编可以,所以特地下载了一个jeb,可以发现里面的逻辑是1024一组,然后和key异或(⊙o⊙)! 1234567with open("ooo", "rb") as f: content = list(f.read())key = b"vn2022"for i in range(len(content)): content[i] ^= key[(i % 1024) % 6]with open("one", "wb") as f: ...
小小vm
vm正如其名virtual machine也就是虚拟机的意思 如果他要模拟一个机器去执行一个文件的话,必然需要cpu中的寄存器、内存之间的堆栈,然后还要不断的读取指令去执行函数,来模拟执行流。 大概流程就是这样子的 他的伪堆栈和伪寄存器和一些字符串则会放在一个全局变量中,来答到一个模拟机器的效果 我看别人的博客说一般有两种类型的题目 给可执行程序和opcode,逆向emulator,结合opcode文件,推出flag 只给可执行程序,逆向emulator,构造opcode,读取flag 先找了几个简单的练练手 类型一[GKCTF2020]EzMachine32位打开,开局有个花指令不难,可以看到main函数 这些和字符串一起放置的猜测是寄存器 0 11B0函数 eip+1 inc后面可能是寄存器加一,或者是内存地址加一,这里5BD8在字符集的地方也出现了,应该是eip,即eip加1 1 1000函数 mov 这里我把字符集名字修改了一下,借字符集实现现在的操作数放到寄存器里面 2 1070函数 push...
那晚c和python都喝醉了
最近新做了一种题型,感觉以后考的应该挺多的,然后干脆放一起总结一下吧,因为也算是re入门的一部分Y(^o^)Y python解包首先拿到一个exe文件它的外形长这样,基本就是用pyinsatller打包的exe文件 用工具查一下有pyinsatller显示出来 python逆向基础流程(纯小白教程)_python exe逆向-CSDN博客 解法也很简单下一个pyinstxtractor,放一个文件夹下解包就可以了,这个是正统的方法 像我这种不正经的人就会想歪门邪道用在线的,但是孩子们不要学歪哈(^_^) 解开之后拿到pyc文件,然后用一个库拿到py文件,当然也有快速的方法,但是太求速度也不好,尽量知道正常的怎么做 1uncompyle6...