如何使用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动态加载模块的3种方法
Nov 22 Python
Python中的ceil()方法使用教程
May 14 Python
Python的Django框架中的表单处理示例
Jul 17 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
TensorFlow损失函数专题详解
Apr 26 Python
从django的中间件直接返回请求的方法
May 30 Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 Python
10个Python面试常问的问题(小结)
Nov 20 Python
详解Python设计模式之策略模式
Jun 15 Python
python两个list[]相加的实现方法
Sep 23 Python
Python函数式编程中itertools模块详解
Sep 15 Python
python使用BeautifulSoup 解析HTML
Apr 24 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/10/09 PHP
php中看实例学正则表达式
2006/12/25 PHP
php5.2时间相差8小时
2007/01/15 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
Pycharm github配置实现过程图解
2020/10/13 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
师范应届生求职信
2013/11/15 职场文书
党章学习思想汇报
2014/01/14 职场文书
法人委托书范本
2014/04/04 职场文书
产假请假条
2014/04/10 职场文书
合伙经营协议书
2014/04/18 职场文书
幼儿园教师求职信
2015/03/20 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
vue封装数字翻牌器
2022/04/20 Vue.js