Recho这个长尾词如何改写成一个不超过50个字?

2026-04-11 11:550阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1574个文字,预计阅读时间需要7分钟。

Recho这个长尾词如何改写成一个不超过50个字?

0x00: 查看文件信息:一个64位二进制文件,无canary和PIE保护机制。

0x01: 使用IDA进行静态分析:主程序部分是一个while循环,循环条件是read返回值大于0。函数at

0x00:查看文件信息

一个64位二进制文件,canary和PIE保护机制没开。

0x01:用IDA进行静态分析

分析:主程序部分是一个while循环,判断条件是read返回值大于0则循环。函数atoi()是将一个字符串转换成整型数据,看栗子:

Recho这个长尾词如何改写成一个不超过50个字?

这样子v7可以由我们所决定,所以很明显第15行存在栈溢出。

个人想法:

看到程序有一堆输入输出函数,我首先想到的是ret2libc3。在尝试的过程中发现无论如何都跳不出while循环,使用io=send('')不可以。思考无果,上网找WP。在海师傅的文章中,了解到可以用shutdown函数进行操作。而且海师傅是以另外的思路进行泄露的,下面我就借鉴海师傅的思路进行描述。

0x02:深入分析

首先说一下结束循环的方法:

使用io.shutdown('write')进行关闭(为啥是write呢?)

测试一下:

read不可以,send可以???,recv不可以。

阅读全文

本文共计1574个文字,预计阅读时间需要7分钟。

Recho这个长尾词如何改写成一个不超过50个字?

0x00: 查看文件信息:一个64位二进制文件,无canary和PIE保护机制。

0x01: 使用IDA进行静态分析:主程序部分是一个while循环,循环条件是read返回值大于0。函数at

0x00:查看文件信息

一个64位二进制文件,canary和PIE保护机制没开。

0x01:用IDA进行静态分析

分析:主程序部分是一个while循环,判断条件是read返回值大于0则循环。函数atoi()是将一个字符串转换成整型数据,看栗子:

Recho这个长尾词如何改写成一个不超过50个字?

这样子v7可以由我们所决定,所以很明显第15行存在栈溢出。

个人想法:

看到程序有一堆输入输出函数,我首先想到的是ret2libc3。在尝试的过程中发现无论如何都跳不出while循环,使用io=send('')不可以。思考无果,上网找WP。在海师傅的文章中,了解到可以用shutdown函数进行操作。而且海师傅是以另外的思路进行泄露的,下面我就借鉴海师傅的思路进行描述。

0x02:深入分析

首先说一下结束循环的方法:

使用io.shutdown('write')进行关闭(为啥是write呢?)

测试一下:

read不可以,send可以???,recv不可以。

阅读全文