基本操作这里就不多说啦 直接进入正题

执行文件呢 会看到是关于有限状态自动机会不会被吓到呢(纳尼!?)

哈哈 其实是吓唬我们的

下面是主程序的关键部分 已知 char v2[32] 那strlen(v2)=32

for 循环可以改写为 for(i=0;i>=32;++i)

注意注意 下面的switch语句 default:continue

不同于default:

默认为break

但是如果是default:continue 就会执行continue语句 跳出此次循环 i++之后继续执行switch语句

红框框圈起来的是不是感觉看不懂 写成这样*v3[--5] 学过汇编的朋友 是不是觉得有一丝丝熟悉 基址加偏移地址v3+(--v5)

矮油 我们pwn题主要目的是要拿shell的 找找shell在哪里捏?

啊哈 这么明显哇 真是得来全不费工夫哇 so 我们想一想 怎么搞能执行这个函数呢 栈溢出???

漏漏漏 *v3[--5] 这玩意儿是个指针 指向这个地址的内容 肯定是能执行的嘛

这个scanf好像能利用哦 看看v2和v3的位置

让--v5=0 填完v2再填一个字节正好在v3的位置 到时候直接执行 多好!!

所以不要让v5变来变去的 让case1:下的函数

让if条件为假 每次执行break之后遇到continue i++ 然后再为假 再break 直到i>32  嘿嘿 执行0x080486CC出的内容 就可以拿到flag啦

(a1 > 96 && a1 <= 122) || (a1 > 47 && a1 <= 57) || a1 == 95 || a1 == 45 || a1 == 43 || a1 == 46

为假 从左向右  &&优先级大于||

若v2=32个a 呢 ASCII为 97  (a1 > 96 && a1 <= 122)真

(a1 > 47 && a1 <= 57) 假

最后结果为真 漏 这不是我们想要的!!

若v2=32个A 呢 ASCII为 65  (a1 > 96 && a1 <= 122)假

(a1 > 47 && a1 <= 57) 假

最后结果为假 哟西 大大滴好

我们的payload=b"A"*32+p32(0x080486CC)

最后的最后 我们的exp

from pwn import *
context(os='linux',arch='amd64',log_level='debug')
#p=remote()
p=process('./forgot')
payload=b'A'*32+p32(0x080486CC)
p.sendlineafter('>','zz')
p.sendlineafter('>',payload)
p.interactive()

forgot XCTF(你的疑问都可以在这里找到答案)相关推荐

  1. python代码看不懂可以从哪些地方找答案_99%的问题都能在网上找到答案,这就是学编程时的正确思路...

    原标题:99%的问题都能在网上找到答案,这就是学编程时的正确思路 炜枫是一名 Web 开发工程师,Python 工程师,同时也是开智学堂编程思维 Python 基础班四期教练.他因项目所需发现 Pyt ...

  2. 咪咕盒子链接服务器失败_咪咕打卡正式开启,你的疑问都可以在这里找答案!...

    7.1凌晨,咪咕准时开启打卡,在咪咕阅读APP正式上线了打卡活动页面,相信很多小伙伴都已经开始了100天漫漫打卡路. 不过也有部分小伙伴反应, 有进入活动页面没有找到打卡.明明阅读了15分钟却显示时长 ...

  3. 阿里云常见问题解答汇总,关于阿里云的疑问你都可以在这里找到答案

    本文总结了阿里云用户在购买阿里云之前一些常见的问题,包括,阿里云什么,阿里云为什么贵,阿里云多少钱 阿里云最低多少,阿里云分期是什么,阿里云有哪些服务,阿里云有什么产品,阿里云服务器如何购买,阿里云好 ...

  4. 2022微软实习面经 | 关于实习面试的所有问题,都能在这里找到答案

    微软为即将毕业的应届生提供了暑期实习项目,本以为早就结束内推了,没想到微软的名额又有大增加了,是个好事,说明机会很多~ 我非常建议大家抓住这次机会,首先实习生的面试标准肯定是比校招和社招要宽松的. 而 ...

  5. lua如何打印行号_双11购物清单,你打印了吗?9个打印技巧解密Excel打印问题,每一个难题都可以在这里找到答案...

    关注精彩内容,要先点击这里哦~ 双十一要来了, 你的购物清单整理好了吗? 设置打印时有没有缺斤少两? 作为一个办公人员,经常需要打印很多数据表格,但是表格打印可是技术活儿,稍不留神儿,打印效果就会乱七 ...

  6. 「从源码中学习」面试官都不知道的Vue题目答案

    前言 当回答面试官问及的Vue问题,我们除了照本宣科的回答外,其实还可以根据少量的源码来秀一把,来体现出你对Vue的深度了解. 本文会陆续更新,此次涉及以下问题: "new Vue()做了什 ...

  7. 抖音的配音段子在哪里搜到,抖音上录段子的配音都在哪里能找到

    抖音的配音段子在哪里搜到,抖音上录段子的配音都在哪里能找到,小编都给大家整理好了,大家拿去就可以直接使用了. 这些音频素材中包括,励志,情感,正能量,创业等的类型,大家在创作抖音.快手等短视频的时候可 ...

  8. 人生,这道题,每个人都有每个人的答案

    人生,这道题,每个人都有每个人的答案 人生,不去开始,永远不会知道答案.沉沉浮浮,飘飘摇摇的人生,是一道多解的题,每个人都有不一样的答案. 一朝一夕是日子:一喜一忧是心情:一起一落是人生. 日子,总是 ...

  9. 看过这篇文章,一切关于NFT的疑问都可以迎刃而解

    2021年3月11日,佳士得拍卖行以6900万美元的价格出售了艺术家 Mike Winkelmann ( Beepie )的数字拼贴画作品<每日每夜: 最初的五千天> (EVERYDAYS ...

最新文章

  1. iOS图片精确提取主色调算法iOS-Palette(附源码)
  2. ie和firefox操作table对象的异同
  3. 用php文件创建表,使用PHP创建单个文件上传表单的最佳方式是什么?
  4. VMware Workstation 9下基于Ubuntu 12.10服务器版本的Hadoop集群的配置
  5. mysql删除redo_删除redo log group or member
  6. Sqlserver中查询存储过程是否包含某些文本
  7. R语言观察日志(part9)--RMarkdown之输出格式
  8. 虽然在修行初期的飞鸽传书
  9. Mysql连接报错:1130-host ... is not allowed to connect to this MySql server
  10. 字典序的理解以及python实现
  11. rabbitmq的基本安装、配置,以及整合springboot,gradle的hello.demo
  12. Qunee for HTML5的学习与使用笔记(一)
  13. python模拟类蠕虫--蠕虫初探
  14. [周鸿祎] 与其苟且活着,不如奋起抗争
  15. 故障电弧检测技术现状及难点
  16. vue使用render函数自定义标签动态导入js文件
  17. windows系统修复 | 使用 System File Checker (SFC) scannow 命令修复问题
  18. 少了五毛钱不卖的酷炫火焰特效!3D粒子哦!
  19. 2020年Java开发前景还好吗?现在学java好找工作吗?
  20. 直播特效常见使用格式

热门文章

  1. c语言绝对值题目,初中数学绝对值练习题答案及解析
  2. 软件功能介绍之(数据维护)3.1数据编辑(1)
  3. wavedrom使用教程
  4. “电池圣杯”:纯锂电池让手机使用时间长4倍
  5. android 手机桌面,安卓手机桌面介绍:教你认识安卓手机桌面
  6. 先进PID控制Matlab仿真第4版-pdf课本+仿真程序
  7. unity3D 使用rigidbody.AddForce(movement)
  8. Java SE 基础(一)
  9. 半监督目标检测(三)
  10. android 数据刷新问题,RecyclerView数据不刷新问题