一、介绍NTDLL 解除挂钩是将加载进程中的钩子 DLL 替换为未更改的未钩子版本,用未挂钩的版本替换挂钩的 DLL 需要手动设置 IAT、修复重新分配和其他繁琐的任务。为了避免这种情况, .text...
从windows缓冲区溢出到执行shellcode
0x00 背景介绍缓冲区溢出:当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被填满从而覆盖了相邻内存区域的数据。可以修改内存数据,造成进程劫持,执行恶意代码,获取服务器控制权...
IDA技巧(114)分割偏移量
我们已经讨论过 偏移量表达式,这些表达式可以适应单个指令操作数或数据值。但情况并不总是如此,所以让我们看看IDA如何处理可能由多个部分构成的偏移量。8位处理器尽管逐渐被淘汰,8位处理器——尤其是经典的...
crossfire1.9.0版本缓冲区溢出攻击到提权:linux32位
本篇文章旨在为缓冲区溢出软件漏洞学习。通过阅读本文,读者将能够对linux32位缓冲区溢漏洞有一定的了解一、前言1、申明来自本公众号的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网...
IDA技巧(110)自相对偏移量
我们之前讨论过偏移量与基址。在位置无关代码中,常常使用一种偏移量的变体,通过一个小技巧可以轻松处理。让我们来看一个来自ARM32固件的ARM函数:IDA将地址88和8C处的值转换为偏移量,因为它们恰好...
IDA技巧(105)自定义基址的偏移量
我们之前已经讨论过简单偏移量,即操作数值或数据值与程序中的地址匹配,因此可以直接转换为偏移量。然而,程序也可能采用更复杂或间接的方式来引用位置。一种常见的方法是使用从某个预定义基址的小偏移量。从寄存器...
IDA技巧(104)立即数搜索
立即数搜索是IDA中三种主要搜索类型之一。虽然不太为人所知,但在某些情况下非常有用。以下是一些例子。独特(魔法)常量如果你知道程序中使用的一些独特常量,寻找它们可以让你缩小需要分析的代码范围。例如,如...
缓冲区溢出到getshell提权
页面前端修改 打开Web页面 F12修改前端输入限制为3000 测试溢出长度 python生成数据,复制 print('A' * 800) 将脏数据粘贴到User Name 结果程序崩溃...
【干货】免杀-偏移量混淆shellcode
偏移量前几天听了公司大佬的免杀分析啊,很牛逼其中有一种混淆shellcode的方式比较有趣,就是使用偏移量来混淆,今就偷摸来分享分享大佬思路大佬是用的C++,在win找一个所有版本都存在的文件,读取该...
IDA技巧(90)可疑操作数限制
虽然在一般情况下,正确的反汇编问题是无法解决的,但在实践中可以非常接近。IDA使用各种启发式方法来改进反汇编并使其更易读,例如在“看起来合理”的情况下将数值转换为偏移量。然而,这并不总是可靠或成功的,...
探究vxworks文件名恢复
VxWorks以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。美国的F-16、F/A-18战斗机、B...
IDA 技巧(75) IDA 中使用联合体
在C语言中,联合体是一种类似于结构体的类型,但其所有成员(可能是不同类型)共享同一块内存,彼此重叠。它们被用于需要以不同方式解释相同数据的场合,或者在存储不同类型的数据时节省内存(这在脚本引擎等中很常...