「 PWN 」
April 02, 2021
Words count
26k
Reading time
24 mins.
一、net-snmp简介
SNMP协议是个成熟的网络管理协议,可以使用在远程系统中检索信息和设定值,在传输层它使用的是UDP协议,而net-snmp是个开放源代码的snmp协议实现。支持v1,v2c还有v3,并可以使用ipv4和ipv6,也包含了snmp trap的所有相关实现。net-snmp包含了snmp实用程序集和完整的snmp开发库。可以理解成net-snmp就是对snmp的封装,可以实现很多snmp的功能。
二、漏洞描述
CVE-2015-5621是15年爆出来的cve漏洞,影响5.8之前...
Read article
「 PWN 」
March 22, 2021
Words count
21k
Reading time
19 mins.
前言
这个漏洞由台湾的安全研究员工meh发现,经过华为未然实验室的师傅复现,成功实现了远程代码执行,最近在学习网络协议漏洞的挖掘,正好复现一下这块的东西,这两天要啃下来!
一、漏洞介绍
漏洞的成因是b64decode函数在对不规范的base64编码过的数据进行解码时可能会溢出堆上的一个字节,比较经典的off-by-one漏洞。
存在漏洞的b64decode函数部分代码如下:
1 2 3 4 5 6 7 8 9 10 11
| b64decode(const uschar *code, uschar **ptr) {... |
Read article
「 PWN 」
December 29, 2020
Words count
9.3k
Reading time
8 mins.
一、什么是进程?
就是操作系统为了实现某些功能进行的分身术,生成的子进程可以进行相应的工作
创建进程最基本的调用是fork
1 2 3
| # include <unistd.h> pid_t fork(void); pid_t vfork(void);
|
调用 fork 时,系统将创建一个与当前进程相同的新进程。通常将原有的进程称为父进程,把新创建的进程称为子进程。子进程是父进程的一个拷贝,子进程获得同父进程相同的数据,但是同父进程使用不同的数据段和堆栈段。子进程从父进程继承大多数的属性,但是也修改...
Read article
「 PWN 」
December 23, 2020
Words count
31k
Reading time
28 mins.
一、漏洞描述
wget 是一个从网络上自动下载文件的工具,支持通过 HTTP、HTTPS、FTP 三种最常见的 TCP/IP 协议,在1.19.2的版本之前,被爆出一个严重的栈溢出漏洞,wget在处理重定向时,会调用http.c:skip_short_body()函数,解析器在解析时会使用strtol函数去读取每个块的长度,但是不检查块的长度是否为非负数,解析器试图通过MIN()函数跳过块的前512字节,最终传递参数到connect.c:fd_read()中。由于fd_read()
仅会接受一个int...
Read article
「 PWN 」
December 04, 2020
Words count
42k
Reading time
38 mins.
一、什么是afl-fuzz
American fuzzy lop 号称是当前最高级的Fuzzing 测试工具之一,由谷歌的Michal Zalewski 所开发。通过对源码进行重新编译时进行插桩(简称编译时插桩)的方式自动产生测试用例来探索二进制程序内部新的执行路径。与其他基于插桩技术的fuzzers 相比,afl-fuzz 具有较低的性能消耗,有各种高效的fuzzing 策略和tricks 最小化技巧,不需要先行复杂的配置,能无缝处理复杂的现实中的程序。当然AFL 也支持直接对没有源码的二进制程...
Read article
「 PWN 」
November 26, 2020
Words count
96k
Reading time
1:27
一、small bin attack
祥云杯babyheap
分析下程序的流程
在menu前面还有个vmmap申请出内存,然后往里面存flag的操作,我们来看看:
这里会放flag到内存中,然后在flag上方放入随机数,接着打印出随机数的地址给我们
接着我们分析下这个程序:
calloc
这是一个会清空内存的堆申请操作,而且不按照malloc那种方式优先利用tcache而是另起炉灶从topchunk切割,直到unsorted bin有东西,也会优先考虑unsorted bin,这里申请范围在0x80...
Read article
「 PWN 」
November 19, 2020
Words count
45k
Reading time
41 mins.
一、什么是srop?有什么用?
srop技术用来还原系统调用前的寄存器信息,那么我们可以伪造寄存器的值实现函数调用利用~简单理解成类似栈溢出劫持控制流。
在CTF中最常和orw的题目相结合。
二、不同ubuntu版本下的srop的使用技巧
1、16.04(glibc2.23)
这里简单拿一道题示范一下:
题目本身不难,就一个堆任意溢出,但是作为复习的话,用不同的方法去把它打出来,打法也是比较常规,先io_file泄露地址,然后unsortedbin 往free_hook上方写一个0x7f的size...
Read article
「 PWN 」
November 09, 2020
Words count
19k
Reading time
18 mins.
一、前言
因为讲漏洞挖掘的老师讲到了windows下的栈溢出漏洞等,本着学习的心态,想学习一下具体的利用方式,所以干脆直接装一下环境。
二、环境安装
1、下载xdbg和ida作为调试器(32位+64位)
这个相信搞二进制的师傅都有~
1
| sudo python -m pip install pwntools
|
可能有些师傅直接pip install 就可以装了,这里只是给出我的计算机环境安装方法,装好了后,import pwn没问题就没事,要是有问题的话,具体情况具体分析,...
Read article
「 PWN 」
July 14, 2020
Words count
23k
Reading time
21 mins.
一、下载与安装
这里附上官网下载地址:https://lcamtuf.coredump.cx/afl/
下载下来解压后,放到虚拟机中,进入文件夹,执行下面的命令进行安装:
说明安装好了,这里解析下每个文件的作用
1 2 3 4 5 6 7 8 9 10
| afl-gcc和afl-g++ 分别对应 gcc和g++的封装 afl-clang和afl-clang++ 分别对应clang的c和c++的封装 afl-fuzz 是AFL的主体,用于对目标程序进行fuzz afl-analyze... |
Read article