05 2023 档案

摘要:# 格式化字符串漏洞 ```c #include void main(){ char str[1024]; while(1){ memset(str,'\0',1024); read(0,str,1024); printf(str); fflush(stdout); } } # echo 0 > / 阅读全文
posted @ 2023-05-30 15:06 叶际参差 阅读(136) 评论(0) 推荐(0) 编辑
摘要:介绍 ADDI、ADDIU:加立即数,区别在于是否检测溢出。 Format: ADDI rt, rs, immediate rt = rs + immediate To add a constant to a 32-bit integer. If overflow occurs, then trap 阅读全文
posted @ 2023-05-11 11:24 叶际参差 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:Canary ^b25c98 用于防止栈溢出被利用的一种方法,原理是在栈的ebp/rbp下面放一个随机数,在函数返回之前会检查这个数有没有被修改,就可以检测是否发生栈溢出了。 如果栈中开启Canary found,那么就不能用直接用溢出的方法覆盖栈中返回地址,而且要通过改写指针与局部变量、leak 阅读全文
posted @ 2023-05-11 11:22 叶际参差 阅读(162) 评论(0) 推荐(0) 编辑
摘要:静态寻找 当libc加载地址不会改变的情况下,可以用gdb进行调试,找到某个libc库函数的地址a,一般高位是0x7f,然后再用ida打开libc文件,然后查找对应的函数的地址b,则libc基址=a-b 动态寻找 在现实世界中,libc的加载地址通常是在每次程序运行时都会发生变化的。这是因为在操作系 阅读全文
posted @ 2023-05-11 11:21 叶际参差 阅读(836) 评论(0) 推荐(0) 编辑