zoukankan      html  css  js  c++  java
  • pwn之exp问题反馈和ASLR认知

    0x00001:ASLR报错

    如上问题是我执行脚本遇到的,改了脚本几次,依然没变,嗯......

    当我用了百度,据说是ALSR没关,的确,这导致我脚本中的addr是一个随机数,从而攻击失败

    0x00:引用一下查到的知识:在传统的操作系统里,用户程序的地址空间布局是固定的,自低向高依次为代码区, BSS区,堆栈区,攻击者通过分析能轻易得出各区域的基地址,在此情况下,只要攻击者的 注入代码被执行,攻击者就能随意跳转到想到达的区域,终取得计算机的控制权,试想如 果一个程序在执行时,系统分配给此进程三个区域的基地址是随机产生的,每次该程序执行 都不一样,那么攻击者注入的代码即使被执行,也终会因为无法找到合法的返回地址而产 生错误,终进程停止,攻击者无法入侵,这就是地址空间布局随机化的基本思想(ALSR)

    于是乎ASLR(Address Space Layout Randomization)在2005年被引入到Linux的内核 kernel 2.6.12 中。其实从名字理解最好理解了,这也是我的addr失效的原因所在

    cat /proc/sys/kernel/randomize_va_space  //查看当前操作系统的ASLR配置情况
    kernel.randomize_va_space = 2  //全随机,半随机。共享库、栈、mmap() 以及 VDSO ,heap将被随机化
    kernel.randomize_va_space = 1  //半随机。共享库、栈、mmap() 以及 VDSO 将被随机化
    kernel.randomize_va_space = 0    //关闭
    

    所以我遇上了最坑人的全随机导致一直攻击失败

    echo 0 > /proc/sys/kernel/randomize_va_space//在root权限下关了
    

    这时在执行就成了

    命名报错

    Traceback (most recent call last):
      File "pwn.2.py", line 4, in <module>
        conn = process("./hexcalc")
    NameError: name 'process' is not define
    

    修该攻击脚本的名字,最好没有pwn出现。如:pwn.py容易出问题

  • 相关阅读:
    36-图像有用区(dfs, bfs)
    35-迷宫寻宝(一)-NYOJ82
    34- 24 Point game
    32-回文字符串(dp)
    71-n皇后
    70-合并数字
    2017.11.18 C语言的算法分析题目
    2017.11.17 C++系列---用malloc动态给c++二维数组的申请与释放操作
    2017.11.16 JavaWeb-------第八章 EL、JSTL、Ajax技术
    2017.11.15 JavaWeb的学生体质管理系统
  • 原文地址:https://www.cnblogs.com/zuoanfengxi/p/12374305.html
Copyright © 2011-2022 走看看