heap - 11 - malloc_consolidate 源码及其部分分析

fast chunk的内存整合

1. 介绍

  • 看了之前关于malloc和free的相关源码

    1
    2
    if (have_fastchunks (av))
    malloc_consolidate (av);

    就算不看malloc_consolidate的源码,也猜得出来其功能
    该函数是对 fast chunk 进行内存整合

    但为什么该函数取名为malloc_consolidate呢?真误导人呀 :-(

  • 但即便如此,该函数还起到了一个堆的初始化作用

    感到奇怪? 看源码咯~

阅读更多...

heap - 8 - UAF漏洞的简单介绍及其例子

A good Hacker should always take good notes! —— hacknote

1. UAF简介

UAF —— Use After Free. 指的是当某个指针被free后,没有及时将这个指针置空,导致该指针成为悬浮指针,在程序中仍然可以对该指针指向的内存执行某些操作,例如写入数据,查看数据等(操作取决于程序)

2. 例子 — pwnable.tw_hacknote

点击 这里 下载题目

查看保护

1
2
3
4
5
6
7
8
# root @ Kiprey in ~/Desktop/Pwn [14:16:43]
$ checksec hacknote
[*] '/root/Desktop/Pwn/hacknote'
Arch: i386-32-little
RELRO: Partial RELRO
Stack: Canary found
NX: NX enabled
PIE: No PIE (0x8048000)

执行流程

  1. 提示用户选择选项,有 添加笔记删除笔记输出笔记退出程序四个选项
  2. 根据用户的选择,执行不同的操作
阅读更多...

CTF Misc 的笔记

一点点曾经整理的Misc笔记,数量较少。

1. git

  1. 查找所有 commit - 参考链接

    1
    2
    3
    4
    # 查看所有commit,包括已撤回的提交
    git log --reflog
    # 重置commit头
    git reset --hard [commit-Hash]
  2. 查看 git 提交的文件内容 - git 对象库

    1
    2
    3
    4
    5
    6
    7
    8
    # 查看所有提交log(包括已撤回的提交)
    git log --pretty=raw
    # 查看某个Hash值对应的类型
    git cat-file -t [Hash]
    # 查看某个Hash值对应的内容
    git cat-file -p [tree/file-Hash]
    # 查看树的内容
    git ls-tree [-r是否递归][-t输出更完整的信息(包括子树)] [commit/tree-hash]
阅读更多...

CTF Web 的笔记

一点点曾经整理的Web笔记,篇幅会相对较小一点。

1. XXE 攻击 (XML)

  1. 示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE foo [<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=flag.php"> ]>
    <user>
    <username>
    &xxe;
    </username>
    <password>
    </password>
    </user>

2. SSRF

函数的注意点

1. cURL

2. file_get_contents

  • gopher 协议无法URLencode
  • 关于gopher的302跳转有bug,导致利用失败
阅读更多...

CTF Reverse 的笔记

  • 笔者会把一些曾经遇到过的Reverse知识点记录在这里。
  • 但笔者并非主攻二进制逆向,故逆向笔记会相对较少。

1. 迷宫问题(maze)

迷宫问题有以下特点:

  • 在内存中布置一张 “地图”,这个地图可能是字符(例如#之类的),也可能是一些数字的二进制
  • 将用户输入限制在少数几个字符范围内.
  • 一般只有一个迷宫入口和一个迷宫出口

详情CTF-Wiki

阅读更多...

CTF Pwn 的杂项笔记

这里是笔者记录的一些内容较少、不便于整理出一篇博客的Pwn杂项知识点。

1. docker 使用 - 使用手册

2. 漏洞

  1. 格式化字符串

    1
    2
    3
    4
    // %lln 四字 / %ln 双字 / %hn 单字 / %hhn 字节
    printf("%(n-1)$[format]"); // -> 第n个参数
    printf("%{n-1}$n"); // -> 将输出的字符个数写入第n个参数
    printf("%nc"); // -> 输出对应参数n个字符
阅读更多...
  • Copyrights © 2020-2021 Kiprey
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~