如何使用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实现的数据结构与算法之快速排序详解
Apr 22 Python
Python字符串处理之count()方法的使用
May 18 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
python学习必备知识汇总
Sep 08 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
python判断自身是否正在运行的方法
Aug 08 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
Python箱型图处理离群点的例子
Dec 09 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python如何利用pandas读取csv数据并绘图
Jul 07 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
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
python中tab键是什么意思
2020/06/18 Python
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
低碳环保倡议书
2014/04/14 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
浅析MongoDB之安全认证
2021/06/26 MongoDB