ehaxCTF - ghostKey
0x01 编写gdb脚本辅助ai分析 程序要求输入一个32字节的key, 直接让ai静态分析,但是效果不好. 让ai生成需要dump的断点: ## 1) charset 检查(main.main.func2) ### 断点A:0x499a4c(取当前字符) - IDA语义:r = k[i](对应伪代码里的 r) - 观察变量: - i -> rcx ...
0x01 编写gdb脚本辅助ai分析 程序要求输入一个32字节的key, 直接让ai静态分析,但是效果不好. 让ai生成需要dump的断点: ## 1) charset 检查(main.main.func2) ### 断点A:0x499a4c(取当前字符) - IDA语义:r = k[i](对应伪代码里的 r) - 观察变量: - i -> rcx ...
比赛期间这一题根本没看,赛后学习了@j0xnd03大佬的脚本,涉及到了large bin attack, unsafe-unlink等以前还没有学过的技术,期间看了很多blog恶补相关知识,一晚上+一上午才终于理清了攻击思路。第一次见到这么长的利用链,真让人兴奋! 0x01 - 语义分析 程序实现了一个简易虚拟机: void __fastcall __noreturn main(__int...
用patchelf设置binary路径 使用 --set-interpreter可以设置解释器路径,--set-rpath设置搜索动态库的路径。其中$ORIGIN是一个特殊的值,意为“根据当前的目录,相对地寻找lib”. 但是注意,这个选项对于–interpreter无效。 一个错误示范: (venv14) woc@myarch:ehaxCTF/revenge_womp $ ls . ...
// chall.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <sys/mman.h> #include <unistd.h> #define HAND_SIZE 14 #define B...
格式化字符串漏洞,但是这一题只会执行一次输入,也就是说,没有“泄露信息”的机会。 0x01 尝试劫持got表 首先想到的是:利用一次任意位置写的机会,劫持控制流。比如修改got表: pwndbg> checksec File: /ctf/pragyan26/talking_mirror/challenge Arch: amd64 RELRO: Partial...
没有防护,直接栈溢出 pwndbg> checksec File: /ctf/pragyan26/dirty_laundry/chal Arch: amd64 RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000)...
解出来的第一道heap相关的题,还是挺有成就感的。 0x00 调试方法 这一题给了 libc-2.27和一个比较老的libstdc++,直接在当前目录下把附件libc命名为libc.so.6会出问题,似乎是版本太过古老,会导致当前的shell命令都出问题,连ls都不能执行。咨询yxy学姐后,建议我用patchelf修改,但是这一题还有libstdc++,有一堆依赖不太好办。 无奈之下我开始...
LLM决定调用什么工具:返回AI message 工具输出的结果:Tool message LLM最后要看的部分:messages将所有的Message(包括SystemMessage, HumanMessage, AIMessage, ToolMessage)都放进去,重点表示的是一个“时间线”,让LLM能有记忆功能 追踪流失输出中的event: ===================...
最近闲来无事,又翻出了这一道题。起初我尝试用gdb脚本解,但是只解出了最后几个字符;后来看discord群里有大佬是用unicorn做的,也体验了一下这个工具,发现确实挺不错的。 0x01 gdb脚本尝试 刚拿到程序,发现是一个stack vm,含有大量gadget 函数 .text:00000000004013E0 .text:00000000004013E1 .text:0000000...
参考教程: https://www.datacamp.com/tutorial/langgraph-tutorial 0x01 用LangGraph构建单节点ChatBot import os from dotenv import load_dotenv from pydantic import SecretStr from IPython.display import Imag...