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 ...
动态调试工具的使用
做了这么久的`pwn`之后又得兼顾一下`re`了哈哈哈。废话不多说,这周学了动态调试器的使用,并且轻松解出了那几道题目。
ret2libc实战
ret2libc是一个pwner必备的基础知识。
archlab实验报告:y86命令使用
下载文件之后:
RSA解密
RSA解密简介
红帽杯2019 easyRe
pwn题做完re题当然也不能少,buu上除了那些水题,开始做一些带点技术含量的题目了。
ret2libc学习报告
在做`pwn`题的时候,我们会想尽一切办法执行函数`system("/bin/sh")`,那么执行这个需要两点: