java 缓冲区溢出_缓冲区溢出攻击_java教程_缓冲区溢出攻击 漏洞

java 缓冲区溢出_缓冲区溢出攻击_java教程_缓冲区溢出攻击 漏洞主题 请教 我想实现缓冲区溢出攻击 就是原程序读取一个字符串 我输入一个特殊的字符串 覆盖掉原返回地址 使其执行在栈里的代码 但是当执行到栈里代码时 就会段错误而退出 请问这个是不是现在 linux 内核禁止执行栈内代码的原因 还是别的原因 比如可能我的字符串构造错了 多谢 FROM124 16 139 把你的代码发上来瞧瞧啊 你是怎么构造你想执行的指令的 在 hellowub

1814b73336af2e011e20974dae6dbeeb.png

主题:[请教]

我想实现缓冲区溢出攻击。就是原程序读取一个字符串。我输入一个特殊的字符串,覆盖

掉原返回地址,使其执行在栈里的代码。

但是当执行到栈里代码时,就会 段错误 而退出。

请问这个是不是现在linux内核禁止执行栈内代码的原因,还是别的原因(比如可能我的

字符串构造错了)。

多谢。

FROM 124.16.139.*

把你的代码发上来瞧瞧啊,

你是怎么构造你想执行的指令的?

【 在 hellowub (wub) 的大作中提到: 】

: 我想实现缓冲区溢出攻击。缓冲区溢出攻击就是原程序读取一个字符串。我输入一个特殊的字符串,覆盖

: 掉原返回地址,使其执行在栈里的代码。

: 但是当执行到栈里代码时,就会 段错误 而退出。

: ……………….

FROM 125.220.233.*

应该是linux开启了executable space protection的原因

【 在 hellowub (wub) 的大作中提到: 】

: 我想实现缓冲区溢出攻击。就是原程序读取一个字符串。我输入一个特殊的字符串,覆盖

: 掉原返回地址,使其执行在栈里的代码。

: 但是当执行到栈里代码时,就会 段错误 而退出。

: ……………….

FROM 124.64.122.*

硬件支持NX位并且操作系统启用了它吧

【 在 hellowub (wub) 的大作中提到: 】

: 我想实现缓冲区溢出攻击。就是原程序读取一个字符串。我输入一个特殊的字符串,覆盖

9fb4c13449e98b62693561e07782aef6.png

: 掉原返回地址,使其执行在栈里的代码。缓冲区溢出攻击

: 但是当执行到栈里代码时,就会 段错误 而退出。

: ……………….

FROM 209.173.238.*

代码很简单,就是通过输入比栈中预分配的char数组长的字符串,以覆盖原来的子函数的

返回地址。

【 在 ngn999 (风无常) 的大作中提到: 】

: 把你的代码发上来瞧瞧啊,

: 你是怎么构造你想执行的指令的?

FROM 124.16.139.*

那是不是这种通过栈来进行的缓冲区攻击就不可行了呢?

我就是想体验下。。。。

【 在 vonNeumann (劣币驱逐良币) 的大作中提到: 】

: 硬件支持NX位并且操作系统启用了它吧

FROM 124.16.139.*

可以改kernel在boot时参数

加上noexec=off

不过我没有试过,不知道是否好用

【 在 hellowub (wub) 的大作中提到: 】

: 那是不是这种通过栈来进行的缓冲区攻击就不可行了呢?

: 我就是想体验下。。。。

FROM 124.64.122.*

试了试,还是不行。我感觉我构造的字符串应该没错阿,就两条指令而已。

而且用gdb跟踪时,在原函数执行到ret时,esp所指的地址确实被我覆盖成了栈里指令的

地址。不管我构造的指令是否正确,但一执行 ret,就会出错:

cfee5bce57612dcf4d86e41172f575a6.png

Program received signal SIGSEGV, Segmentation fault.

【 在 yifanw (王轶凡) 的大作中提到: 】

: 可以改kernel在boot时参数

: 加上noexec=off

: 不过我没有试过,不知道是否好用

: ……………….

FROM 124.16.139.*

是不是有canaries保护?

check stack里面在return adress and contrl information和variables之间有没有什么其他东西,可能是用来保护的

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-35619-1.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229193.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:15
下一篇 2026年3月16日 下午5:16


相关推荐

  • java jcf查看_JAVA 集合框架(JCF)

    java jcf查看_JAVA 集合框架(JCF)网络上搜索 java 集合框架各种理论知识 图谱都有 只要你认真看就会有收获 博主是一个坚决不随意 造轮子 的新人 所以我的这篇文章就总结一下我所学到的 JCF 首先谈一下我的学习路径 大二上学期学习前端 js html css 大二下学期学习 java 语言基础 连带着数据结构也囫囵一遍 大三上学期学习 javaEE 学完 ssm 后 课程戛然而止 感觉人生寂寞如雪 JCF 数据 java 的语言基础部分 但是所

    2026年2月5日
    2
  • Java打印菱形图案

    Java打印菱形图案利用 for 循环打印出菱形图案

    2026年3月18日
    1
  • 使用apache搭建代理服务器

    使用apache搭建代理服务器版权声明 可以任意转载 但转载时必须标明原作者 charlee 原始链接 http tech idv2 com 2004 12 04 create proxy with apache 以及本声明 众所周知 Apache 是目前最优秀的 HTTP 服务器 实际上它不仅能当作服务器使用 也能够被用来架设代理服务器 本文就如何使用 Apache 架设 HTTP 代理服务器进行说明 本文将基于 Win32 版

    2026年3月26日
    2
  • stm32看门狗定时器记录「建议收藏」

    stm32看门狗定时器记录「建议收藏」文章目录1、看门狗介绍2、独立看门狗3、窗口看门狗1、看门狗介绍STM32有两个看门狗,一个是独立看门狗另外一个是窗口看门狗。独立看门狗简单来说就是一个12位的递减计数器,当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,即IWDG_RESET。如果在计数没减到0之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由VDD电压域供电,在停止模式和待机模式下仍能工作。因此我们就可以在程序死机的时候使用这个独立看门狗来复位程序,

    2022年6月6日
    26
  • java基础-异或运算[通俗易懂]

    java基础-异或运算[通俗易懂]小伙伴们,你们好呀!我是老寇!异或运算主要用于判断两个值是否一样异或运算的3个性质:1.任何数和0进行异或运算,结果是原来的数,即b⊕0=b2.任何数和其自身进行异或运算,结果为0,即b⊕b=0。3.异或运算满足交换律和结合律,即x⊕y⊕x=y⊕(x⊕x)=y例题:力扣刷题题解:classSolution{publicintsingleNumber(int[]nums){intsingle=0;for(intn:num

    2022年10月4日
    6
  • 搭建smtp邮件服务器_smtp服务器怎么填

    搭建smtp邮件服务器_smtp服务器怎么填4.“传递”选项卡在“默认SMTP虚拟服务器属性”对话框中点击“传递”选项卡,如图所示。该选项卡用来设定邮件一次发送不成功时,SMTP服务器如何处理这些邮件。在大多数情况下,每个虚拟服务器都尽量在消息一抵达消息队列后就进行发送;可是,如果下一个中继段的服务器发生了某个临时性的问题,或者网络中发生了某种通信故障,那么虚拟服务器就会采取适当的措施,例如对消息进行排队,准备再次重试,或者变更消息路由。如…

    2022年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号