Yk2eR0's Blog.

Yk2eR0's Blog.

奇跡を待つより捨て身の努力よ

0ctf_2017_babyheap
功能分析在一个随机生成的地址通过mmap初始化了一个长度为16的数组, 结构体:{inuse(DW);size(QW);Content(QW)} Allocatecllocate一个小于4096的任意大小区域, Fill将一个小于99999999长度的任意值写入指定id的content区,此处没有判定是否小于size Free清空整个结构体的指针和该结构体指针 Dump打印指定id的content,打印长度是按照结构体数组中size位记录的值 malloc_hook劫持find_fake_fast 0x7fd82a4b1b10 0x7f
b00ks
环境:ub16.04 x64 glibc2.23 菜单题,先看下保护: 123456gdb-peda$ checksecCANARY : disabledFORTIFY : disabledNX : ENABLEDPIE : ENABLEDRELRO : FULL 要先泄露偏移;不能覆写got表 PAYLOAD12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626...
USB简介
通用串行总线(Universal Serial Bus)是连接计算机系统和外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛的应用于PC和移动设备等 引脚1 Vcc(+5v)引脚2 Data-引脚3 Data+引脚4 接地 USB由一个主机控制器和若干通过集线器设备以树形连接的设备组成.一个控制器下最多由5级Hub,包括Hub在内最多可以连接128个设备.(7位元物理地址) USB封包格式: 偏移量 类型 大小 值 0 HeaderChksum 1 利用添加包头进行校验,不包括包头本身的校验 1 HeaderSize 1 包头的大小,包括可用的字符串 2...
ARM汇编总结
ARM简介 ARM, Advanced RISC Machine, 是一个32位RISC处理器架构。ARM处理器广泛应用于嵌入式系统和物联网设备中,例如路由器,交换机,智能手机等。 ARM处理器支持7中运行模式,每种模式有自己的堆栈空间以及一组不同的寄存器子集。 用户模式(user):正常程序执行模式; 快速中断模式(FIQ):高优先级的中断产生会进入该种模式,用于高速通道传输; 外部中断模式(IRQ):低优先级中断产生会进入该模式,用于普通的中断处理; 特权模式(Supervisor):复位和软中断指令会进入该模式; 数据访问中止模式(Abort):当存储异常时会进入该模式; 未定...
size_t
前言:使用size_t可能会提高代码的可移植性、有效性或者可读性,或许同时提高这三者。  在标准C库中的许多函数使用的参数或者返回值都是表示的用字节表示的对象大小,比如说malloc(n) 函数的参数n指明了需要申请的空间大小,还有memcpy(s1, s2, n)的最后一个参数,表明需要复制的内存大小,strlen(s)函数的返回值表明了以’\0’结尾的字符串的长度(不包括’\0’),其返回值并不是该字符串的实际长度,因为要去掉’\0’。  或许你会认为这些参数或者返回值应该被申明为int类型(或者long或者unsigned),但是事实上并不是。C标准中将他们定义为size_t。...
qemu常用网络命令:SSH代理和SCP
正向代理(-L) 相当于iptable的port forwarding 反向代理(-R) 相当于frp或ngrok socks5代理(-D):相当于ss/ssr 正向代理:所谓”正向代理”就是在本地启动端口,把本地端口数据转发到远端 远程端口映射到其它机器HostB上启动一个PortB端口,映射到HostC:PortC上,在HostB上运行:1HostB$ ssh -L 0.0.0.0:PortB:HostC:PortC C中的user@HostC 此时登录HostB:PostB相当于登录HostC:PostC.2. 本地端口通过跳板映射到其他机器HostA 上启动一个 Por...
MIPS/ARM动态调试环境搭建
前提先安装过qemu!! qemu启动参数12ARM:qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_standard.qcow2 -append "root=/dev/sda1" -net nic -net tap,ifname=tap0,script=no,downscript=no -nographic 12MIPS:sudo qemu-system-mips -M mal...
启动流程
引导程序在系统之间的细节有所不同,但大致可以分为几个步骤引导程序在系统之间的细节有所不同,但大致可以分为几个步:(1):硬件引导(2):OS引导程序(3):内核启动(4):init脚本和inittab(5):服务启动脚本 硬件引导上电或硬重置后,将控制权交给存储在只读存储器中的程序(通常是PROM).在PC中,我们称其为BIOS.该程序对机器进行自检,查找引导设备和扫描启动设备.然后访问引导设备,加载MBR,加载os引导程序并将控制权转移给os引导程序. os引导程序pc中,os引导程序位于引导设备的第一个扇区中-MBR(主启动记录).里面除分区表外的剩余空间为主引导程序的代码.在大多数...
router-tools
通过本文介绍 DVRF:模拟其它CPU架构安装: 12345678910cd $addrsudo apt-get install libncurses-dev curses-develsudo apt-get install libncurses5-dev patchwget http://buildroot.uclibc.org/downloads/snapshots/buildroot-20201122.tar.bz2chmod 777 buildroot-20201122.tar.bz2tar -jxvf buildroot-20201122.tar.bz2cd buildroot...
runit
1234567pwndbg> checksec[*] '/home/yk2/ctf/runit/pwn' Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) 虽然NX开了,但给了read,直接ret2shellcode 12345678910111213141516171819202122232425262728from pwn import *from ...