2024 ZJUCTF WriteUp
本次校赛题目质量不错,难度设置比较合适,属于是看到感觉可以试一试的程度。其中*A口算很有趣!强烈推荐!!! MISC小A口算该题目会随机生成20以内的数字比较,可以构造脚本在1分钟内刷够足够分数,从而获取flag exp 123456789101112131415161718192021222324252627282930from pwn import *context(arch='amd64', log_level='debug')# p = process('./arithmetic')p = remote('127.0.0.1', 38981)p.recvuntil("Input your choice:")p.sendline('1')p.recvuntil('Try your best to answer questions as much as possible!\n')for i in range(150): ...
Sandboxing
观看pwn.college中sandboxing模块的讲解视频所做的笔记 Modern Technologies about SandboxingSeccomp通过设置系统调用的禁用和允许规则来达到目的 Namespace创建一个类似于docker的独立命名空间unshare命令:Run a program with some namespaces unshared from the parent其创建了一个新的命名空间,其与父进程独立。(注:fork系统调用为完全共享,clone系统调用可以指定共享内容) unshare后创建的新进程仍然可以访问原本的目录(如/),因为还没有mount和unmount。(附:使用mount将根目录下的目录,例如/bin等重新mount到新进程下,就可以在新进程下看到,这就是docker container使用的技巧。注意,在外部系统中是看不到mount的目录的,因为unshare不共享mount...
CTF常用工具汇总
记录了ctf的常用工具,随缘更新~ PWNpwntools最基础的工具之一,python库 1234apt-get updateapt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essentialpython3 -m pip install --upgrade pippython3 -m pip install --upgrade pwntools pwndbg最基础的工具之一,调试神器 https://blog.csdn.net/whbing1471/article/details/112410599 checksec1sudo apt-get install checksec ROPgadgethttps://github.com/JonathanSalwan/ROPgadget.git 123sudo apt install python3-pipsudo -H python3 -m pip install ROPgadgetROPgadget...
Bochspwn学习
目的qiling为单线程的模拟,无法模拟并检测到内核中多线程由于条件竞争导致的内核漏洞。因此学习Bochspwn工具的使用,查看能否用于检测内核的多线程条件竞争的内核漏洞。 贡献简介Bochspwn是一个系统范围的工具,旨在记录操作系统内核执行的内存访问,并检查它们,以搜索提示存在某些漏洞的模式,比如“double fetch”。有关内存引用的信息是通过在Bochs IA-32仿真器中运行目标操作系统,在Windows内核中发现了超过50个竞争条件类的漏洞。
【ciscn_2019_es_2】WriteUp
checksec一下,发现只有NX防护。 123456[*] '/home/bronya/Documents/CTF/pwn11/ciscn_2019_es_2' Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) 使用ida打开,发现s存在溢出漏洞,但是只能溢出8字节,无法调用write等函数进行RetLibc。因此考虑栈迁移。 12345678910int vul(){ char s[40]; // [esp+0h] [ebp-28h] BYREF memset(s, 0, 0x20u); read(0, s, 0x30u); printf("Hello, %s\n", s); read(0, s, 0x30u); return printf("Hello,...
【ez_pz_hackover_2016】WriteUp
checksec发现NX保护未开启,因此可以考虑Ret2Shellcode。 12345678[*] '/home/bronya/Documents/CTF/pwn17/ez_pz_hackover_2016' Arch: i386-32-little RELRO: Full RELRO Stack: No canary found NX: NX unknown - GNU_STACK missing PIE: No PIE (0x8048000) Stack: Executable RWX: Has RWX segments ida查看,发现存在栈溢出漏洞,其中n=0x400,因此可以尝试向dest中写入shellcode。 123456void *__cdecl vuln(int src, size_t n){ char dest[50]; // [esp+6h] [ebp-32h] BYREF return...
【babyheap_0ctf_2017】WriteUp
checksec查看,保护全开,可以查看是否有堆的漏洞 123456[*] '/home/bronya/Documents/CTF/pwn18/babyheap_0ctf_2017' Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled ida查看: main函数提供了菜单以及选择功能 1234567891011121314151617181920212223242526272829__int64 __fastcall main(__int64 a1, char **a2, char **a3){ char *v4; // [rsp+8h] [rbp-8h] v4 = sub_B70(); while ( 1 ) { sub_CF4(); switch ( sub_138C() ) { ...
Kernel Pwn 学习之路(一)
参考链接:Kernel Pwn 学习之路(一) 1. 前言本文主要介绍Kernel的相关知识以及栈溢出在Kernel中的利用。 2. Kernel简介本部分全文引用了CTF-Wiki的相关内容。 2.1 什么是Kernelkernel也是一个程序,用来管理软件发出的数据I/O请求,讲这些要求转译为指令,交给CPU和计算机中的其他组件处理,kernel是现代操作系统最基本的部分。 Kernel最主要的功能有以下两点: 控制并与硬件进行交互 提供application能运行的环境 包括I/O,权限控制,系统调用,进程管理,内存管理等多项功能都可以归结到上边两点中。需要注意的是:kernel的crash通常会引起重启 2.2 Ring 模型intel CPU 将CPU的特权级别分为4个级别:Ring 0, Ring1,… ,Ring3。 Ring0只给OS使用,Ring3所有程序都可以使用,内层Ring可以随便使用外层Ring的资源。提升系统安全性 大多数操作系统只使用了Ring0,Ring3。 2.3 状态切换User space to kernel...
国内外安卓应用市场对比调研
分析国内外安卓应用市场的差异,可以用作相关论文的背景素材 1. 应用市场规模成碎片化特点 安卓市场规模巨大(>77%) 应用市场多达400个,其中有25个主流应用市场佐证材料: Statista数据——Market share of the Android app stores in China as of May 2022 As of May 2022, Huawei AppGallery was the top Android app store in China with a market share of about 44 percent. China’s technological advancement combined its ban on Google has caused its Android market to be flooded with several competing smartphone manufacturers each with its own app store.(国内市场碎片化的原因:GooglePlay被禁,国内技术发展)In...
DSE论文笔记
简介通过建立一个比较简单的语法简单中间语言(A simple intermediate language,SIMPIL)。对Dynamic taint analysis和forward symbolic execution进行了讲解。 SIMPIL 动态污点分析动态污点分析:跟踪源头与sink点的信息流。任何由污染源推导的值都是污点(T),其他值看作未污染。 两种错误: overtainted:假阳性 undertainting:假阴性 动态污点分析策略Taint Introduction将用户输入作为污染源 Taint PropagationTaint Checking查看是否污染 前向符号执行前向符号性可以通过建立逻辑表达式分析程序在不同输入下的行为。属于静态分析。