摘要:
概述以及数据结构 1. What is heap Heap is a memory region allotted to every program. Unlike stack, heap memory can be dynamically allocated. This means that 阅读全文
摘要:
永恒之黑复现 一. 永恒之黑介绍 原理 2020年3月,微软公布SMB远程代码执行漏洞(CVE-2020-0796)又称“永恒之黑”,该漏洞由SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,没有检查长度是否合法,最终导致整数溢出,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执 阅读全文
摘要:
Metasplotiable靶场渗透 一. 信息收集 1. 获取IP地址 由于虚拟机和本主机在同一局域网下,可以使用ipconfig指令查看主机和靶场的网络地址,再使用Nmap对靶场进行扫描,进行信息收集。 IP地址的网络地址为192.168.172/24,使用Nmap扫描查找虚拟机对应IP地 阅读全文
摘要:
AES加密 一.加密流程 AES未使用Feistel结构。其前N-1轮由4个不同的变换组成:字节代替、行移位、列混淆和轮密钥加。最后一轮仅包含三个变换。而在第一轮前面有一个起始的单变换(轮密钥加),可以视为0轮。 字节代替(SubBytes):用一个S盒完成分组的字节到字节的代替。 行移位(S 阅读全文
摘要:
RC4加密 一. 介绍 在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种流加密算法(基于bit进行加密) ,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。所谓对称加密,就是加密和解密的过程是一样的。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采 阅读全文
摘要:
DES加密 一. DES加密流程 1. 初始置换 根据初始置换表,对输入的64位的明文按照比特位数进行替换。 即加密和解密的时候应该是一张8*8的表来进行替换。 2. f运算 f运算的参数为每一轮的密钥k和上一轮的R。 对于32位的输入数据首先经过拓展变换得到48位的数据,然后与48位的 阅读全文
摘要:
函数调用 一. 调用规范 ARM函数调用约定采用的是:ATPCS ATPCS的英文全称是ARM-THUMB procedure call standard(ARM-Thumb过程调用标准) 总结:参数1~参数4 分别保存到 R0~R3 寄存器中,剩下的参数从右往左一次入栈,被调用者实现栈平衡,返回值 阅读全文
摘要:
C.S远程指令控制 一. 模型结构 客户端: 客户端首先创建一个套接字,该套接字绑定的是目标IP和端口,在调用connect函数的时候将自己的IP和端口发送给服务器。 服务端: 服务端首先创建一个套接字,该套接字和自身IP以及端口绑定,在调用accept函数的时候,从缓冲区将客户端的IP和端口 阅读全文
摘要:
canary(金丝雀保护) 一. 介绍 Canary 的意思是金丝雀,来源于英国矿井工人用来探查井下气体是否有毒的金丝雀笼子。工人们每次下井都会带上一只金丝雀。如果井下的气体有毒,金丝雀由于对毒性敏感就会停止鸣叫甚至死亡,从而使工人们得到预警。 我们知道,通常栈溢出的利用方式是通过溢出存在于栈上的局 阅读全文
摘要:
GDB使用技巧 1.GDB启动 直接调试目标程序:gdb ./hello_server 附加进程id:gdb attach pid 调试core文件:gdb filename corename 2. 退出GDB 可以用命令:q(quit的缩写)或者 Ctr + d 退出GDB。 如果GDB atta 阅读全文