如何使用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实现的文本简单可逆加密算法示例
May 18 Python
python+pyqt5编写md5生成器
Mar 18 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
Django之PopUp的具体实现方法
Aug 31 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 Python
opencv-python的RGB与BGR互转方式
Jun 02 Python
Python简单实现词云图代码及步骤解析
Jun 04 Python
如何基于Python实现word文档重新排版
Sep 29 Python
python进行二次方程式计算的实例讲解
Dec 06 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 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代码维护,重构变困难的4种原因分析
2016/01/25 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
js实现分割上传大文件
2016/03/09 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
JavaScript实现修改伪类样式
2017/11/27 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
通过JS判断网页是否为手机打开
2020/10/28 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Django继承自带user表并重写的例子
2019/11/18 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
python定义类self用法实例解析
2020/01/22 Python
容易被忽略的Python内置类型
2020/09/03 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
船餐厅和泰晤士河餐饮游轮:Bateaux London
2018/03/19 全球购物
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
如何做好总经理助理
2013/11/12 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js
python垃圾回收机制原理分析
2022/04/13 Python