利用HOOK技术捕获IIS服务器的数据时出现的问题

licheng123456_0 2007-06-01 02:33:53
近期在做一个防范网络攻击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 argc, char *argv[])


{
LPWSABUF p_buf;
p_buf = lpBuffers;
..........
............

int h = TrueWSARecv(s, lpBuffers, dwBufferCount, lpNumberOfBytesRecvd, lpFlags, lpOverlapped, lpCompletionRoutine);

.........对数据进行检测的函数............

return h;
}

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

请问是什么原因? hook技术可以将iis服务器接收的数据完全阻断吗?即可以阻断对服务器的访问吗/?

...全文
216 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallcrocodile 2007-06-05
  • 打赏
  • 举报
回复
研究

9,506

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧