
逆向 二进制 Re
文章平均质量分 87
人工智能我来了
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从零开始学howtoheap:理解fastbins的large_bin攻击
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。原创 2024-02-14 13:06:46 · 875 阅读 · 0 评论 -
堆的构造原理
int j;int k;int v9;init();”);i <= 15;j <= 15;++k )”);return 0;原创 2025-02-24 13:14:31 · 498 阅读 · 0 评论 -
堆的基本概念
1.1 堆的基本概念。原创 2025-02-05 19:26:29 · 487 阅读 · 0 评论 -
从零开始学IO_FILE的堆利用:理解IO_FILE之fopen
IO_FILE *...# 检查文件是否以打开,打开则返回return 0;## 设置文件打开模式case 'r':break;......# 调用_IO_file_open函数is32not64);...# 调用系统函数open打开文件...# 将文件描述符设置到FILE结构体的相应字段_fileno里...#再次调用_IO_link_inreturn fp;原创 2024-02-24 13:25:19 · 1030 阅读 · 0 评论 -
从零开始学IO_FILE的堆利用:理解IO_FILE之fread
实际上就是FILE结构体中vtable的__xsgetn函数,跟进去/libio/fileops.c。 _IO_file_xsgetn是处理fread读入数据的核心函数,分为以下几个部分:fp->_IO_buf_base为空时,表明此时的FILE结构体中的指针未被初始化,输入缓冲区未建立,则调用_IO_doallocbuf去初始化指针,建立输入缓冲区。输入缓冲区有输入,即fp->_IO_read_ptr小于fp->_IO_read_end,此时将缓冲区里的数据直接拷贝到目标buff。原创 2024-02-24 13:25:10 · 1148 阅读 · 0 评论 -
从零开始学逆向:理解ret2libc-2
ret2libc即劫持程序的控制流,使其执行libc中的函数,一般是返回到某个函数的plt处,或者某个函数的具体位置(函数对应got表的内容),大多情况下是执行system('/bin/sh')。这道题与例题1基本相似,只是程序中没有了/bin/sh字符串,我们需要通过gets函数手动写入/bin/sh字符串到一个可写可执行区域,通常在bss段,在ida找到一个地址原创 2024-02-20 08:15:00 · 1391 阅读 · 0 评论 -
从零开始学逆向:理解ret2libc-3
题目下载链接:https://pan.baidu.com/s/1wk3JFQBHgVZ0vjfnQk60Ug 提取码:0000。原创 2024-02-20 08:15:00 · 1642 阅读 · 0 评论 -
从零开始学逆向:理解ret2libc-1
ret2libc即劫持程序的控制流,使其执行libc中的函数,一般是返回到某个函数的plt处,或者某个函数的具体位置(函数对应got表的内容),大多情况下是执行system('/bin/sh')。原创 2024-02-19 00:00:00 · 1686 阅读 · 0 评论 -
从零开始学逆向:理解ret2syscall
链接:https://pan.baidu.com/s/19ymHlZZmVGsJHFmmlwww0w 提取码:r4el 首先checksec 看一下保护机制ret2syscall 即控制程序执行系统调用来获取 shell 什么是系统调用? 3.1 使用ida打开分析gets函数存在明显的栈溢出,但是这次没有后门函数,NX防护也打开了,那么就要换一种套路了,通过系统调用拿到shell 我们需要控制eax,ebx,ecx,edx的值,可以使用ROPgadget这个工具帮我们找到所需的代码片段。原创 2024-02-19 00:00:00 · 1425 阅读 · 0 评论 -
从零开始做题:逆向 ret2shellcode jarvisoj level1
ida帮我们计算出来了buf字符串距离rbp有0x88个字节,由于ebp本身还占4个字节,所以溢出0x8c个字节后将返回地址修改为buf地址,python有 个自带的方法ljust可以将我们的shellcode长度补充为固定字节,期作用是使shellcode左对齐,然后不足长度补齐指定数据。在危险函数中,程序向我们输出了一个栈站上的地址因此我们可以朝buf写一段shellcode,然后 将返回地址覆盖为buf的地址。基本全关,栈可执行。原创 2024-02-15 11:19:50 · 726 阅读 · 0 评论 -
从零开始学howtoheap:解题西湖论剑Storm_note
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。原创 2024-02-14 13:06:17 · 1300 阅读 · 0 评论 -
从零开始学howtoheap:理解fastbins的堆块重叠的问题1
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。原创 2024-02-12 10:16:35 · 1113 阅读 · 0 评论 -
从零开始学howtoheap:fastbins的house_of_spirit攻击2
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。原创 2024-02-11 13:31:42 · 1153 阅读 · 0 评论 -
从零开始学howtoheap:fastbins的house_of_spirit攻击1
伪造chunk时需要绕过一些检查,首先是标志位,PREV_INUSE位并不影响 free的过程,但IS_MMAPPED位和位都要为零。其次,在64位系统中fast chunk的大小要在 32~128 字节之间。最后,是next chunk的大小,必须大于2*SIZE_SZ(即大于16),小于(即小于128kb),才能绕过对next chunk大小的检查。 所以house_of_spirit的主要目的是,当我们伪造的fake chunk内部存在不可控区域时,运用这一技术可以将这片区域变成可控的。原创 2024-02-11 12:07:35 · 1114 阅读 · 0 评论 -
从零开始学howtoheap:fastbins的double-free攻击实操3
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见。原创 2024-02-11 12:07:31 · 959 阅读 · 0 评论 -
从零开始学howtoheap:fastbins的double-free攻击实操1
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见。原创 2024-02-10 12:32:42 · 1395 阅读 · 0 评论 -
从零开始学howtoheap:fastbins的double-free攻击实操2
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见。原创 2024-02-10 12:32:51 · 1125 阅读 · 0 评论 -
从零开始学howtoheap:理解glibc分配机制和UAF漏洞利用
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。原创 2024-02-09 11:11:55 · 1354 阅读 · 0 评论 -
从零开始学howtoheap:理解fastbins的double-free攻击
how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境:优化pwn虚拟机配置支持libc等指令-CSDN博客1.fastbins的double-free攻击下面的程序展示了fastbins的double-free攻击,可以泄露出一块已经被分配的内存指针。fastbins 可以看成一个后进先出的栈,使用单链表来实现,通过fastbin->fd来遍历。由于free的过程会对free list做检查原创 2024-02-09 11:10:41 · 1601 阅读 · 0 评论 -
从零开始做题:逆向 ret2shellcode orw
下载orw时防病毒要关闭。原创 2024-01-28 23:08:24 · 960 阅读 · 0 评论 -
从零开始做题:逆向 ret2libc warmup
warmup.c。原创 2024-01-28 23:07:41 · 1289 阅读 · 0 评论 -
从零开始做题:逆向 ret2text level2
3.3 运行本地level2。需要先运行tmux命令。原创 2024-01-20 16:10:44 · 1470 阅读 · 0 评论 -
从零开始做题:逆向wdb_2018_2nd_easyfmt
格式化字符串漏洞如何确定偏移输入AAAA.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.输出AAAA.0xffffd658.0x64.0xf7ffdc08.0xf7ffcd00.0xffffd77c.0x41414141.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.原创 2024-01-14 20:37:25 · 892 阅读 · 0 评论 -
从零开始做题:逆向wdb_2018_3rd_soEasy
【代码】从零开始做题:逆向wdb_2018_3rd_soEasy。原创 2024-01-01 22:13:59 · 1041 阅读 · 0 评论 -
从零开始做题:逆向 ret2text level0
输入一个超长字符串,段错误。如果有后门函数system(‘/bin/sh’),system('cat /flag')等,直接将返回地址改为后门函数地址。通过cyclic生成padding字符串,观察rip,通过-l计算参数。原创 2023-12-31 23:22:43 · 1026 阅读 · 0 评论