hitcon专题

2022 HITCON -- fourchain-kernel

前言 很久没碰内核利用相关的东西了,这个题目都调了我两天(:所以还是得熟能生巧啊 题目分析 内核版本:v5.10,所以不存在 cg 隔离、可以使用 userfaultfdkaslr、smap、smep 开启CONFIG_SLAB_FREELIST_RANDOM 和 CONFIG_SLAB_FREELIST_HARDENED 都开了 题目给了源码,直接看源码吧: #include <lin

CTF|HITCON-Training-master lab3 writeup (ret2shellcode题型)

CTF|HITCON-Training-master lab3 writeup (ret2shellcode题型) ret2shellcode题型 ret2shellcode,即控制程序执行 shellcode代码。 shellcode 指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的 shell。 对于lab3 checksec显示所有保护都没有开启并且有可读可写

CTF|HITCON-Training-master lab4 writeup (ret2libc题型)

CTF|HITCON-Training-master lab4 writeup (ret2libc题型) 做题做题前先看看ctfwiki上对ret2libc的原理描述 原理 ret2libc 即控制函数的执行 libc 中的函数,通常是返回至某个函数的 plt 处或者函数的具体位置(即函数对应的 got表项的内容)。一般情况下,我们会选择执行 system("/bin/sh"),故而此时

CTF|HITCON-Training-master lab5 writeup(ret2syscall题型)

CTF|HITCON-Training-master lab5 writeup(ret2syscall题型) 题目的文件名是“simplerop” 意思是对rop链的简单利用 shift+f12 查看后,题目既没有给system函数又没有‘/bin/sh’ 大致判断是CTFwiki上基本rop中的ret2syscall类型的题目 大致思路是, 在文件中需寻找有用的gadget通过题目中存在

[HITCON 2017]SSRFme perl语言的 GET open file 造成rce

这里记录学习一下 perl的open缺陷 这里首先本地测试一下 发现这里使用open打开 的时候 如果通过管道符 就会实现命令执行 然后这里注意的是 perl 中的get 调用了 open的参数 所以其实我们可以通过管道符实现命令执行 然后这里如果file可控那么就继续可以实现命令执行 这里就是 open支持file协议 file协议加上| 可以将文件名 作为shell输出 to

[HITCON 2017]SSRFme perl语言的 GET open file 造成rce

这里记录学习一下 perl的open缺陷 这里首先本地测试一下 发现这里使用open打开 的时候 如果通过管道符 就会实现命令执行 然后这里注意的是 perl 中的get 调用了 open的参数 所以其实我们可以通过管道符实现命令执行 然后这里如果file可控那么就继续可以实现命令执行 这里就是 open支持file协议 file协议加上| 可以将文件名 作为shell输出 to

[fast_bin_consoli + unlink]sleepyHolder_hitcon_2016

[fast_bin_consoli + unlink]sleepyHolder_hitcon_2016 1. ida分析 add函数 delete函数 unlink 需要控制的全局指针的位置 2. 思路 先申请两个small和big chunk,释放small chunk,申请huge chunk,触发consolidate,再次释放small chunk,触发double