如何使用Python多线程测试并发漏洞


Posted in Python onDecember 18, 2019

这篇文章主要介绍了如何使用Python多线程测试并发漏洞,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

需求介绍

有时候想看看Web应用在代码或者数据库层有没有加锁,比如在一些支付、兑换类的场景,通过多线程并发访问的测试方式可以得到一个结论。

步骤

1. Burp Suite安装插件

安装一个Copy As Python-Requests插件,提高编码效率;

如何使用Python多线程测试并发漏洞

2. 拦截包并拷贝发包的代码

如何使用Python多线程测试并发漏洞

打开一个文本编辑器,右键粘贴出来:

import requests

burp0_url = "https://www.baidu.com:443/s?word=test123&tn=50000021_hao_pg&ie=utf-8&sc=UWd1pgw-pA7EnHc1FMfqnHRdnHfkP163PWD3PzuW5y99U1Dznzu9m1Y1rj0zPjRYP1Ds&ssl_sample=s_108&srcqid=2890185856410820647&H123Tmp=nu"
burp0_cookies = {"BAIDUID": "DE39C3557AA883A517F3717D9ED1B346:FG=1", "BIDUPSID": "DE39C3557AA883A517F3717D9ED1B346", "PSTM": "1548660573", "BD_UPN": "13314352", "H_PS_PSSID": "1431_21111_18560_28585_26350_28519", "H_PS_645EC": "0701XLkxqPa8GpBa6wBJs%2BrZyNuhMOA%2FIRfHCR7YuUcETmxXSKm0g32CT0c", "delPer": "0", "BD_CK_SAM": "1", "PSINO": "1", "BDSVRTM": "142"}
burp0_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Referer": "https://www.hao123.com/", "Connection": "close", "Upgrade-Insecure-Requests": "1"}
requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)

3. 运行Python多线程代码

将生成的python代码粘贴到action( )函数里面即可;

import threading
import requests

threads = []

def action():
  burp0_url = "https://www.baidu.com:443/s?word=test123&tn=50000021_hao_pg&ie=utf-8&sc=UWd1pgw-pA7EnHc1FMfqnHRdnHfkP163PWD3PzuW5y99U1Dznzu9m1Y1rj0zPjRYP1Ds&ssl_sample=s_108&srcqid=2890185856410820647&H123Tmp=nu"
  burp0_cookies = {"BAIDUID": "DE39C3557AA883A517F3717D9ED1B346:FG=1", "BIDUPSID": "DE39C3557AA883A517F3717D9ED1B346",
           "PSTM": "1548660573", "BD_UPN": "13314352", "H_PS_PSSID": "1431_21111_18560_28585_26350_28519",
           "H_PS_645EC": "0701XLkxqPa8GpBa6wBJs%2BrZyNuhMOA%2FIRfHCR7YuUcETmxXSKm0g32CT0c", "delPer": "0",
           "BD_CK_SAM": "1", "PSINO": "1", "BDSVRTM": "142"}
  burp0_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0",
           "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
           "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
           "Accept-Encoding": "gzip, deflate", "Referer": "https://www.hao123.com/", "Connection": "close",
           "Upgrade-Insecure-Requests": "1"}
  requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)


if __name__ == '__main__':
  print("Threading ready:")

  for i in range(0,100):
    t = threading.Thread(target=action)
  t.setDaemon(True) // 开启守护进程,如果宿主进程挂了,不用执行完全部线程任务也要立即结束。 参考 https://www.cnblogs.com/Haojq/p/10278365.html
  t.start()

  print("Threading ran end!")

4. 确认结果

查看领取的结果是否有超过原本的数量,如果超过就原本可领的数量,那就666了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
python中numpy.zeros(np.zeros)的使用方法
Nov 07 Python
Python冲顶大会 快来答题!
Jan 17 Python
python3处理含有中文的url方法
May 10 Python
Pandas读取MySQL数据到DataFrame的方法
Jul 25 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
用python爬取租房网站信息的代码
Dec 14 Python
Python3.6中Twisted模块安装的问题与解决
Apr 15 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 #Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 #Python
Django中使用MySQL5.5的教程
Dec 18 #Python
Python hashlib加密模块常用方法解析
Dec 18 #Python
Python实现中值滤波去噪方式
Dec 18 #Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 #Python
Python字典底层实现原理详解
Dec 18 #Python
You might like
PR值查询 | PageRank 查询
2006/12/20 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
Laravel 队列使用的实现
2019/01/08 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
2011/03/25 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
详解Python中for循环的使用方法
2015/05/14 Python
简单介绍Python中的floor()方法
2015/05/15 Python
python调用fortran模块
2016/04/08 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
Python实现网站表单提交和模板
2019/01/15 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
校运会广播稿100字
2014/01/27 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书