JavaWeb网络安全-弱口令自查

2024-01-02 17:50

本文主要是介绍JavaWeb网络安全-弱口令自查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.背景

项目中,创建用户没有校验密码强度,弱口令会导致一系列安全问题。然而用户表数据加密加盐,我们无法直接知道哪些用户使用了弱口令。
网络安全的首要步骤是检查系统中的弱口令。一旦网络攻击者获取了我们的弱口令并成功登录系统,他们几乎可以完全掌控系统。考虑到我们的系统涉及许多组件和依赖关系,一旦其中某个组件存在问题,整个服务器就有可能受到黑客攻击,甚至面临被彻底暴露的风险。因此,第二个重要步骤是关注漏洞,查看哪些组件(特别是权限、登录相关的组件)存在漏洞,并及时更新组件版本。通过更新组件版本,我们实际上能够预防很多可能的安全风险。

2.解决办法(1)Burp_Suite

Burp_Suite 是专业的网络安全领域工具,但使用需要一定的使用基础。可以使用Burp_Suite,进行校验。基本教程

在这里插入图片描述

3.解决办法(2)python测试脚本

使用简单,功能单一,可以应付快速测试。
以下是我们用于测试弱口令的脚本,其中包括约2万个需要测试的用户和100个弱口令。在最差情况下,时间复杂度为O(n^2)。这100个弱口令按照出现频次排序,常用密码排在前面。经过实际测试,我们系统总共花费了6个小时的时间。此外,在具备服务器性能冗余的情况下,我们可以采用多线程的方式进行同步测试,从而大大缩短测试时间。

import requests# 替换为你user表中的account
username_list = ['admin', 'zhangsan',...'LISI']# 存储了 100个最常用的弱口令密码
passwords = [ '111111', '123456', '123456789', 'a123456', 'a123456789', '12345', '111111', '123123', 'woaini1314', 'zxcvbnm', 'qq123456', 'password', 'abc123456', '123456a', '123456789a', 'abc123', '0', 'iloveyou', '1234567890', '1234', '1234567', '12345678910', '12345678', '5201314', '98754321', 'qwerty', '123456abc', 'princess', '147258369', '1111', 'qq123456789', 'q123456', 'woaini123', '5201314520', '1004', 'zxcvbnm123', 'asd123456', '123123123', 'woaini', 'woaini520', '654321', '123abc', 'woaini521', 'q123456789', 'aa123456', 'abcd1234', 'abcd123456', '135792468', '123456789', '123321', 'asd123', 'rockyou', '123456', 'abc123456789', '123456789', 'qwe123456', 'qazwsxedc', '0', 'qwe123', 'w123456', '12345678900', 'qwertyuiop', '123456789abc', '1314520', '123456789q', 'z123456', '1357924680', 'aini1314', 'nicole', '666666', 'aaa123456', '7894561230', '789456123', 'zxc123', 'asdfgh', 'daniel', '123456qq', '1234567891', 'qazwsx', 'monkey', 'babygirl', 'michael', 'zxc123456', 'www123456', 'ovely', 'jessica', '123698745', 'w123456789', '1234567899', '1472583690', '1314520520', '123456789qq', 'ashley', 'iloveu', '123456aa', 'asdfghjkl', 'michelle', '123qwe', '123456q']def check(username):url = 'http://localhost:8080/login'  # 替换为目标网站的登录URLdata = {'username': username}for password in passwords:data['password'] = passwordresponse = requests.post(url, data=data)if response.status_code == 200 and password!="默认初始密码":print('存在弱口令!用户名:{},密码:{}'.format(username, password))break# else:#     print('尝试使用密码 {} 登录失败'.format(password))if __name__ == '__main__':# print(len(username_list))for i in username_list:check(i)

利用 python check.py > week_password.text,可以将使用弱口令的用户导出到text文本中。

4. 后续处理

可以将弱口令用户暂时冻结,上线时提示修改密码。

这篇关于JavaWeb网络安全-弱口令自查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/563214

相关文章

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件