sctf2021 data leak 出题思路和题解

sctf2021 data leak 出题思路和题解

sctf2021 pwn出题思路

文章目录

  • sctf2021 data leak 出题思路和题解
    • 题目描述
    • 出题思路
    • 漏洞位置
    • 内存布局
    • 远程
    • exp

题目描述

Never trust c pointer magic and escape characters,

题目分值:281

解题人数:52

出题思路

最开始其实是cjson这个组件的漏洞 ,主要是 CVE-2019-11834和CVE-2019-11835,

两个cve都可以 实现跳过两个字节的功能,于是设计了这么一个数据泄露的题目 ,

漏洞位置

处理/*的时候会跳过两个字符,

sctf2021 data leak 出题思路和题解_第1张图片

处理"的时候如果有\会跳过两个字符,

sctf2021 data leak 出题思路和题解_第2张图片

内存布局

sctf2021 data leak 出题思路和题解_第3张图片

两个buf长度为0x10, 写入数据为14, 在结尾有两个00, 数据在后面,每次从buf1开始处理,然后打印buf2中的11字节,数据一共22字节,在两次内打印出来,

sctf2021 data leak 出题思路和题解_第4张图片

于是我们的思路是,通过跳过两字节从buf1到buf2, 然后再从buf2跳到data,

但是要注意, "的方案将会将数据保留,\*的方案将会将数据舍去, 于是可以将data写入到buf2的位置,控制前面的占位, 即可在两次打印中打印出来完整的data,

远程

原设计是直接泄漏flag出来,后面想到泄漏flag且flag固定,可能存在多次泄漏出来的情况,

于是增加了一层loader,

//
// Created by wlz on 9/14/21.
//
#include 
#include 
#include 
#include 
#include 
#

你可能感兴趣的:(pwn,题目的整理,安全)