如何使用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求列表交集的方法汇总
Nov 10 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
简单实现Python爬取网络图片
Apr 01 Python
transform python环境快速配置方法
Sep 27 Python
python:接口间数据传递与调用方法
Dec 17 Python
python实现趣味图片字符化
Apr 30 Python
解决python 文本过滤和清理问题
Aug 28 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 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中文分词的简单实现代码分享
2011/07/17 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
Python打印不合法的文件名
2020/07/31 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
护理实习自我鉴定
2013/12/14 职场文书
开业庆典邀请函
2014/01/08 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
小学语文业务学习材料
2014/06/02 职场文书
运动会加油稿
2015/07/22 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
vue实现锚点定位功能
2021/06/29 Vue.js
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript