自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 浅析封装NT函数绕过检测机制与免杀技术

NT函数(即“Native”函数)是微软Windows操作系统内部提供的一组底层系统调用,这些函数位于NT层,也称为Windows NT内核层。这些函数直接与操作系统的内核交互,提供了底层的操作功能,比如内存管理、线程管理、进程创建等。与之相对的是Windows API,后者是为用户应用程序提供的更高级接口。NT函数的调用通常直接通过ntdll.dll库中的相关函数来实现。

2025-03-18 17:27:01 903

原创 进程注入bypass

Control Flow Guard(CFG)是一种微软引入的防护技术,最早在 Windows 8.1 中加入,并在 Windows 10 及后续版本中得到了加强。它的核心目标是防止程序中的恶意代码劫持控制流,从而实现对系统的恶意操作。在正常程序运行中,程序的控制流(即代码的执行顺序)会根据不同的条件跳转到不同的位置。攻击者通过注入恶意代码或者篡改程序控制流,能够导致程序执行恶意操作,如获取管理员权限、窃取数据等。

2025-03-17 13:50:56 597

原创 静态bypass

在这里我们还需明白几个概念(有C基础跳过) 通过隐藏IAT表可以静态bypass市面上大部分edr。//win32就是使用Windows提供的原生api实现我们的功能。//1、预处理 处理头文件 宏定义。//3、处理汇编 将汇编转成二进制。//2、处理编译 将代码转成汇编。//4、生成link exe。必须要有进程才有线程。

2025-03-13 14:50:36 457

原创 CVE-2023-37474

Copyparty是一个可移植的文件服务器。在1.8.2版本之前的版本存在一个CTF技巧,该漏洞位于`.cpr`子文件夹中。路径遍历攻击技术允许攻击者访问位于Web文档根目录之外的文件、目录.

2025-03-13 14:21:03 133

原创 CVE-2023-27179

GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞,漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。在得知会下载一个文件后我们可以使用curl命令也可以得到flag。根据对于漏洞的描述抓包分析可以发现下载了一个etc.png。可以得到flag.png 将后缀改为txt即可得到flag。

2025-03-13 14:18:56 144

原创 Windows 入侵排查

b、单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾 选命名异常的启动项目,并到命令中显示的路径删除文件。a、登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务 程序在该目录下。c、单击【开始】>【运行】,输入 regedit,打开注册 表,查看开机启动项是否正常,特别注意如下三个注册表项。a、单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径。

2025-03-10 17:34:01 793

原创 中断门&陷阱门&任务门&任务段

JMP FAR和CALL FAR可以通过段选择子找到对应的GDT段描述符,当DPL=11可以在3环使用,IDT全名中断描述符表,同GDT表一样,IDT也是由一系列描述符组成的,每个描述符占8个字节,LTR指令必须运行在0环,LTR指令只修改TR段寄存器,并不会触发TSS进行全部寄存器值切换。Windows很多3环API最终都要使用0环的代码,是使用中断门实现的这种功能。使用JMP FAR实现任务切换时,TSS结构体中的Link值在任务切换之后为0。Windows没有使用调用门,但是使用了中断门。

2025-03-10 17:29:22 491

原创 DVWA 文件包含File Inclusion

执行后会写入一个shell.php的后门代码通过前面我们利用报错得到路径。源码分析对我们传入的参数进行了file限制我们文件路径头必须是file。,用来进行动态调用,但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用。llow_url_fopen和allow_url_include为ON。开发人员一般希望代码更灵活,所以将被包含的文件。对http://和../,..\有过滤直接用双写绕过就行。服务端又没有做合理的校检或者校检被绕过。则可能存在远程文件包含漏洞。就造成了文件包含漏洞。

2024-05-18 19:11:31 297

原创 jarvisoj_level2[BUUCTF]

从反汇编后的代码可以看出read()这个函数对buf进行写入时存在缓冲区溢出,IDA会告诉我们buf数组与ebp在栈上的相对位置,即&buf=$ebp-0x88,因此我们需要填充0x88个字符就能到达ebp的位置,然后再填充4个字符就能到达eip的位置,并且system()的地址可以轻松在plt表中找到,为0x08048320,因此我们只需要在构造一个shell路径的字符转就可以getshell了。

2024-05-09 22:28:34 305

原创 [V&N2020 公开赛]warmup[BUUCTF]

因为是64位的程序,参数的传递需要用到堆栈,64位与32位函数调用在这里就不再赘述,所以我们还需要rdi,rsi,rdx来传递参数,一块空的内存用来存放我们flag。给了我们puts函数的地址所以可以泄露出libc基址,通过libc基址泄露出write,read,open三个函数的地址。execve被禁止了,这类沙箱一般都可以通过write,open,read这三函数来实现flag读进去写出来。这个函数定义了很多局部变量,不太懂看了其他师傅的wp,这个函数是用于设置沙箱机制。sub_9A1()可以溢出。

2024-05-08 17:24:30 495 1

原创 others_shellcode[BUUCTF]

在 x86 架构的 32 位模式下,int 0x80 是一个软件中断指令,用于从用户空间调用内核空间的服务,即 Linux 系统调用。这个指令会触发一个异常,将控制权传递给内核的异常处理程序,该程序会解析由用户空间代码设置的系统调用号和参数,并执行相应的内核服务。然而,需要注意的是,在 x86-64(也称为 AMD64)架构的 64 位模式下,Linux 采用了不同的系统调用机制。寄存器中,参数则根据系统调用的不同而有所变化,但通常也会存储在寄存器中。指令时,系统调用号通常存储在。寄存器,将参数按照约。

2024-05-07 16:02:29 695

原创 [OGeek2019]babyrop[BUUCTF]

首先我们要确保strncmp=0保证程序不退出,直接让v1=0strncmp就会为0strncmp用来获取长度当读到"\0"会自动赋0所以我们让buf[0]="\x00"没有/bin/sh和system加上题目这道题的思路就是利用write泄露出libc的地址来进行ROP。buf长度只需0xe7+4就可以溢出。32位开了NX,地址随机化基本排除shellcode的可能。write也是libc库中的标准函数。shift+f12看字符串。

2024-05-06 17:11:26 442

原创 [HarekazeCTF2019]baby_rop[BUUCTF]

这个时候思路就很清晰了根据64位函数传参的特点构造ROP链就行,32位与64位传参的区别这里就不再赘述,读者可以看上一篇jarvisoj_level2_x64[BUUCTF] ,根据名字可以猜到这道题考的rop同时是64位的程序。用find -name flag查找路径再cat。

2024-05-05 22:46:05 444 2

原创 jarvisoj_level2_x64[BUUCTF]

32位中参数都是保存在栈上,但在64位中的前六个参数依次保存在RDI,RSI,RDX,RCX,R8和 R9中,如果还有更多的参数的话才会保存在栈上。read函数存在溢出同时发现有/bin/sh所以我们思路就是构造溢出到/bin/sh,但是由于是64位的程序在函数调用时与32位不同。由32位变成了64位。payload的组成 无用数据+pop rdi+函数参数+函数调用地址/bin/sh+函数返回地址system。回到这道题 64位会依次传函数返回地址,函数参数,函数调用地址,

2024-05-04 22:17:26 546 1

原创 ciscn_2019_c_1[BUUCTF]

但是程序中没有直接可以用的system函数所以需要我们自己构造ROP链通过gets函数泄露出libc基址构造payload来泄露libc。在amd64架构下参数通过rdi传递0x400c83就是我们需要pop_rdi的地址。拿到题先三板斧hecksec --file=ciscn_2019_c_1看保护。开启了NX优先考虑ROP但是关闭了PIE则可能存在缓冲区溢出。查看堆栈窗口得到缓冲区大小 构造0x50+0x8即可溢出。得到 /bin/sh的地址。发现gets函数存在溢出。如果不行就换一个libc。

2024-05-03 23:27:39 882 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除