
网络安全
zacklin
这个作者很懒,什么都没留下…
展开
-
Win7配置驱动开发环境(wdk7.60)
1. 安装VS2010,WDK7.60(GRMWDK_EN_7600_1)2. 新建VC 控制台项目(选择为空项目) 3. 新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)输入名称(driver)点击确定就可以了,其他的不要动哦!完成后的效果!点击确定按钮之后呈现出来的画面鼠标右击新建的driver属性,会弹出以下窗口!原创 2012-08-20 14:59:19 · 7576 阅读 · 0 评论 -
如何正确地进入逆向领域 需要技术
从事Windows系统下的软件研发,已走过差不多9年的时光,在这段时间里认识不少朋友。在每认识一个新的朋友的时候,我都会被问到:如何学习破解,如何逆向,这类相关的问题。那么这篇文章我将会详细的介绍正确的方式。 [本内容适用领域] 1> 基于x86-64Bit Windows系统下的商业软件软件破解2> 商业注册码破解 3> 商业软件脱壳 4> Windows版本的游戏破解原创 2012-06-25 14:36:50 · 1724 阅读 · 0 评论 -
基于文件系统过滤驱动的信息安全防护技术
基本结构和工作原理 1.1文件系统工作原理? 在NT内核的Windows系统中,它的I/O子系统是由I/O管理器、可扩展的一组驱动程序和其它一些执行体服务组成。I/O管理器定义了一套驱动程序的框架或者说模型,定义了如何进行处理各种I/O操作。整个I/O子系统是包驱动的,绝大多数的输入输出请求都是使用I/O请求包(I/O Request Packet, IRP)来传递的。IRP在原创 2012-05-21 14:42:06 · 3152 阅读 · 1 评论 -
检测断开PsLoadedModuleList链的驱动
有空我还会写关于ssdt检测和修复的部分,我们可以把下面的例子在ssdt检测部分中加入,以解决一些rootkit隐藏了驱动,不能被成功枚举出来的问题PDIRECTORY_BASIC_INFORMATION pDriverBuffer = NULL;pDriverBuffer = (PDIRECTORY_BASIC_INFORMATION)m_cSysInfo.QueryDirector原创 2012-05-18 09:49:59 · 2441 阅读 · 0 评论 -
WINDOWS内核对象
WINDOWS内核对象 一.前言 Windows中有很多像进程对象、线程对象、文件对象等等这样的对象,我们称之为Windows内核对象。内核对象是系统地址空间中的一个内存块,由系统创建并维护。内核对象为内核所拥有,而不为进程所拥有,所以不同进程可以访问同一个内核对象。 二.内核对象结构 每个对象都有对象头和对象体组成。所有类型的对象头结构都是相同的,而结构体部原创 2012-05-17 15:28:45 · 700 阅读 · 0 评论 -
利用 NDIS 中间层驱动程序截获网络封包
(中国黑客数据库)由于互联网发展的历史原因, TCP/IP 协议及 HTTP 、 FTP 等基于 TCP/IP 协议的各种应用层协议,在协议设计之初均未考虑安全传输问题。随着互联网的发展,国际标准组织虽陆续推出了 SSL 、 HTTP1.1 等具有安全传输能力的应用层协议,但作为应用层承载协议的 TCP/IP 协议仍存在着固有的安全缺陷,造成至今未能有彻底的、低成本的、不需硬件支持的互联网安全传输转载 2012-05-17 14:01:05 · 1542 阅读 · 0 评论 -
INT3断点
INT3断点是断点的一种,在诸如Ollydbg中的快捷键是F2,是一种很常用的断点类型。INT3指令的机器码为CC,所以通常也称之为CC指令。当被调试进程执行INT3指令导致一个异常时,调试器就会捕捉这个异常从而停在断点处,然后将断点处的指令恢复成原来的指令。当然,如果自己写调试器,也可以用其他一些指令代替INT3指令来触发异常。 用INT3断点的好处是可以设置无数个断点,缺点是改变了原程序原创 2012-06-04 16:10:40 · 1095 阅读 · 0 评论 -
实现调用加壳的外壳中的子程序
加壳往往是实现对原PE的节数据加密、压缩,若能加壳的同时,让加壳后的程序调用壳中的某些子程序,那加壳强度大大增加。这样处理后,即使脱掉了壳,程序执行也肯定不正常,因为脱壳的同时也将这些子程序脱掉了! 怎样实现呢?作为探讨性的介绍,还是搞一个最基本的来说(假设现在您已经会写PE-exe、PE-dll等PE加壳程序): 我的实现是这样的:作为一个PE文件,多多少少程序中会有m原创 2012-05-14 17:12:14 · 832 阅读 · 0 评论 -
加壳软件的实现原理篇
加壳软件的实现原理篇 Author: x0R Heap Heap棕色:代表HEAP区,也就是动态分配的内存区域. Protected Program Program蓝色:代表被加密后的源程序代码区 En/De原创 2012-05-14 16:39:53 · 6546 阅读 · 0 评论 -
OllyDBG的使用
一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗原创 2012-06-25 15:54:00 · 1928 阅读 · 1 评论 -
WinDbg配置和使用基础
WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件1. WinDbg介绍: Debugging Tools and Symbols: Getting Startedhttp://www.microsoft.com/whdc/devtools/debugging/debugstart原创 2012-06-25 16:44:55 · 2742 阅读 · 0 评论 -
2012最新网站手工注入详解教程
想起 苦学技术的梯子真是感慨万千,别人在背英语句子,而卧却在背数据库语句,同样都是英文 ,可为啥咱英语成绩还是不及格-- 言归正传,现在sql注入工具可谓层出不穷,但是工具毕竟都是人写的,总会有不合适的地方,所以学会手工注入还是很重要的,今天的教程就给大家说说手工注入,新手一起来看,老鸟直接飞过好了。 动态脚本语言(例 asp php aspx jsp等),总会与数据库关联,带原创 2012-08-15 17:33:48 · 1656 阅读 · 0 评论 -
SQL注入过滤限制绕过方法
突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“’”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以也不敢对上述过滤的效果进行评论,但是可以肯定的是,效果不会很好……经过我的收集,大部分的防注入程序都过滤了以下关键字:and | select | update | chr | delete原创 2012-07-12 17:33:12 · 24570 阅读 · 2 评论 -
accept()函数
TCP服务器端依次调用socket()、bind()、listen()之后,就会监听指定的socket地址了。TCP客户端依次调用socket()、connect()之后就想TCP服务器发送了一个连接请求。TCP服务器监听到这个请求之后,就会调用accept()函数取接收请求,这样连接就建立好了。之后就可以开始网络I/O操作了,即类同于普通文件的读写I/O操作。int accept(int原创 2012-06-28 15:33:44 · 1103 阅读 · 0 评论 -
windows 网络编程经典入门
我现在的情况是OnAccept()中的异步事件注册不成功,用WSAGetLastError()获得的错误代码为0,用switch无法获得错误消息,下面是原代码,我的代码是在其基础上完善的,框架大致是一样的, 其实我想知道的是accept参数中的Socket参数是用server(正在监听的参数)还是用消息映射函数从Windows中获得的SOCKET pSock = (SOCKET)wPa原创 2012-06-28 15:11:47 · 784 阅读 · 0 评论 -
Windows网络编程杂谈
Windows网络编程杂谈关于bind: INADDR_ANY 的具体含义是,绑定到0.0.0.0。此时,对所有的地址都将是有效的,如果系统考虑冗余,采用多个网卡的话,那么使用此种bind,将在所有网卡上进行绑定。在这种情况下,你可以收到发送到所有有效地址上数据包。 例如: SOCKADDR_IN Local; Local.sin_addr.s_addr =原创 2012-06-28 14:12:32 · 787 阅读 · 0 评论 -
深度剖析WinPcap之(序言)——分析WinPcap源代码的缘由
过去我一直在开发软件,包括Windows操作系统的应用软件,Linux操作系统的应用软件与驱动程序,也开发过一些嵌入式软件,并在后来的工作中逐渐专注于对软件的测试工作,主要从事软件测试技术与测试方法、软件工程的研究。在此过程中与其他开发人员、测试人员一同工作,帮助他们构建达到工业级标准的软件,或者指导他们提高软件开发或测试的技术水平。随着不断的遇见问题、解决问题,我也在思考一个问题:那就是软件原创 2012-07-09 13:03:34 · 1502 阅读 · 0 评论 -
windbg 使用
WINDOWS调试工具很强大,但是学习使用它们并不容易。特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器)。本教程的目标是给予一个已经有其他调试工具使用经验的开发者足够信息,使其能通过参考WINDOWS调试工具的帮助文件进行内核调试。本文将假定开发者熟悉一般WINDOWS操作系统和进程的建立过程。本文的重点是集成内核模式和用户态模式的图形化调试器Win原创 2012-06-25 16:47:37 · 2266 阅读 · 0 评论 -
脱壳基础知识入门
现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳。越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的。除了密码学的应用,越来越多的软件加壳了,因此要求解密者必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛。壳发展到今天,强度越来越高了,将许多人挡在门外,使得原创 2012-05-14 17:15:14 · 4025 阅读 · 0 评论 -
浅谈壳的加载步骤及手动脱壳
浅谈壳的加载步骤及手动脱壳。 现在玩脱壳的人越来越多了,不知道是好事还是坏事。 现在玩手动脱壳一般三样工具足矣:loader,ImpREC,TRW2000。也许是这三剑客的功能太强大,因此手动脱壳也变得象流水化作业。大致以下几个步骤就搞定了。1)loader找OEP.(OEP就是程序原来的入口点,即Original Entry Point) 2)TRW2000来Dump。也就是原创 2012-05-14 17:03:38 · 1344 阅读 · 0 评论 -
VirtualProtect函数
首先我们来看看MSDN上对VirtualProtect函数的说明。BOOL VirtualProtect( LPVOID lpAddress, DWORD dwSize, DWORD flNewProtect, PDWORD lpflOldProtect ); 各参数的意义为:lpAddress,要改变属性的内存起始地址。dwSize,要改变属性的内存区原创 2012-04-19 16:38:29 · 40140 阅读 · 3 评论 -
php SQL 注入
很多 web 开发者没有注意到 SQL 查询是可以被篡改的,因而把 SQL 查询当作可信任的命令。殊不知道,SQL 查询可以绕开访问控制,从而绕过身份验证和权限检查。更有甚者,有可能通过 SQL 查询去运行主机操作系统级的命令。直接 SQL 命令注入就是攻击者常用的一种创建或修改已有 SQL 语句的技术,从而达到取得隐藏数据,或覆盖关键的值,甚至执行数据库主机操作系统命令的目的。这是通过应原创 2012-03-30 13:49:39 · 454 阅读 · 0 评论 -
远程OS探测中的网络协议栈指纹识别技术
摘要 远程探测计算机系统的OS(操作系统)类型、版本号等信息,是黑客入侵行为的重要步骤,也是网络安全中的一种重要的技术。在探测技术中,有一类是通过网络协议栈指纹来进行的。协议栈指纹是指不同操作系统的网络协议栈存在的细微差别,这些差别可以用来区分不同的操作系统。本文研究和分析了此技术的原理和实践,并提出了防止指纹探测的方法。关键词 远程OS探测、协议栈指纹、TCP/IP协议原创 2012-03-30 11:43:17 · 4077 阅读 · 0 评论 -
PHP SQL注入的安全规范
Php注入的安全防范通过上面的过程,我们可以了解到php注入的原理和手法,当然我们也同样可以制定出相应该的防范方法: 首先是对服务器的安全设置,前面的windows服务器的安全设置我们已经讲了,不再重复,这里主要是php+mysql的安全设置和linux主机的安全设置。对php+mysql注射的防范,首先将magic_quotes_gpc设置为On,display_errors设置为Off,原创 2012-03-30 14:00:58 · 535 阅读 · 0 评论 -
黑客入侵网站必备Sql语句:
1. 判断有无注入点 ; and 1=1 and 1=2 2.猜表般表名称无非admin adminuser user pass password 等.. and 0(select count(*) from *) and 0(select count(*) from admin) ---判断否存admin这张表 3.猜帐号数目 如果遇00)-- a原创 2012-03-30 11:59:02 · 1050 阅读 · 0 评论 -
入侵php网站需注意哪些
1.linux下寻找web绝对路径的办法 这个办法很简单 一般来说,linux+apache+mysql是常见搭配,mysql注入可以使用load_file来读取文件信息.但需要知道web绝对路径. 我使用了如下方法: 读取默认的apache的httpd.conf文件.这是个配置文件,ascii码.里面有个document root变量,后接的就是网站的绝对路径.对于虚拟转载 2012-03-29 15:49:44 · 1022 阅读 · 0 评论 -
实例入侵网站数据库
在写这篇文章之前,有必要对"注入"一词阐述一下。区别于通常的SQL注入,这里的注入实际上只是构造HTTP请求报文,以程序的方式代替WEB提交页面,实现数据的自动提交。嘿嘿,说到这,我看到你诡异的笑容了,我们只要写个循环,用什么语言你说了算,向特定的WEB页面发送HTTP报文,只要几分钟,呵呵他的本本就爆了,而且......嘿、嘿、嘿......偶喝杯茶,接下再写。 首先,还是温习一下原创 2012-03-29 15:28:30 · 12697 阅读 · 2 评论 -
一次完整的入侵检测
目标:取得管理员权限,在网站中留一个网页,收集漏洞情况。 计划:第一天进行踩点,第二天测试进攻,第三天看看网站的论坛……最终取得管理员权限。 1. 好久没有入侵了,很多都不会了,不过步骤还是要的。首先进行踩点(我踩踩踩!!),当然不是盲目的去扫描,先ping了一下他的网站。 Ping www.inday.com Pinging www.inday.c原创 2012-03-28 15:32:52 · 4493 阅读 · 0 评论 -
详解常见漏洞扫描器及网络扫描技术(图)
随着互联网的飞速发展,网络安全逐渐成为一个潜在的巨大问题,如何保障自身网络的安全,其中一个主要的方法就是自查自纠,而在这个过程中,对自己的网络进行扫描成为一种较为快捷、直观、简单的方法。扫描技术基于TCP/IP协议,对各种网络服务,无论是主机或者防火墙、路由器都适用。同时, 扫描可以确认各种配置的正确性,避免遭受不必要的攻击。网络扫描是一把双刃剑,对于安全管理员来说,可以用来确保自己系统的安全性,原创 2012-03-29 10:18:20 · 12578 阅读 · 0 评论 -
upx加壳原理
upx的功能有两种描述。一种叫做给程序加壳,另一种叫压缩程序。其实这两种表述都是正确的,只是从不同的角度 对upx的描述。 upx的工作原理其实是这样的:首先将程序压缩。所谓的压缩包括两方面,一方面在程序的开头或者其他合适的地方 插入一段代码,另一方面是将程序的其他地方做压缩。压缩也可以叫做加密,因为压缩后的程序比较难看懂,主要是 和原来的代码有很大的不同。最大的表现也就是他的主要作用就是原创 2012-04-01 13:30:02 · 15526 阅读 · 0 评论 -
讲述UPX壳的运行原理
加壳软件可分为两类:一类是压缩,一类是保护。压缩的目的是减少程序体积,如ASPack、UPX、PECompact等。保护是为了防止程序被跟踪和调试,如ASProtect、幻影。壳的存在会让我们找不到程序的真实入口点,从而不能正确的分析反汇编程序,也就对程序起到了一定的保护作用。下面我们一起来认识一下一个程序有壳和没有壳的区别以及带UPX壳的一些特征,同时,我们也可以了解一下PE文件的结构。开始之前原创 2012-04-01 13:47:38 · 7698 阅读 · 0 评论 -
Inline Hook 之(监视任意函数)
前面已经写过两次inline hook的博文了,第一篇为:《C/C++ HOOK API(原理深入剖析之-LoadLibraryA)》,这篇博文的方法是通过修改任意函数的前面N个字节,实现跳转并进入到我们自定义的hook函数里,执行完毕我们的hook函数之后,再直接调用被hook的函数。第一篇的方法没有考虑多线程的情况,所以在多线程环境下会有问题。第二篇为:《 Inline HOOK API原创 2012-04-19 16:10:09 · 2289 阅读 · 1 评论 -
PHP漏洞全解(九)-文件上传漏洞
一套web应用程序,一般都会提供文件上传的功能,方便来访者上传一些文件。下面是一个简单的文件上传表单form action="upload.php" method="post" enctype="multipart/form-data" name="form1"> input type="file" name="file1" />br /> input type="submit" valu原创 2012-04-16 09:42:11 · 614 阅读 · 0 评论 -
PHP漏洞全解(七)-Session劫持
服务端和客户端之间是通过session(会话)来连接沟通。当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session。每个用户的session都是独立的,并且由服务器来维护。每个用户的session是由一个独特的字符串来识别,成为session id。用户发出请求时,所发送的http表头内包含session id 的值。服务器使用http表头内的session id来识别时哪个用户提原创 2012-04-16 09:40:57 · 1623 阅读 · 0 评论 -
PHP漏洞全解(六)-跨网站请求伪造
CSRF(Cross Site Request Forgeries),意为跨网站请求伪造,也有写为XSRF。攻击者伪造目标用户的HTTP请求,然后此请求发送到有CSRF漏洞的网站,网站执行此请求后,引发跨站请求伪造攻击。攻击者利用隐蔽的HTTP连接,让目标用户在不注意的情况下单击这个链接,由于是用户自己点击的,而他又是合法用户拥有合法权限,所以目标用户能够在网站内执行特定的HTTP链接,从而达到攻原创 2012-04-16 09:40:03 · 1094 阅读 · 0 评论 -
PHP漏洞全解(四)-xss跨站脚本攻击
XSS(Cross Site Scripting),意为跨网站脚本攻击,为了和样式表css(Cascading Style Sheet)区别,缩写为XSS跨站脚本主要被攻击者利用来读取网站用户的cookies或者其他个人数据,一旦攻击者得到这些数据,那么他就可以伪装成此用户来登录网站,获得此用户的权限。跨站脚本攻击的一般步骤:1、攻击者以某种方式发送xss的http链接给目标用户2原创 2012-04-16 09:39:03 · 528 阅读 · 0 评论 -
PHP漏洞全解(二)-命令注入攻击
命令注入攻击PHP中可以使用下列5个函数来执行外部的应用程序或函数system、exec、passthru、shell_exec、“(与shell_exec功能相同)函数原型string system(string command, int &return_var) command 要执行的命令 return_var 存放执行命令的执行后的状态值string原创 2012-04-16 09:37:48 · 629 阅读 · 0 评论 -
PHP漏洞全解(八)-HTTP响应拆分
HTTP请求的格式1)请求信息:例如“Get /index.php HTTP/1.1”,请求index.php文件2)表头:例如“Host: localhost”,表示服务器地址3)空白行4)信息正文“请求信息”和“表头”都必须使用换行字符(CRLF)来结尾,空白行只能包含换行符,不可以有其他空格符。下面例子发送HTTP请求给服务器www.yhsafe.comGET /原创 2012-04-16 09:41:34 · 1855 阅读 · 0 评论 -
ActiveX 控件漏洞挖掘方法
ActiveX是微软公司提出,并在1996年被正式命名的组件技术。该技术提供了一种通用的开放程序接口,使用这种技术开发的ActiveX控件可以直接集成到IE浏览器或第三方应用程序中,但由于第三方编程等问题,控件的漏洞越来越多,很容易被攻击者利用进行破坏及窃取信息等活动,给个人和企业带来很大损失。本文结合H3C攻防研究团队在攻防研究过程中的经验和体会,阐述ActiveX控件漏洞产生的原理及漏洞挖掘方原创 2012-04-01 11:08:36 · 4988 阅读 · 0 评论 -
渗透过程中获取root权限的一个案例
最近在一次渗透测试中对权限的提升了有了一点思路,不是说多清晰,但却是从无到有。 测试过程: 1、首先探测目标。 经过探测,确认目标网站采用Linux+Apache+Tomcat+MySQL架构,其论坛则采用Discuz 6.0(PHP)。 2、确定攻击方向。 经过简单测试,网站管理后台不存在常见用户名和密码组合,同时Tomcat 无弱口令漏洞,而Discuz原创 2012-03-29 10:11:38 · 2099 阅读 · 0 评论