zoukankan      html  css  js  c++  java
  • 网络安全渗透第11节课笔记

    2.失效的身份认证和会话管理

    认证和授权

    认证的目的:认出用户是谁。

    授权的目的:决定用户能够做什么。

    认证分类:

    • 单因素认证(例如只需输入口令)
    • 双因素认证(例如同时需要口令和Ukey证书)
    • 多因素认证(例如不仅需要口令和Ukey证书,还可能需要身份证或者健康证等)

    认证手段:

    • 密码(成本最低,但存在弱口令问题)
    • 动态口令
    • 手机验证
    • 数字证书
    • 单点登录(openid,如登录支付宝,不仅可以访问支付宝,还可以访问淘宝和京东等)

    会话管理

    认证成功后,认证凭证的管理方式。

    会话管理方式:

    • cookie based方式
    • 服务器端session方式

    认证常见问题:

    会话管理问题:

    认证和会话管理漏洞防御:

    使用burp suite暴力破解可以添加Payload处理:

    3.敏感信息泄露

    敏感信息泄露涉及两个方面:

    1. 存储
    2. 传输过程 https

    常见敏感信息

    运维层面:

    • 日志
    • 备份文件
    • 配置文件
    • rebots

    应用层面:

    • 用户信息
    • 通信录
    • 邮箱

    4.XML外部实体(XXE)

    利用方式:

    可以通过构造XML引入外部实体

    • 引入本网站服务器的系统命令文件路径,从而查看服务器文件。
    • 引入内网的另一台服务器的地址,扫描其是否存在,端口是否开放等。

    本质原理:

    利用XML中Xpath语法结构,引入外部实体。

    5.失效的访问控制

    表现形式:

    • 水平越权
    • 垂直越权

    6.安全配置错误

    常见案例:

    • 开启不必要服务:网站只开启80端口即可,但还开启了3306或者21等端口。
    • 默认账户没有被改变:安装网络设备或应用程序的默认账户没有改,导致攻击者可直接用默认账户登录。
    • 目录索引在服务器上未被禁用:网站管理员违规开启了目录索引,正常情况下找不到网页应该回显404,但开启后会显示所有目录,导致攻击者随意下载服务器文件。
    • 应用服务器自带的示例应用程序没有从生产服务器中删除:安装服务后,默认会有install文件,里面包含数据库的配置文件,导致攻击者渗透提权时可以获取到数据库的账号密码等信息。
    • 默认开启上传文件权限:上传shell。
    • 软件没有及时更新:网站用的ThinkPHP5的框架,但框架爆出漏洞,没有及时更新框架,导致攻击者利用漏洞。
    • 安装不必要的功能:mysql装完后会默认有phpmyadmin的网页管理界面,没有及时删除,导致攻击者直接利用。
    • 错误信息未屏蔽:SQL注入的报错回显。

    利用网站的配置错误上传shell:

    1. 打开IIS的web扩展服务,开启WebDAV。
    2. 网站属性---主目录,勾选脚本资源访问和写入。
    3. 使用老兵的IIS写权限利用工具,POST上传含有shell的txt文件,上传成功后选择COPY?将上传的txt文件转换成asp文件,即可完成上传shell。

    8.不安全的反序列化

    JBoss等中间件受影响。

    9.使用含有已知漏洞的组件

    ThinkPHP框架和Struts等框架漏洞。

    10.不足的日志记录和监控

    日志记录不足或者未开启,日志和服务在一台服务器上,攻击者可能会在攻击后删除日志记录。

    session Fixation攻击:(会话固定攻击)

    概述:

    利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。

    攻击流程图:

    攻击步骤:

    1. 攻击者Attacker能正常访问该应用网站;
    2. 应用网站服务器返回一个会话ID给他;
    3. 攻击者Attacker用该会话ID构造一个该网站链接发给受害者Victim;
    4. 受害者Victim点击该链接,携带攻击者的会话ID和用户名密码正常登录了该网站,会话成功建立;
    5. 攻击者Attacker用该会话ID成功冒充并劫持了受害者Victim的会话。

    攻击分析:

    攻击的整个过程,会话ID是没变过的,所以导致此漏洞。

    攻击修复

    1、登录重建会话

    每次登录后都重置会话ID,并生成一个新的会话ID,这样攻击者就无法用自己的会话ID来劫持会话,核心代码如下。

    // 会话失效
    session.invalidate();
    
    // 会话重建
    session=request.getSession(true);
    

    2、禁用客户端访问Cookie

    此方法也避免了配合XSS攻击来获取Cookie中的会话信息以达成会话固定攻击。在Http响应头中启用HttpOnly属性,或者在tomcat容器中配置。

  • 相关阅读:
    【monkeyrunner】monkeyrunner 常见问题
    【monkeyrunner】monkeyrunner 的的方法介绍
    【monkeyrunner】浅谈包名和activity名
    【monkeyrunner】monkeyrunner脚本录制和回放
    【monkeyrunner】monkeyrunner 的主要API和实例
    【monkey】mokey常用事件<二>
    【monkey】mokey常用命令<一>
    【python】python实例集<二>
    【python】 使用 setuptools
    【python】python实例集<一>
  • 原文地址:https://www.cnblogs.com/123456ZJJ/p/12944017.html
Copyright © 2011-2022 走看看