2021浙江省预赛
作者因为之前电脑丢了导致中间两个月断更,最近会把之前的很多都补回来。言归正传,这次比赛总体来说不太理想,没有达到预期。
babyfengshui_33c3_2016 writeup
好久没有更新博客了,因为作者太懒了,又懒又菜,今天来康康这道题,buuoj的babyfengshui_33c3_2016
ret2dl_resolve
有这么一个漏洞,他能在程序不提供任何输出函数的情况下执行`system("/bin/sh")`,没错,他就是`ret2dl_resolve`,这个我也认为是栈溢出的最后一关了,因此我现在就算是栈溢出毕业了吧hhhh。
浙江2020省赛pwn1
复盘一下2020的省赛pwn1
SROP
今天开始以学习了花式的栈溢出ROP攻击,BROP这个东西朴实无华且用处不大,思想能了解,但是现在谁打个pwn还不给elf呢,不给libc文件都会被喷死,还敢不给elf?因此跳过这个学习一下SROP。
2021华东南赛区国赛线下赛
这两天来到了福州打awd的线下赛,这是我第一次打awd,收获很多。
axb_2019_fmt32 wp
临近期末考试了,终于可以光明正大地水博客了。
格式化字符串漏洞利用
格式化字符串漏洞是printf函数比较常见的漏洞,常见的漏洞形式就是`printf(s);`如果s字符是我们可控的话,那就会导致任意位置读和写等严重的后果。
cachelab实验报告:模拟cache的功能
lab从这里开始变得难了起来了,这次要模拟计算机里的一个硬件-cache的工作
系统调用
today新的知识又增长了,发现了getshell的另一种方式:syscall和srop。故事还要源于…(此处省略万字输出)
(note:本作者这次有点懒,没有写AT&T汇编,而是一律用了intel汇编,请悉知)
可能是之前汇编基础不太好吧,竟没有发现syscall这么好用的指令,只要再把/bin/sh传参就能直接打开一个shell,真是妙蛙。但是在系统调用之前要做很多的事情,诸如各类参数传递,以64位的来说,我们要先知道我们要执行的函数系统调用号为59。我也是翻过libc库的,发现system函数实现里面有一段竟然是直接执行execve("/bin/sh")
实属意外了,这是在我有次反汇编libc库的时候发现的,我原来一直是只用system函数getshell的,没想到system内部是通过这样的系统调用来打开shell的。
那这得学啊,这是基础的基础啊。
这边给出一下64位Linux的各个系统调用号,这个在Linux的/usr/include/asm/unistd.h 下有,我这里截取部分。
123456789101112131415161718 ...