美文网首页网络安全
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绕过栈执行保护

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