当前位置: 首页 > article >正文

No.13 笔记 | 网络安全防护指南:从法律法规到技术防御

一、法律法规

《中华人民共和国网络安全法》要点

  • 遵守法律:所有个人和组织在使用网络时,必须遵守宪法和法律,不得利用网络从事危害国家安全等活动。

  • 个人信息保护:禁止非法获取、出售或提供个人信息。若违反但未构成犯罪,将面临罚款和没收违法所得。

二、认证崩溃与防范

定义与问题

  • 认证崩溃:因错误使用身份认证或会话管理功能,导致攻击者能够破解密码。常见于开发人员忽视安全交互,如使用弱口令或缺少多因素认证。

预防措施

  1. 多因素认证:增加安全层级,防止暴力破解。
  2. 弱口令检测:定期检查并消除弱口令。
  3. 复杂会话ID:生成高复杂度会话ID,并设置超时失效。

三、弱口令

定义与分类

  • 弱口令:容易被猜测的密码,如“123”或“abc”。

  • 分类

    • 公共弱口令:常见高频密码。
    • 条件弱口令:与个人信息相关的密码。

产生原因与危害

  • 原因:个人习惯和安全意识不足,使用易记或默认密码。
  • 危害:攻击者可进入系统后台,修改资料、盗取资金等。

四、密码破解时间

  • 6位密码破解时间
    • 数字:0秒
    • 字母(大/小写):30秒
    • 混合字母:33分钟
    • 数字+字母:1.5小时
    • 数字+字母+标点:22小时

五、增加密码复杂度

  • 建议:密码不少于8位,包含大小写字母、数字和特殊符号。避免使用连续字符或与个人信息相关的密码,定期修改。

六、常见漏洞与防范

  1. 信息收集:防止信息泄露,保护网站敏感信息。
  2. 弱口令攻击:采用强密码策略,防止穷举攻击。
  3. 框架漏洞:及时更新修复技术栈中的安全漏洞。
  4. 逻辑漏洞:确保授权访问,防止未授权操作。
  5. CSRF攻击:使用防伪令牌,防止跨站请求伪造。
  6. 文件上传漏洞:限制文件类型,防止上传恶意脚本。

七、暴力破解与工具

暴力破解概述

  • 定义:暴力破解,又称字典攻击,是通过自动化脚本反复尝试用户名和密码组合,以窃取信息或获取权限的攻击方式。

  • 产生原因

    • Web应用在开发时存在身份认证逻辑漏洞。
    • 用户身份识别策略不严格或设置不当。
    • 对用户身份和密码未实施强制性限制。
    • 对异常访问地址未进行处理。
    • 身份认证方式存在缺陷或权限分配不合理。

工具介绍:Hydra与Burp Suite

  • Hydra:开源暴力破解工具,支持多种协议。适用于SSH、RDP、MySQL等,但不适用于HTTP(S)破解。

  • Burp Suite:用于攻击Web应用程序的集成平台,提供多种工具和接口。Burp Intruder模块可自动对Web应用程序进行自定义攻击,具有高度的可配置性。

Burp爆破模块组成

  1. Target:配置目标服务器的详细信息,包括IP地址、端口号及是否使用HTTPS等。
  2. Positions:设置Payload插入点和攻击类型(如Sniper、Battering Ram、Pitchfork、Cluster Bomb)。
  3. Payloads:配置Payload,设置字典,定制数量、类型及选项。
  4. Options:包含发包和收包细节,如发包速度、记录保存,以及请求头发送和接收数据处理等设置。

靶场练习

  • 后端验证:如Pikachu后端服务器在验证码检测上存在漏洞,未重置验证码,导致可被爆破。
  • 前端JS检测:验证码检查在JS中进行,可利用前端验证而后端不检查的情况进行爆破。
  • Token防爆破检测:服务端生成Token,前端请求携带以证明合法身份。在练习中,假设已知用户名,并将密码和Token设置为爆破点进行标记,直至爆破成功。

暴力破解防御方式

  • 用户层面:避免使用弱口令。
  • 服务方层面
    • 对多次登录失败的账户锁定IP。
    • 使用短信或语音验证码等验证方式,并设置阈值。
    • 使用复杂验证码以增加攻击成本。

http://www.kler.cn/news/338929.html

相关文章:

  • 【LeetCode】动态规划—516. 最长回文子序列(附完整Python/C++代码)
  • ffmpeg源码分析(七)结构体之AVStream
  • day03 笔试练习
  • LeetCode讲解篇之322. 零钱兑换
  • 每天五分钟深度学习pytorch:基于pytorch搭建一元线性回归模型
  • Axure中文版:原型设计新手必备工具,轻松上手!
  • 数据挖掘笔记part one (认识数据挖掘)
  • matplotlib中文显示乱码问题
  • 线性代数书中求解齐次线性方程组、非齐次线性方程组方法的特点和缺陷(附实例讲解)
  • 在 JavaScript 中使用 window 对象来刷新页面
  • 深入浅出:现代JavaScript开发者必知必会的Web性能优化技巧
  • 体系结构论文(五十四):Reliability-Aware Runahead 【22‘ HPCA】
  • 简单认识redis-5 jdbc 与 jedis 使用的区别
  • Redis 缓存策略详解:提升性能的四种常见模式
  • springboot整合mybatis案例
  • Spring Boot助力医院数据管理
  • 【C语言】关于指针各项细节以及与其他知识点关联
  • Java Web 开发
  • 目标检测 DN-DETR(2022)
  • 数据库分区