- 博客(18)
- 收藏
- 关注
原创 基于bochs编写操作系统 0x3 MBR利用IO进行打印
前一章中,我们开始编写MBR,文章末实现了打印字符串并基于jmp $指令实现死循环。本节中,将继续实现MBR功能。
2024-05-03 10:42:59
316
原创 基于bochs编写操作系统 0x2 BIOS与MBR
前一章中,我们配好了bochs仿真环境,并尝试了运行。由于没有引导程序,启动会报错。总所周知,操作系统启动时各个扇区存储的指令最初是由bios指令搬入内存的,因此,本节与BIOS及MBR相关。
2024-05-02 12:18:35
383
1
原创 基于bochs编写操作系统 0x1 准备工作
之前,我们基于github中的项目分析了linux0.11版本的源码,但是其中有些东西有些模糊,因此,我们基于吾爱破解中的文章,尝试基于bochs实现一个操作系统。从0到-1写一个操作系统-0x00-环境准备 - 『软件调试区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn。
2024-05-01 23:17:08
369
1
原创 pwn做题笔记14-echo_back(printf函数栈详细利用+利用控制scanfIO流实现任意地址写入)
当Linux新建一个进程时,会自动创建3个文件描述符0、1和2,分别对应标准输入、标准输出和错误输出。C库中创建与文件描述符对应的是文件指针scanf读取stdin时依照读文件的方法,内部调用_IO_new_file_underflow函数。而该函数最终调用了_IO_SYSREAD系统调用来读取文件。在调用系统函数前,该函数同时进行了判断处理:根据读取指针的位置和结束位置来判断缓冲区中是否还有可读取的数据。
2023-08-28 22:11:18
724
原创 pwn做题笔记13-greeting_150(解决无循环问题与格式化字符串漏洞长内容写入)
拿到程序首先运行,没有分支,实现输入-输出的逻辑file,是32位程序,开启了金丝雀、栈不可执行,没有开启ALSRida反汇编,没有溢出,有格式化字符串漏洞;此外,没有后门函数,但是strlen()直接处理s,给了我们传入/bin/sh并替换strlen在got表地址为system的可能。
2023-08-22 17:30:58
335
1
原创 PWN做题笔记12-warmup(栈盲溢出)
这道题没给附件,nc一下,程序给了个地址,之后可以进行一次输入,之后就没有反馈了,推测该地址就是要溢出跳转的地址,会cat flag。因此,二者结合并加入try-except接收recv的输出并绕过interactive,直到接收到输出,还是很巧妙地~整不出什么花活,直接简单的溢出。
2023-05-16 15:19:31
426
原创 PWN做题笔记9-dice_game(调用libc库方法)
本题与“4”没有本质区别,这里说一下数组在栈中的存放以及libc库方法直接调用buf数组大小55,但是读了0x50即80个字节,存在溢出栈中数组元素存放如下:因此构造payload覆盖seed地址变为0可以利用ctypes库直接调用libc库中的方法。代码如下:from pwn import *from ctypes import *p=remote("111.200.241.244","55029")payload=b"a"*0x40+p64(0)p.s.
2022-04-26 11:00:51
719
原创 PWN做题笔记7-CGfsb(这篇不要看了,写的时候没理解,理论分析部分有错误,但不想改)
原题地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5050&page=1本题属于格式化字符串漏洞,主要利用gdb调试文件中只有一个main方法,如图位置存在格式化字符串漏洞这里需要提及一下格式化字符串漏洞的原理:核心在于printf(&test)会将test解释为格式化字符串,并且,格式化字符串存在%n可以写入元素存储的地址中前面字符串长(注意地址%n
2022-04-21 20:40:35
352
原创 PWN做题笔记6-Level3(got表做ret2libc)
原题地址https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5060&page=1题目包含一个ELF文件level3和一个libc库是32位ELF文件,采用动态链接库未开启ALSRida反汇编,main函数write:该函数存在溢出点:但是LEVEL3没有提供system函数和/bin/sh字符串,因此要从动态库找。这里要提及一下如何确定动...
2022-04-21 17:48:07
468
原创 PWN做题笔记5-cgpwn2(已修订)
原题地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5059&page=132位ELF文件未开启ALSR程序实现依次进行两次输入ida反汇编,main函数无注入点,hello函数第二次输入无边界检查,可以溢出由于pwn方法包含了system方法,因此属于ret2libc漏洞又由于未提供/bin/sh字符串,需要通过向.bss存储的...
2022-04-19 22:14:31
304
原创 PWN做题笔记4-guess_num(已修订)
原题地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5057&page=1如图,程序为64位ELF文件安全机制全部开启,不太可能是注入地址程序的功能为输入用户名,之后猜10个数,全部猜对可以获取flagmain函数用户名存在注入点查看栈结构可以发现用户名可以覆盖随机数种子构造输入:b"A"*(0x20)+p32(0),随机数种子为0以相同的...
2022-04-19 21:25:24
588
原创 PWN做题笔记3-level2(已修订)
原题地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5055&page=132位ELF文件未开启ALSRida反汇编:只有main函数,但是给出了system函数,因此是一个ret2libc类型的题目,目标是通过溢出构造_system函数的参数并调用。查找/bin/sh字符串,地址0x0804A024:_system地址0x0804832..
2022-04-19 19:12:39
2356
原创 PWN做题笔记2-int_overflow(已校对)
原题地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5058&page=1如图,程序是一个32位ELF文件chesecida反编译,main方法中实现了登录功能,无溢出点login方法中输入用户名和密码:这里位数上0x19<40,0x199<512,因此无溢出check_passwd实现对密码长度进行检查:密...
2022-04-19 17:22:46
370
原创 PWN做题笔记1-ret2text(已校对)
原题位置:CTFHub题目属于栈溢出给出了地址和端口,压缩包中有一个二进制程序pwnfile pwn可以看到是64位ELF程序checksec发现没有开启地址空间随机化机制程序运行如下:ida64反汇编,发现输入没有边界检查,存在注入secure函数调用了system返回一个服务器里的shell,因此目标是调用这个函数函数地址如下:main函数栈结构如下:目标是覆盖掉ebp,地址偏移为0x70+8,这部分覆盖为“A”,之后ebp覆...
2022-04-19 15:24:36
3409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅