如何使用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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
详细介绍Ruby中的正则表达式
Apr 10 Python
浅谈python中set使用
Jun 30 Python
python字符串,数值计算
Oct 05 Python
python并发2之使用asyncio处理并发
Dec 21 Python
Python import与from import使用及区别介绍
Sep 06 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
python中xlutils库用法浅析
Dec 29 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 Python
PyTorch 如何设置随机数种子使结果可复现
May 12 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
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Python函数式编程指南(二):从函数开始
2015/06/24 Python
python妹子图简单爬虫实例
2015/07/07 Python
Python callable()函数用法实例分析
2018/03/17 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
python生成任意频率正弦波方式
2020/02/25 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
初一科学教学反思
2014/01/27 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
区域销售大会开幕词
2016/03/04 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书