11 2023 档案
摘要:删数问题 1. 题目 2. 题目解析 我们先给一些案例,然后寻找其中的规律: 1. 12345,如果我们删除一个数,使得数字最小。我们应该删除5。如果我们删除两个数,使得数字最小。我们应该删除4和5。 因此,如果数字的每一位都是递增的,我们应该删除最后的数字(第一种规则)。 2. 178543,如果
阅读全文
摘要:信息打点(信息收集) 1. 信息打点的定义和必要性 实际上就是收集你要攻击的目标的相关信息(包括但不限于:操作系统、源码、架构、端口等等)。 在进行安全测试(攻击)之前,一定要事先收集好目标信息,分析目标的入口点(漏洞)。 2. 收集各种类型信息的必要性 2.1 操作系统 有些漏洞只会产生在Wind
阅读全文
摘要:中级栈溢出 1. ret2csu 1.1 目的 在64位程序下,函数的前6个参数是通过寄存器来传递的,从第7个参数开始才从栈开始传递。但是,我们很难找到这6个寄存器对应的gadget。 此时,我们可以利用程序内部的_libc_csu_init()函数内部的gadget来实现这样的功能。 这个函数是用
阅读全文
摘要:棋盘覆盖问题 1. 问题阐述 2. 问题解析 我们主要用分治法来解决此问题。 1. 我们首先可以将棋盘分割为四个(2^(k-1),2^(k-1))的子棋盘。 2. 由于在分割之前,一个棋盘当中只会有一个特殊格子。当分割之后,只有一个子棋盘中存在特殊格子。 3. 对于每一个子棋盘,我们依次需要判断:如
阅读全文
摘要:二进制漏洞挖掘与利用 1. pwn概述及基本术语补充 1.1 pwn概述 pwn可以指: 1. 破解、利用成功(程序的二进制漏洞) 2. 攻破了设备、服务器 3. 控制了设备、服务器 (简单理解)pwn漏洞指的就是:已经编译成机器码的二进制程序(可执行程序)相关的漏洞。 1.2 ELF ELF指的就
阅读全文
摘要:基本栈溢出 1. 缓冲区溢出概念以及种类 本质是向定长的缓冲区写入了超长的数据,造成超出的数据覆写了合法内存区域。 缓冲区溢出的种类: 1. 栈溢出 最常见,漏洞比例最高,危害最大的二进制漏洞 在CTF PWN 中往往是漏洞利用的基础。 2. 堆溢出 现实中的漏洞占比不高 堆管理器复杂,利用方式很多
阅读全文
摘要:二进制漏洞挖掘与利用-第二部分 1. ROP概念 ROP全名为:返回导向编程 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等)。 当你想要执行一段攻击代码(代码)时,
阅读全文
摘要:网络嗅探器的设计与实现 1. 介绍 本人开发的网络嗅探器可以抓取并分析网络数据包,并支持wireshark语法,实现协议的过滤功能。 项目地址:https://github.com/gao79135/network-sniffer/tree/master 2. 项目的技术栈 本项目前端使用qt(qt
阅读全文