如何使用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 相关文章推荐
在Django的session中使用User对象的方法
Jul 23 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
Jan 10 Python
selenium+python截图不成功的解决方法
Jan 30 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
pytorch之ImageFolder使用详解
Jan 06 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
python同时遍历两个list用法说明
May 02 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
Python实战之实现康威生命游戏
Apr 26 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 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 替换模板变量实现步骤
2009/08/24 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
js计算页面刷新的次数
2009/07/20 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python numpy 反转 reverse示例
2019/12/04 Python
Python实现图片识别加翻译功能
2019/12/26 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
python matplotlib库的基本使用
2020/09/23 Python
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
银行竞聘演讲稿范文
2014/04/23 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL