摘要:深入分析Windows和Linux动态库应用异同作者:刘世栋 杨林摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visua...
阅读全文
随笔分类 - 程序设计
摘要:从头到脚了解缓冲溢出作者:Wendy在这份指南中,我们将讨论什么是缓冲溢出和怎么样去使用它。你必须了解C语言和汇编语言,如果熟悉GDB的话更加好,当然这不是很必要的。 (Memory organization)存储器分为3个部分 1. 文本区域(程序区) 这个部分是用来存储程序指令的.所以,这个区域被标示为只读,任何写的操作都将导致错误。 2. 数据区域 这个部分存储静态变量,它的大小可以由brk...
阅读全文
摘要:绕过缓冲溢出防护系统 --[1-介绍近来一段时间,一些商业化的安全机构开始提出一些方案来解决缓冲区溢出问题。本文分析这些保护方案,并且介绍一些技术来绕过这些缓冲区溢出保护系统. 现在不少商业化组织创造了许多技术来防止缓冲区溢出。最近,最流行的一种技术是栈回溯技术,它是一种最容易实现的防溢出技术,但是同时它也是最容易被攻击者绕过的一项技术. 值得一提的是,许多著名的商业化产品,比如Entercept...
阅读全文
摘要:挂钩Windows API 作者: SoBeIt =====[ 1. 介绍 ]==================================================== 这篇文章是有关在OS Windows下挂钩API函数的方法。所有例子都在基于NT技术的Windows版本NT 4.0及以上有效(Windows NT 4.0, Windows 2000, Windows XP)。可能...
阅读全文
摘要:多线程DDOS攻击 作者: 特务 #include "stdafx.h" #include #include #include #pragma comment(lib,"WS2_32.LIB") typedef struct tag_ip_Header//ip首部 { unsigned char h_verlen;//4位手部长度,和4位IP版本号 unsigned cha...
阅读全文
摘要:堆栈溢出系列讲座 序言: 通过堆栈溢出来获得root权限是目前使用的相当普遍的一项黑客技术。事实上这是一个黑客在系统本地已经拥有了一个基本账号后的首选攻击方式。 他也被广泛应用于远程攻击。通过对daemon进程的堆栈溢出来实现远程获得rootshell的技术,已经被很多实例实现。 在windows系统中,同样存在着堆栈溢出的问题。而且,随着internet的普及, win系列平台上的interne...
阅读全文
摘要:windows进程中的内存结构 基础知识:堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称为入栈和出栈。有一组CPU指令可以实现对进程的内存实现堆栈访问。其中,POP指令实现出栈操作,PUSH指令实现入栈操作。CPU的ESP寄存器存放当前线程的栈顶指针,EBP寄存器中保存当前线程的栈底指针。CPU的E...
阅读全文
摘要:Windows系统下的远程堆栈溢出 作者: Ipxodi 第一篇 《原理篇》 ----远程溢出算法 如何开一个远程shell呢? 思路是这样的:首先使敌人的程序溢出,让他执行我们的shellcode。我们的shellcode的功能就是在敌人的机器上用某个端口开一个telnetd 服务器,然后等待客户来的连接。当客户连接上之后,为这个客户开创一个cmd.exe,把客户的输入输出和cmd.exe的输入...
阅读全文
摘要:Windows下的HEAP溢出及其利用 作者: isno 一、概述 前一段时间ASP的溢出闹的沸沸扬扬,这个漏洞并不是普通的堆栈溢出,而是发生在HEAP中的溢出,这使大家重新认识到了Windows下的HEAP溢出的可利用性。其实WIN下的HEAP溢出比Linux和SOLARIS下面的还要简单得多,大家肯定已经都搞明白了,我来做是一个总结,以免自己将来忘了。由于缺乏这方面的资料及源代码,所有的分析结...
阅读全文
摘要:IIS4.0的.htr映射ism.dll溢出攻击程序 作者: 袁哥 /*----------------------------------------------------------*/ /* IIS4.0的.htr映射ism.dll溢出攻击程序 */ /* 本程序实现所有语言版本WINDOWS下的溢出攻击。 */ /* SHELLCODE代码实现绑定cmd.exe功能,实现上传、 */ /...
阅读全文
摘要:一种新的穿透防火墙的数据传输技术 作者: ZwelL 使用该技术背景: 在目标主机安放后门,需要将数据传输出去,同时数据很重要,动作不能太大.其他情况"严重"不推荐使用该技术(后面我会讲到为什么). 针对目前防火墙的一些情况,如果自己的进程开一个端口(甚至是新建套接字)肯定被拦.相反,有一点我们也很清楚:被防火墙验证的进程在传送数据时永远不会被拦.所以,我的思路很简单:将其他进程中允许数...
阅读全文
摘要:Win32环境下动态链接库(DLL)编程原理 比较大应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空...
阅读全文
摘要:SEH in ASM研究 作者: Hume 第一部分 基础篇 PART I 简单接触 一、SEH背景知识 SEH("Structured Exception Handling"),即结构化异常处理.是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器.在VISUAL C++中你或许已经熟悉了_try{} _finally{} 和_try{} _except {} 结构,...
阅读全文
摘要:微软ping程序源代码完整版 作者:侯志江 编写自己的一个ping程序,可以说是许多人迈出网络编程的第一步吧!!这个ping程序的源代码经过我的修改和调试,基本上可以取代windows中自带的ping程序. 各个模块后都有我的详细注释和修改日志,希望能够对大家的学习有所帮助!! /* 本程序的主要源代码来自MSDN网站, 笔者只是做了一些改进和注释! 另外需要注意的是在Build之前,必须加入w...
阅读全文
摘要:获取Windows系统的进程运行信息 作者:胡小文 自从出现windows系统以来,各种各样的软件层出不穷。购买或者免费下载以后,轻轻点击Install或者Setup以后,稍作些许简单配置就完成安装的整个过程。显然这给用户带来了许多方便,但对用户来说这些软件似乎是个"黑匣子",展现在用户面前的仅仅是华丽的外表和简洁的操作,至于软件运行过程中调用了哪些文件和模块文件就无法知道了。或许真正希望了解这些...
阅读全文
摘要:--[ 1 - 简介 本文将向你展示,Linux的网络堆栈的一些怪异行为(并不一定是弱点)如何被用于邪恶的或者是其它形形色色的目的。在这里将要讨论的是将表面上看起来合法的Netfilter hook用于后门的通信,以及一种使特定的网络通信在运行于本机的基于Libpcap的嗅探器中消声匿迹的技术。 Netfilter是Linux 2.4内核的一个子系统,Netfiler使得诸如数据包过滤、网络地址转...
阅读全文
摘要:HOOK专题 作者: 姜山 基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程...
阅读全文
摘要:UNIX编程资料 第一章 概述 1.1UNIX的版本 UNIX操作系统是贝尔实验室于六十年代末用C语言研制开发的。经过几十年的发展,已经成为流行于从大型机、小型机到工作站甚至微机等多种平台的操作系统。UNIX的成功同时也推动了C语言的普及。本教材的目的是讲解UNIX系统下的C程序设计,使C程序员快速掌握UNIX系统下的编程开发。作者在进行UNIX编程开发的实践过程中,深感实例的重要性-一个简短的C...
阅读全文
摘要:Ack报文反射代码 作者:小金 #include #include #define false 0 #define true 1 #define SEQ 0x28376839 int x=-1,k,j; int rndX=0; struct IP { char ip[20]; }; struct IP IPtemp[32767]; typedef struct ip_hdr //...
阅读全文
摘要:MBR代码分析 机器加电或按reset键后都要进行系统复位,复位后CS=FFFFH,IP=0000H那么自然就从FFFF:0000H处开始执行指令,这个地方只有一条JMP指令跳转到系统自检程序处,系统自检完成后把软盘的第一个扇区(如果由软盘启动)或者硬盘的第一个扇区,即MBR扇区(如果由硬盘启动)读入到0:7C00H处,然后把控制权交出,从0:7C00H处继续执行,下面就是硬盘的MBR代码分析。其...
阅读全文