题目分析 下载文件后首先使用checksec检查文件保护机制 文件名太长了,就更改了一下 发现是一个64位程序,使用ida查看伪代码 注意到一个特殊的函数名callsystem 确定思路,直接栈溢出 信息收集 确定偏移量 /bin/sh地址 方法1 方法2 编写脚本 本地测试 靶机测试 ...
分类:
其他好文 时间:
2020-04-03 20:13:16
阅读次数:
209
先做个热身 //递归:函数执行的时候自己调用自己 // function fn(){ // fn(); //Uncaught RangeError: Maximum call stack size exceeded // 这种死递归会导致栈溢出 // } // fn(); // function f ...
分类:
编程语言 时间:
2020-03-31 12:16:24
阅读次数:
77
栈相关面试题 举例栈溢出的情况?(Stack Overflow):固定大小栈的栈帧爆掉 通过-Xss设置栈的大小:OOM ,可变大小栈扩容时,没有更多的内存可供扩容 调整栈大小,就能保证不溢出吗? 不能,如果自己调用自己(递归)的话,栈空间大可以多跑,在一定程度上可以抱保证递归类问题递的更深,死循环 ...
分类:
其他好文 时间:
2020-03-25 23:18:01
阅读次数:
73
这道题研究了很久,总算是理解了got表和plt表的关系和作用 checksec看防护 main函数里提示了vunlnerable函数 查看一下vulnerable函数 可以利用read函数栈溢出,但是这道题没有给system函数。所以我们可以利用附件给的libc_32.so.6文件,计算出syste ...
分类:
其他好文 时间:
2020-03-24 10:32:30
阅读次数:
116
1、递归特点: 1、递归类似循环 2、递归必须有一个明确的结束条件 3、每次进入更深一层递归时,问题规模相比上次递归都应有所减少 4、递归效率不高,递归层次过多会导致栈溢出 2、递归的函数: # 处于死循环 import time def a(n): print(n) time.sleep(1) a ...
分类:
编程语言 时间:
2020-03-22 19:50:12
阅读次数:
88
Python 对象协议 "出处:91 个建议 63:熟悉 Python 对象协议" 因为 Python 是一门动态语言,Duck Typing 的概念遍布其中,所以其中的 Concept 并不以类型的约束为载体,而另外使用称为协议的概念。 在 Python 中就是 我需要调用你某个方法,你正好就有这 ...
分类:
编程语言 时间:
2020-03-21 18:12:02
阅读次数:
82
### 递归函数 > 递归函数就是定义了一个函数,然后在函数内,自己调用了自己这个函数 > 递归函数内必须要有结束,不然就会一只调用下去,直到调用的层数越来越多,栈溢出 > 递归函数是一层一层的进入,再一层一层的返回 ##### 初步认识递归函数 ```python # 初步认识 递归函数 3 2 ...
分类:
编程语言 时间:
2020-03-18 11:23:48
阅读次数:
71
递归函数的定义:在函数内部,函数自身调用自己的return值,就叫做递归函数 要求:1. 必须有一个明确的结束条件: 2. 每次相对减少,不可能增加,否则永远不能结束,则出错 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数 ...
分类:
其他好文 时间:
2020-03-06 01:32:05
阅读次数:
62
程序存在两个漏洞,gift存在格式化字符串漏洞,vuln存在栈溢出漏洞 这题和攻防世界的Mary_Morton类似,用格式化字符串漏洞泄露canary,然后就是常规的栈溢出来getshell,需要注意的是在gift里面只能输入6个字符 脚本如下 # -*- coding: utf-8 -*- fro ...
分类:
其他好文 时间:
2020-03-02 20:43:41
阅读次数:
93
以栈作为基础的SEH本身具有很大的危险性,我们可以利用各种手段对栈上SEH节点进行覆盖重写,再次执行异常处理操作时就会将执行权给到了我们用来覆盖的函数上,这实际上在以前是很常见的windows栈溢出手段,当然,除了这种方法外还有许许多多的利用手段,可见这样的异常处理机制还是不够完善的。为了解决这些问 ...
分类:
其他好文 时间:
2020-03-02 12:36:51
阅读次数:
70