美文网首页网络安全
PWN入门第二课(Integer Overflow)

PWN入门第二课(Integer Overflow)

作者: Magicknight | 来源:发表于2018-04-09 09:51 被阅读162次

详细的请见大神的博客:https://sploitfun.wordpress.com/2015/06/23/integer-overflow/,我这里只介绍我的实操。

gdb调试函数

用gdb调试函数知道,passwd_len存放在离ebp-9的字节处,由于存放的是字节,那么当字符串长度大于255的时候,会发生溢出,绕过了比较,然后进行字符串的拷贝,字符串拷贝发生缓冲区溢出。因为这里主要要计算,缓冲区离返回地址的值。从拷贝字符串函数前可以看出,ebp-0x14,知道缓冲区离ebp有20字节,加上ebp自身4字节。因此要覆盖eip的值,要填充24字节。
我们使用 "A"24+"B"4来测试下:

gdb调试程序

可以看到B覆盖了返回地址,然后记录esp的值。编码exp.py。
返回地址为ESP+一定NOP长度,我这里加上0x40。即:0xbffff040
(照理说不用NOP值的,直接ESP,但是不行)。


shellcode利用程序

直接执行此程序,获取shell。


获取shell

相关文章

  • PWN入门第二课(Integer Overflow)

    详细的请见大神的博客:https://sploitfun.wordpress.com/2015/06/23/int...

  • [01.01-algorithmic-toolbox]基本概念

    课程网址 Integer overflow In computer programming, an integer...

  • pwn入门的一些学习资料

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

  • 【pwnable.tw 系列】start

    概述:本题是pwn的入门级题目,几乎把所有利用的难度都降到最低,应该只是用来让入门者大致了解pwn题的玩法。 1、...

  • iOS开发 integer overflow in expres

    问题1:当我们定义一个很大的数时候,会溢出,报错如下:Overflow in expression; result...

  • PWN 堆入门

    什么是堆 堆(chunk)内存是一种允许程序在运行过程中动态分配和使用的内存区域。相比于栈内存和全局内存,堆内存没...

  • 2019-04-28 Frist One

    下面会发表的文章主要还是记录一下自己的pwn学习历程,像日记像随笔一样。 去年开始入门pwn,年底有开始用word...

  • Linux Kernel Pwn 入门

    Linux Kernel Pwn 入门 ​ kernel 也是一个程序,用来管理软件发出的数据 I/O 要求,...

  • PWN入门(从零开始学习PWN)

    这次强网杯CTF,组队拿到了还算靠前的名次,但是也让我们看到了差距。特别是队伍里没有一个擅长PWN的,所以这个重任...

  • Kernel pwn 基础教程之 Heap Overflow

    一、前言 在如今的CTF比赛大环境下,掌握glibc堆内存分配已经成为了大家的必修课程。然而在内核态中,堆内存的分...

网友评论

    本文标题:PWN入门第二课(Integer Overflow)

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