您的位置:程序门 -> c/c++ ->



利用hook和特征匹配做iis服务器防护系统时出现的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


利用hook和特征匹配做iis服务器防护系统时出现的问题
发表于:2007-06-01 14:43:23 楼主
近期在做一个防范网络攻击iis服务器的系统,设想是先利用hook技术钩住iis服务器的wsarecv,recv接受数据的函数,用自己的监测函数对接收的数据进行检测处理后,返回正常的wsarecv,recv处理。现在已经可以获取服务器接收的数据.
          现在出现的问题是:即使钩子函数不返回服务器wsarecv,recv处理,网站照样可以被访问。
          这个过程中用到了detour工具。
          函数框架如下:
      钩iis的recv函数:
bool   apientry   dllmain(   hmodule   hmodule,
                                              dword     dwreason,
                                              lpvoid   lpreserved
  )
{     ...............
        detourattach(&(pvoid&)truerecvfrom,   myrecvfrom);  
      detourattach(&(pvoid&)truewsarecv,   mywsarecv);
...................}

   
  插入的钩子函数:

int     winapi   mywsarecv(socket   s,lpwsabuf   lpbuffers,dword   dwbuffercount,lpdword   lpnumberofbytesrecvd,lpdword   lpflags,lpwsaoverlapped   lpoverlapped,lpwsaoverlapped_completion_routine   lpcompletionroutine)

{
                        ..........
      ............                    
     
int   h   =   truewsarecv(s,   lpbuffers,   dwbuffercount,   lpnumberofbytesrecvd,   lpflags,   lpoverlapped,   lpcompletionroutine);  //////
         
        .........对数据进行检测的函数............

  return   h;
}    

    现在已经可以将iis服务器接收的数据拿到,问题就出现在:即使不执行int   h   =   truewsarecv(),网站同样可以被访问。

请问是什么原因?   hook技术可以将iis服务器接收的数据完全阻断吗?即可以阻断对服务器的访问吗/?
发表于:2007-06-01 14:52:241楼 得分:0
帮顶一个。。


快速检索

最新资讯
热门点击