如何使用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中if __name__ == "__main__"详细解释
Oct 21 Python
用Python实现一个简单的多线程TCP服务器的教程
May 05 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
Python单体模式的几种常见实现方法详解
Jul 28 Python
numpy中的delete删除数组整行和整列的实例
May 09 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
Python3多目标赋值及共享引用注意事项
May 27 Python
python+opencv实现摄像头调用的方法
Jun 22 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 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初学入门
2006/11/19 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
JavaScript 事件查询综合
2009/07/13 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
python函数形参用法实例分析
2015/08/04 Python
快速了解python leveldb
2018/01/18 Python
python opencv之SURF算法示例
2018/02/24 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
python自动生成证件号的方法示例
2021/01/14 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
消防战士优秀事迹材料
2014/02/13 职场文书
求职信名称怎么写
2014/05/26 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL
用JS写一个发布订阅模式
2021/11/07 Javascript