美文网首页网络安全
PWN入门第四课(使用return-to-libc绕过栈执行保护

PWN入门第四课(使用return-to-libc绕过栈执行保护

作者: Magicknight | 来源:发表于2018-04-17 20:33 被阅读249次

前面3门入门课程都是各种限定,才能获取shell。今天先解开栈执行保护,意味着直接在栈上执行代码是不可能的了。
大神博客地址:https://sploitfun.wordpress.com/2015/05/08/bypassing-nx-bit-using-return-to-libc/
国内有人把此博客翻译成中文,整理成文档了。这里给出大家链接:
https://legacy.gitbook.com/book/wizardforcel/sploitfun-linux-x86-exp-tut/details

博客大家自己去看,我这里是说下博客中未提到的细节,或者说明下怎么操作。

通过ldd查看基地址:
ldd vuln4
查看vuln4的基地址

通过readelf -s命令查看偏移地址

readelf -s /lib/i386-linux-gnu/libc.so.6 | grep system
查看system的偏移地址
readelf -s /lib/i386-linux-gnu/libc.so.6 | grep exit
屏幕快照 2018-04-17 下午2.04.15.png

其实通过gdb调试,在main处进行断点,进行调试,然后通过 :

p system

也能获取到。

gdb暴力搜索/bin/bash法:

x/500s $esp

找到了/bin/bash,未找到/bin/sh。


找到/bin/sh

由于SHELL=占据了6个字符,应该还应该加上6.


屏幕快照 2018-04-17 下午8.32.19.png

通过构造寻找/bin/bash方法:

export pwn="/bin/sh"
echo $pwn
./gtenv pwn

使用gdb-peda直接在应用程序中寻找:

find  "/bin/sh"
寻找/bin/sh

相关文章

  • PWN入门第四课(使用return-to-libc绕过栈执行保护

    前面3门入门课程都是各种限定,才能获取shell。今天先解开栈执行保护,意味着直接在栈上执行代码是不可能的了。大神...

  • 软件安全-return-to-libc攻防

    Return-to-libc Attack Lab 实验目的:绕过栈保护机制,通过缓冲区溢出,获取ubuntu12...

  • 堆栈基础(一)

    新手入门pwn之栈溢出系列,先学习堆栈的基础,函数调用栈这些. 运行时栈 运行时栈(runtime stack)是...

  • 栈溢出简易指南

    栈 pwn 主题: 基本栈溢出 针对缓存区溢出防护的对策 shellcode 栈溢出的最终目的是执行shellco...

  • ogeek2019_pwn

    太菜了,只做出了3道pwn babyrop 利用'\x00'绕过strlen的检查,然后栈溢出rop bookma...

  • ROP发展

    前身——return-to-libc 目的: 绕过DEP 主要思想: 代码重用攻击。利用进程空间中已经存在的代码,...

  • pwn入门的一些学习资料

    总结记录一下pwn入门的一些学习资料 pwn入门学习的网站: CTF Wiki 必备技能: 汇编语言要搞pwn首先...

  • [new bugku] pwn

    最简单的pwn nc然后cat flag pwn3 64位栈溢出,程序有后门,栈溢出然后return到后门即可 p...

  • [pwn] Linux栈溢出入门

    做题入门=。=菜呀,学习 level-0 aris教我checksec一下看是啥文件 32位的打开32位的ida主...

  • Int 0x80 ROP链(x86)

    2017年湖湘杯的一道pwn题 2017 湖湘杯 pwn300 用memcpy把堆中数据向栈上写的时候造成栈溢出 ...

网友评论

    本文标题:PWN入门第四课(使用return-to-libc绕过栈执行保护

    本文链接:https://www.haomeiwen.com/subject/xduukftx.html