如何使用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中的装饰器
Jul 31 Python
Python通过future处理并发问题
Oct 17 Python
Python网络编程使用select实现socket全双工异步通信功能示例
Apr 09 Python
python实现log日志的示例代码
Apr 28 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
Python实现Singleton模式的方式详解
Aug 08 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
Python笔记之观察者模式
Nov 20 Python
Python中filter与lambda的结合使用详解
Dec 24 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 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怎样调用MSSQL的存储过程
2006/10/09 PHP
生成sessionid和随机密码的例子
2006/10/09 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Python实现网站注册验证码生成类
2017/06/08 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
《盘古开天地》教学反思
2014/02/28 职场文书
家长会学生演讲稿
2014/04/26 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
老干部工作先进事迹
2014/08/17 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis