Keen_Review
Keen面试回顾Keen的二面结束了,这篇博客主要是写一些在面试中被问到的问题,并且及时总结自己不足的地方。二面面试官水平非常高,一看就是行业内顶尖、且具有多年经验的大佬。面试中提问的问题特别的仔细,虽然都是基础,但是问题非常的细,平常工作的时候忽略了这些问题。 由于最近还需要准备其他面试,所以需要慢慢更新这篇文章。 CanaryFS面试中问到了Canary的问题,其中闻到了Canary保存的位置,我印象中Canary是被保存到了寄存器FS[0x28]处,实际上我记得是对的,但是问题是我不清楚FS[0x28]到底指向了哪里。 后面我找了一个二进制程序调了一下,结果可以看下面的调试内容。 123456789101112131415161718192021pwndbg> canarycanary : 0xcd8facfa4db1b200pwndbg> i rrax 0x555555556230 93824992240176......;some registers' info.eflags 0x246 ...
Stack-Migration
Stack-Migration昨天面试,学习(或者说是复习)一下面试中答的不太好的问题。被问到了栈溢出没有puts函数泄露libc地址该怎么做。当时有点懵,回答了用syscall调用write。实际上有一种栈迁移的方法,setbuf时会在bss上面放一些libc的地址,利用栈溢出把栈迁移到bss段上,可以在bss段上面构造地址。 栈迁移举例 实际上,就是利用两次leave ret来任意修改rsp(栈顶)的值。leave == mov rsp, rbp; pop rbp 来看羊城杯2024 pstack,见谅可能写的不太易懂: 123456789101112131415161718192021ssize_t vuln(){ char buf[48]; // [rsp+0h] [rbp-30h] BYREF puts("Can you grasp this little bit of overflow?"); return read(0, buf, 0x40uLL);}.text:00000000004006B0 ...
小程序抓包
学了一下小程序抓包(Proxifier + Burpsuite)Burpsuite可以用Kakit,只需要把代理端口改成Proxifier的代理服务器即可。 先使用Proxifier创建一个Proxy Server。 然后Proxifier中,选择Profile->Proxification Rule->Add,选择Applications为WeChatAppEx.exe,Action选择Proxy HTTPS 127.0.0.1。 最后在Burpsuite中,Proxy Settings改成跟Proxifier中Server一样的。注意需要把Burpsuite的证书安装一下,毕竟需要https通信。 最后在Burpsuite中就可以看到抓包的过程信息了。
Kernel_Basic
KernelPwn Basic(持续更新)最近发现CTF Wiki上的KernelPwn更新了,正好最近重温这方面的知识,顺便结合我之前在别的平台发布的一些笔记,重新写一下博客记录。 一、资源 Linux 源码 https://cdn.kernel.org/pub 二、一些常用脚本2.1文件系统的解压与重新打包123456789101112131415161718192021222324#/bin/sh#注意,有时文件系统给的是一个压缩包格式,先手动解压再使用脚本。#在题目目录下使用#使用musl-gcc编译出来的exp体积小,必要时可去符号,进一步压缩体积。musl-gcc -static -O2 ./exp.c -o ./exp#创建工作目录rm -r tmpfsmkdir -p tmpfs#文件系统备份cp rootfs.cpio rootfs.cpio.bak#在工作目录下,解包文件系统,传入exp,重新打包。cd tmpfscpio -idv < ../rootfs.cpiomv ../exp ./find . | cpio -o --format=newc...
新版glibc_fsop
1. 常用的gadgets1.1 setcontext + 61[rdx+0xa0]是rsp,[rdx+0xa8]是rcx,栈迁移用,需要能控制rdx。 123456789101112131415161718192021─────────────────────────────────────[ DISASM / x86-64 / set emulate on ]────────────────────────────────────── 0x7fe165955a6d <setcontext+61> mov rsp, qword ptr [rdx + 0xa0] 0x7fe165955a74 <setcontext+68> mov rbx, qword ptr [rdx + 0x80] 0x7fe165955a7b <setcontext+75> mov rbp, qword ptr [rdx + 0x78] 0x7fe165955a7f <setcontext+79> ...
house_of_apple2
记录一下House of apple的总体过程,有一个例题House of apple 一种新的glibc中IO攻击方法 - LynneHuan - 博客园 (cnblogs.com)中的例题,例题的下载可以看那个文章。 一、原理程序在abort或者exit时,会调用_IO_flush_all_lockp()函数,此函数会对_IO_list_all中的所有FILE结构体链进行处理,源码如下: 1234567891011121314151617181920212223242526272829303132333435363738//glibc-2.34int_IO_flush_all_lockp (int do_lock){ int result = 0; FILE *fp;#ifdef _IO_MTSAFE_IO _IO_cleanup_region_start_noarg (flush_cleanup); _IO_lock_lock (list_all_lock);#endif for (fp = (FILE *) _IO_list_all; fp !=...
largebin_attack_glibc231_example
一 、题目背景正好之前发了一篇文章说LargeBin Attack,这里正好实战记录一下。 二、题目链接https://pan.baidu.com/s/1k0AAV7NF4esBzwQahx3u_w 提取码:kbtl 三、利用过程题目的逻辑就不多说了,就是一个经典的堆题,注意到有个Recovery可以恢复堆块的使用状态,当我们free一个堆块后进行recovery操作就可以再次利用这个堆块,相当于uaf。Add操作只能申请Largebin Size的堆块,所以这里的思路就是先使用Largebin...
largebin_attack_glibc231
shellphish的glibc 2.31的LargeBin Attack样例demo的代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293#include<stdio.h>#include<stdlib.h>#include<assert.h>/*A revisit to large bin attack for after glibc2.30Relevant code snippet : if ((unsigned long) (size) < (unsigned long) chunksize_nomask (bck->bk)){ fwd = bck; bck =...
githubio
github搭建Hexo博客过程准备工作 安装git。 安装Node.js。 安装Hexo。 12#git bash$ npm install hexo -g 检查: 123$ hexo -v$ git --version$ node -v 安装hexo依赖 12#git bash$ npm install --save hexo-deployer-git 配置ssh-key12345678910#git bashUser@LAPTOP-TQ97MGKO MINGW64 ~/Desktop$ cd ~/.ssh/User@LAPTOP-TQ97MGKO MINGW64 ~/.ssh$ pwd/c/Users/User/.sshUser@LAPTOP-TQ97MGKO MINGW64 ~/.ssh$ 配置ssh。 12#git bash$ ssh-keygen -t rsa -C "Github邮件地址" ->...
CVE-2023-46747漏洞复现
免责声明漏洞复现过程全部在本地虚拟环境下进行,请勿用于恶意攻击,未授权的攻击属于非法行为!传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。 漏洞描述F5 BIG-IP是由美国F5 Networks公司开发的一种应用交付控制(Application Delivery Controller,ADC)解决方案。它提供负载均衡、SSL加速、应用安全、Web应用防火墙、WAN优化和其他功能。是一个VPN防火墙设备。 NVD与2023年10月26日发布CVE-2023-46747漏洞。该漏洞可以让未经验证的攻击者,通过管理端口来访问BIG-IP设备,执行任意系统命令。该漏洞评分为9.8。可以使用更新版本、运行F5官网发布的补丁来进行紧急设备。 影响版本 BIG-IP系列 影响版本 修复版本 13.x 13.1.0 - 13.1.5 13.1.5.1 14.x 14.1.0 - 14.1.5 14.1.5.6 15.x 15.1.0 - 15.1.10 15.1.10.2 16.x 16.1.0 -...
