- 2024-12-25PWN系列-2.27版本利用setcontext实现orw
PWN系列-2.27版本利用setcontext实现orw知识开启沙箱之后,我们就只能用orw的方式来得到flag。这篇博客主要讲通过劫持__free_hook或者__malloc_hook利用setcontext在libc或者heap上执行rop或者shellcode。在free堆块的时候,rdi会指向堆块,在检测到__free_hook有值的情况下,会跳过
- 2024-11-27PAWNYABLE kernel stack overflow 笔记
PAWNYABLE中的第一节stackoverflow的学习笔记。(觉得这个教程好细致,而且封面好可爱...这一节讨论内核的栈溢出,分成了不同防护程度的情况来讨论不同的情况下面,攻击应该如何进行。基本的思路在module_write里面,copy_from_user的大小是用户控制,大小没有检查的。可以在这里
- 2024-09-24艾体宝产品丨无需代码开发!Redis数据集成助你轻松优化数据库
我们不仅致力于加速应用程序的构建过程,更专注于助力您达成最终目标——实现应用的高效运行。因此,我们欣然宣布,Redis数据集成(RedisDataIntegration,RDI)(https://redis.io/data-integration/)已经正式发布。RDI是一款专为实现实时数据同步至Redis而设计的工具,旨在减轻您构建自
- 2024-09-04Wx64ST:一款轻松可修改的C语言Shellcode模板
关于windows_x64_shellcode_templatewindows_x64_shellcode_template简称为Wx64ST,它是一款功能强大的Shellcode模板,该模板基于C语言编写,其简单、可扩展和易于修改等特性可以帮助广大安全研究人员轻松开发适用于Windowsx64的Shellcode。值得一提的是,该模板代码可以加载Load
- 2024-07-31ucontext源码分析
gcc函数调用进入一个函数后的栈布局/*+----------------------------+|第6个参数后的参数(如果有)|+----------------------------+|返回地址(调用函数的下一个指令)|+----------------------------+|上一个函数rbp|+----------------------------+|
- 2024-07-30summer2024_orw
妈呀普天同庆,终于过了啊啊啊啊啊【尖叫】【阴暗爬行】orw原理就是有两个函数可以控制函数禁用prtcl()和seccomp()prctl#include<sys/prctl.h>intprctl(intoption,unsignedlongarg2,unsignedlongarg3,unsignedlongarg4,unsignedlongarg5);//主要关注prctl()
- 2024-06-24gdb使用个pwndbg安装
安装pwndbggitclonehttps://github.com/pwndbg/pwndbgcdpwndbg./setup.sh基本命令help//帮助i//info,查看一些信息,只输入info可以看可以接什么参数,下面几个比较常用:ib//常用,infobreak查看所有断点信息(编号、断点位置)ir//常用,inforegisters查看各个寄存器
- 2024-04-24CSAPP Lab-3 ATTACKLAB
书接上回,这次做到了第三个Lab啦。任务描述这一个Lab的任务就更有意思了,实验给了我们两个程序,每个程序都会让我们输入一行字符串,而它们是通过下面这个函数来读取的:unsignedgetbuf(){ charbuf[BUFFER_SIZE]; Gets(buf); return1;}其中,Gets函数和C库的gets函数
- 2024-04-24CSAPP Lab-4 Architecture Lab
本次实验是有关书上第四章设计的Y86-64处理器的,实验分为三个部分,分别是编写几个简单的Y86-64程序、使用一条新指令扩展SEQ模拟器以及优化Y86-64的基准测试程序和处理器设计。实验准备需要简单复习一下Y86-64的指令集架构以及处理器架构呢。指令集架构指令集:指令功
- 2024-04-13汇编语言简易教程(12):系统服务
汇编语言简易教程(12):系统服务应用程序必须使用操作系统执行许多操作。此类操作包括控制台输出、键盘输入、文件服务(打开、读取、写入、关闭等)、获取时间或日期、请求内存分配等访问系统服务是应用程序请求操作系统执行某些特定操作(代表进程)的方式。更具体地说,系统调用是执
- 2024-04-13汇编语言简易教程(12):系统服务
汇编语言简易教程(12):系统服务应用程序必须使用操作系统执行许多操作。此类操作包括控制台输出、键盘输入、文件服务(打开、读取、写入、关闭等)、获取时间或日期、请求内存分配等访问系统服务是应用程序请求操作系统执行某些特定操作(代表进程)的方式。更具体地说,系统调用是执
- 2024-04-13汇编语言简易教程(12):系统服务
汇编语言简易教程(12):系统服务应用程序必须使用操作系统执行许多操作。此类操作包括控制台输出、键盘输入、文件服务(打开、读取、写入、关闭等)、获取时间或日期、请求内存分配等访问系统服务是应用程序请求操作系统执行某些特定操作(代表进程)的方式。更具体地说,系统调用是执
- 2024-04-13汇编语言简易教程(12):系统服务
汇编语言简易教程(12):系统服务应用程序必须使用操作系统执行许多操作。此类操作包括控制台输出、键盘输入、文件服务(打开、读取、写入、关闭等)、获取时间或日期、请求内存分配等访问系统服务是应用程序请求操作系统执行某些特定操作(代表进程)的方式。更具体地说,系统调用是执
- 2024-03-13栈迁移总结
一,栈迁移是什么博
- 2024-03-04从__builtin_eh_return看callee saved register
问题C++的异常处理看起来是一个比较神奇的功能,能够在运行时穿越堆栈,从异常发生位置直达异常处理位置。通过gcc的代码可以看到,这个堆栈回溯的一个关键步骤是这个宏,其中又使用了gcc的内置指令__builtin_eh_return。网上关于__builtin_eh_return这个内置函数的资料较少,结合gcc的源代
- 2024-02-01srs(state thread)如何实现协程切换
417行的宏执行协程A上下文的保存419行_st_vp_schedule在RUNQ中找到一个待执行协程B,恢复协程B的上下文,切换到该协程B执行.协程B执行到io阻塞或者sleep事件,就会重新把协程B缓存起来,并寻找一个待执行协程(假设这里就AB两个协程),恢复协程A的上下文继续执行.完成协程切
- 2023-12-30bjdctf_2020_babyrop
bjdctf_2020_babyrop64位泄露libcvuln的buf变量存在溢出64位函数传入的参数依次存在寄存器rdi,rsi,rdx(顺序从左到右),返回值存在rax中bamuwe@qianenzhao:~/done/bjdctf_2020_babyrop$ROPgadget--binarybjdctf_2020_babyrop--only'pop|ret'|greprdi0x000000000
- 2023-11-19香山杯决赛2023.11.19
香山杯决赛附件如下。https://files.cnblogs.com/files/blogs/798207/xsb2023_final.tar.gz?t=1700382211&download=true2023.11.19广东中山回家了两天,见了高中同学,晚上还去中大玩一下,明天回青岛。孤胆英雄,归途远征。以一敌百,天下无双。ezgame攻击有栈溢出漏洞,直接打游
- 2023-11-04鹏程杯子2023 pwn
主要就是修改stdin的最后几位,使他变为write,然后泄露libc,为所欲为即可。本人是卡在不知道stdin那里可以修改。然后使用一下jmpqwordrbp这个gadget0x400a93那个。fromevilbladeimport*context(os='linux',arch='amd64')context(os='linux',arch='amd64',log_level='
- 2023-09-04虹科干货 | 什么是Redis数据集成(RDI)?
大量的应用程序、日益增长的用户规模、不断扩展的技术需求,以及对即时响应的持续追求。想想这些是否正是你在经历的。也许你尝试过自己构建工具来应对这些需求,但是大量的编码和集成工作使你焦头烂额。那你是否知道,有这样一个工具可以帮助你实现从缓存中执行所有查询?一、推出Redis数
- 2023-09-04CSAPP-Attack Lab
CodeInjectionAttacksLevel1在test中调用getbuf()之后不再返回test,而是返回touch1unsignedgetbuf(){charbuf[BUFFER_SIZE];Gets(buf);return1;}voidtouch1(){vlevel=1;/*Partofvalidationprotocol*/printf("Touch1!:Youcalled
- 2023-08-20dasctf2023 june toka garden & bios-mbr os 启动流程
前言被纯真拉来看题楽。日常忏悔没有学好操作系统。借着dasctf6tokagarden了解了下操作系统bios-mbr的启动流程。bios-mbr启动流程启动(boot)一词来自于一句谚语"pulloneselfupbyone'sbootstraps"("拽着鞋带把自己拉起来")这当然是不可能的事情。最早的时候,工程师
- 2023-08-14Nep2023的wp
0x00闲言碎语2023.8.14记录11-13的紧张刺激。46名结赛。非常高兴能够参加NepCTF2023,以一个初出茅庐的新人的身份参加。ctf的乐趣在于学习和探索,同时我也有想证明自己的成分。连续两天的凌晨四点睡觉,让我体会着比赛的魅力。每当我纠结一道题(code是第一晚,陌生的语言和login是第