- 博客(29)
- 收藏
- 关注
转载 c++登陆邮箱
头文件[cpp] view plaincopy/*********************************************************************** *发送邮件模块头文件 *可以发送文本和附件(支持多个附件一起发送) ****************************************
2013-11-22 10:58:33
2230
转载 SQL注入漏洞全接触
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性 ...随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据
2013-11-18 22:40:31
895
转载 读源码笔记--文件过滤驱动FileSpy第4篇 -- 关于IRP_MJ_FILE_SYSTEM_CONTROL
前面3篇,已经读完了绑定一个文件系统被挂载时,绑定的操作。这里得说一下总体的框架视角下,需要绑定的东西。 1:变动回调里实现绑定,这个绑定是文件系统被挂载或取消时,需要实现的。2:变动回调已经掉过了,就是说文件过滤驱动已经加载,并运行。新来某个文件系统的储存设备,也需要绑定。 这里变动回调里面已经绑定了已经存在的卷设备,那么新加上来的存储设备,如何绑定?看下
2013-11-18 22:11:04
2144
转载 读源码笔记--文件过滤驱动FileSpy第3篇 -- 绑定VDO
在第2篇已经看到,SpyFsNotification中成功绑定了文件系统的控制设备对象CDO,然后判断编译版本时,如果是XP及以后的OS版本,就直接枚举文件系统下的所有的已经挂载了的卷设备,并绑定他们。 在看函数SpyEnumerateFileSystemVolumes之前,复习前面2篇的过程。DriverEntry里面主要做4件事:1:创建设备,该设备用来与应用层
2013-11-18 22:10:30
1211
转载 读源码笔记--文件过滤驱动FileSpy第2篇 -- 绑定CDO
第一篇中,已经解读了DriverEntry这个函数,函数里面就是做了一些初始化工作,创建用于通信的设备,设置各种回调,注册文件系统变动回调等等。今天接着看filespy.c中的SpyFsNotification函数。该函数是IoRegisterFsRegistrationChange注册的文件系统变动回调函数。先看这个的理由如下:在没看任何代码前,我的思维是:首先绑定系统中的所有物
2013-11-18 22:09:09
1448
转载 读源码笔记--文件过滤驱动FileSpy第1篇 -- DriverEntry
今天只读FileSpy的DriverEntry,位于源文件:filespy.c。//// 全局变量.//ULONG gFileSpyDebugLevel = DEFAULT_FILESPY_DEBUG_LEVEL;#if WINVER >= 0x0501ULONG gFileSpyAttachMode = FILESPY_ATTACH_ALL_VOLUMES;#
2013-11-18 22:08:22
1755
转载 Cookie注入攻防实战
Web攻防系列教程之 Cookie注入攻防实战2012-08-23 17:01:09摘要:随着网络安全技术的发展,SQL注入作为一种很流行的攻击方式被越来越多的人所知晓。很多网站也都对SQL注入做了防护,许多网站管理员的做法就是添加一个防注入程序。这时我们用常规的手段去探测网站的SQL注入漏洞时会被防注入程序阻挡,遇到这种情况我们该怎么办?难道就没有办法了吗?答案是否定
2013-09-24 17:28:37
1340
转载 Sqlmap注入技巧收集
收集了一些利用Sqlmap做注入测试的TIPS,其中也包含一点绕WAF的技巧,便于大家集中查阅,欢迎接楼补充、分享。TIP1当我们注射的时候,判断注http://site/script?id=10http://site/script?id=11-1 # 相当于 id=10http://site/script?id=(select 10) #
2013-08-13 09:46:20
629
转载 病毒
第1章 假想的病毒程序 假如您对病毒的了解象人们对尼斯湖怪的了解一样少,那么读了下面的程序,你会发现怪? 一个批处理病毒 你第一次用批处理编程序是在几年前?你是否想象过下面的批处理也是一个病毒? @ECHO OFF REM 文件名 VIRUS.BAT REM 本病毒感染自动执行批处理文件 IF DRIVE=="A:\" GOTO END123
2013-08-06 09:42:06
670
转载 加载驱动过程
用instDrv加载驱动,用CreateService()函数等等过程如下,1,先是它向Service进程注册服务。2,然后Service进程调用ZwLoadDriver()加载驱动。进入NtLoadDriver()系统调用,它先会检测SerVice进程(当前进程)是不是有加载驱动的权限,然后检测当前进程是不是System进程,是的话直接调用IopLoadUnloadDriver(
2013-06-19 10:17:08
1495
转载 Inline Hook 之(监视任意函数)
前面已经写过两次inline hook的博文了,第一篇为:《C/C++ HOOK API(原理深入剖析之-LoadLibraryA)》,这篇博文的方法是通过修改任意函数的前面N个字节,实现跳转并进入到我们自定义的hook函数里,执行完毕我们的hook函数之后,再直接调用被hook的函数。第一篇的方法没有考虑多线程的情况,所以在多线程环境下会有问题。第二篇为:《 Inline HOOK API
2013-05-30 20:12:19
645
转载 IoBuildDeviceIoControlRequest
重要函数学习:IoBuildDeviceIoControlRequest这个函数主要用来构造一个用于设备i/o控制请求的irp包,该irp包将被同步处理,其原型如下: 参数解释: IoControlCode 提供i/o控制请求所需的i/o控制码。这个i/o控制码可以在msdn中查询到。
2013-05-30 20:11:41
1194
转载 获取PCI设备并初始化
PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是可以由操作系统决定映射的基址。系统加电时,BIOS检测PCI总线,确定所有连接在PCI总线上的设备以及它们配置要求,并进行系统配置。所以,所有PCI设备必须实现配置空间,从而能实现参数
2013-05-30 20:11:10
992
转载 IRP_MN_START_DEVICE分发例程中的前进和等待IRP总结
当PnP管理器检测到硬件时,它首先参考注册表以了解有哪些过滤器驱动程序将管理该硬件。如果必要(某些驱动程序可能因为其它硬件的需要已经被系统装入)它将装入这些驱动程序,并调用它们的AddDevice函数。最后AddDevice函数创建设备对象并连入设备堆栈。此后,PnP管理器将为所有设备驱动程序分配I/O资源。一旦资源分配确定,PnP管理器通过向每个设备发送一个带IRP_MN_START_D
2013-05-30 20:10:17
626
转载 WDM驱动程序的基本结构和实例
WDM驱动的基本结构:WDM驱动模型是建立在NT式驱动程序模型基础之上的。对于WDM驱动程序来说,一般都是基于分层的,即完成一个设备的操作,至少要由两个驱动设备共同完成。 1)物理设备对象和功能设备对象物理设备对象(Physical Device Object,PDO)和功能设备对象(Function Device Object,FDO)的关系是“附加”与“被附加”
2013-05-30 20:08:54
550
转载 vc 结束线程
vc 结束线程2008-05-19 10:34在wtl工程中定义一个现成,如下:DWORD WINAPI ThreadFunc( LPVOID pParam ){if( g_pMainlg )g_pMainlg->DoEnumNetwork();return 0;}void CMainDlg::StartTreeThread(){DW
2013-05-29 15:06:10
700
转载 指针函数与函数指针的区别
1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:
2013-03-11 08:48:35
296
转载 回溯与递归算法的区别
回溯算法其实是一种试探,该方法放弃关于问题规模大小的限制,并将问题的方案按某种顺序逐一枚举和试验。发现当前方案不可能有解时,就选择下一个方案,倘若当前方案不满足问题的要求时,继续扩大当前方案的规模,并继续试探。如果当前方案满足所有要求时,该方案就是问题的一个解。放弃当前方案,寻找下一介方案的过程称为回溯。 而递归算法依赖与前一步的结果,它的结果来源于一条主线,是确定的,而不是试探的结果,这就是
2013-02-18 11:11:51
755
转载 代码注入 API HOOK(非DLL)[转]
原文:http://blog.csdn.net/dalixux/archive/2008/10/14/3072436.aspx使用代码注入来实现进程隐藏 而不是使用DLL注入来实现进程隐藏 没有什么高级技术 纯体力活 原理就不说了 只是没有通过DLL注入 来实现HOOK API从核心编程 以来 似乎 一提到C注入 就是DLL注入 很奇怪 为什么没人写个完整的代码注入
2012-11-08 16:29:26
569
转载 提权的实现
要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_ACCESS,FALS
2012-11-08 11:07:28
306
转载 代码注入之远程线程篇
引子 前些日子由于项目要求,在网上到处找资料,于无意中发现了 CodeProject 上的一篇很老的文章,文章标题为:Three Ways to Inject Your Code into Another Process这篇文章呢,出来很久咯,还是 03 年的文章了,可惜我弄底层弄得时间不久哦,不然应该早就看过这篇大作了,由于是大作,而且出来
2012-11-07 15:39:40
396
转载 进程隐藏与进程保护(SSDT Hook 实现)(三)
文章目录: 1. 引子:2. 获取当前系统下所有进程:3. 服务管理(安装,启动,停止,卸载):4. 应用程序和内核程序通信:5. 小结: 1. 引子: 关于这个 SSDT Hook 实现进程隐藏和进程保护呢,
2012-11-07 15:38:21
469
转载 进程隐藏与进程保护(SSDT Hook 实现)(二)
文章目录: 1. 引子 – Demo 实现效果:2. 进程隐藏与进程保护概念:3. SSDT Hook 框架搭建:4. Ring0 实现进程隐藏:5. Ring0 实现进程保护:6. 隐藏进程列表和保护进程列表的维护:7. 小结: 1. 引子 – Demo
2012-11-07 15:36:22
1186
转载 进程隐藏与进程保护(SSDT Hook 实现)(一)
文章目录: 1. 引子 – Hook 技术:2. SSDT 简介:3. 应用层调用 Win32 API 的完整执行流程:4. 详解 SSDT:5. SSDT Hook 原理:6. 小结: 1. 引子 – Hook 技术: 前面一篇博文呢介绍了代码的注入
2012-11-07 15:34:33
428
转载 vs2008 C++创建和调用标准DLL
为了共享代码,需要生成标准的dll,本文将介绍在vs2008 C++生成及调用dll。一、生成DLL 生成一个名为FunDll的dll文件,对外函数为addl。 step1:vs2008 环境下,文件-->新建项目,选择visual c++,在选择 “Win32 项目”,键入项目名称,如 FunDll。如图: 点击下一步,勾选“DLL”和“导出
2012-11-01 14:22:49
605
转载 VS2008环境下,C++生成Dll文件 C++调用Dll文件(非MFC)
生成Dll文件新建项目,选择Win32项目,工程名:09DllDemo 确定后,选择应用程序设置, 应用程序类型选择DLL(D),附加选项上选择 导出符号(X)(便于学习)。单击完成,完成工程创建。---------------------------------------------------------------------------------------------
2012-11-01 14:05:08
520
原创 修改IAT法来hook api
通过学习PE文件的基本知识,实现一个hook api,并利用MessageBox来简单测试:#include #include #include using namespace std;typedef int(WINAPI* PFNMESSAGEBOX)(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);int* a
2012-10-31 14:27:31
466
转载 PE简介
一.PE简介PE全名Portable Executable File Format(可移植的执行体),是目前window主流可执行文件格式, 是一种通用于所有window平台和所有CPU上的文件格式二.PE文件的定义PE文件的类型定义集中在WinNT.h这个类中,打开WinNT.h,再搜索Image Format(搜到的在9560行),为什么叫Image Format,
2012-10-31 14:18:49
1548
2
转载 RING3代码HOOK的原理实现
最初看见俄国一份DELPHI代码这样实现,他的优点在于1, 在代理函数的内部不用先UNHOOK,再调用,再重新HOOK,否则多线程下会出问题 2, 没有硬编码,结构性比较好。#include #include #include using namespace std;#define bt 5unsigned int* Oldpro;typedef int (_stdcall * MY
2012-10-31 14:08:49
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人