zoukankan      html  css  js  c++  java
  • 百度杯 black_hole复现

    在这次复现中,经历了太多挫折。

    刚刚开始的时候本地调试 get不到shell,就很疑问,而且不会爆破,想学下怎么爆破出那个0x05,

    后来问了位师傅 ,他说用retdl_solve 试试,我就跑去学了,结果,还是不行,而且64位没有leak,也没stdout的,找了两天都没找到这种利用方法。。what_the_fuc;;;;;;

    后来还是在群里问了一热心的师傅和sw师傅也解决了这道题。

    这道题的利用思路就是利用了

    这个 alarm 和syscall  最后一位想差0x5  师傅告诉我,因为alarm的实现就是

    syscall(int_alarm, arg),所以可能近点吧。

    剩下的思路就明确多了 ,虽然每次只能利用ebp往栈写东西,但是因为是没次进入了两层,又直接跳了出来所以写ebp也能写rop。就是利用了init_gadat 第一次用read在在alarm

    后面的最后一位覆盖成0x5,然后往bss写东西,布置好东西就getshell,

    下面我只贴出爆破的脚本。

    exploit(i)
        io.sendline("aaaaa")
        try:
            if io.recvline():
                io.interactive()
        except:
            io.close()
  • 相关阅读:
    关于Jquery内存的释放
    jQuery 事件 mouseleave() 方法 mouseenter() 方法
    模版方法模式
    js中return的用法
    HTTP返回码中301与302的区别
    DS介绍
    Java MySql乱码解决
    [IOS] UIViewController的parentViewController属性
    LinuxFind命令
    Linux第一课
  • 原文地址:https://www.cnblogs.com/liyuechan/p/10681368.html
Copyright © 2011-2022 走看看