码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • WEB攻防【4】——JavaWeb项目/JWT身份攻击/组件安全/访问控制


    一、知识点


    1、Javaweb常见安全及代码逻辑

    Javaweb的架构:

    如何通过包查找到文件,通过URL对应源码的文件,或者通过源码文件对应URL地址。

    2、目录遍历&身份验证&逻辑&JWT

    Javaweb里面有身份认证的JWT的技术,python和php里面也出现,java中最多,跟在php中接触到的session和cookie差不多,是新的身份认证的方案。

    3、访问控制&安全组件&越权&三方组件

    javaweb的除了自身的代码逻辑漏洞,再一个就是第三方组件的漏洞,log4j等。

    二、演示案例


    1、JavaWeb-WebGoat8靶场搭建使用

    WebGoat介绍

    WebGoat是OWASP维护的,用于进行WEB漏洞测试和学习的JAVA应用程序。

    #环境下载:

    GitHub - WebGoat/WebGoat: WebGoat is a deliberately insecure application

    下载之后需要JDK环境运行:

    安装包:功能封装在jar包里面 需要查看的话就得反编译

    #目录遍历:

    2、安全问题-目录遍历&身份认证-JWT攻击

    接收键名和键值  漏洞点在接收键名对应键值 是正确  但是如果自己构造不存在的键名 由于数据库没有 为null  也会显示正确。

    就是看验证代码的逻辑是否正确

    JWT  简介

    JWT原理及常见攻击方式 - yokan - 博客园 (cnblogs.com)

    JWT的全称是Json Web Token。它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份。基于token的身份验证可以替代传统的cookie+session身份验证方法。python和java爱用这个技术

    jwt由三个部分组成:header.payload.signature

    可以解密 改为ture 但没有那么简单 header里面有加密方式  可以将加密方式设置为空 带三部分签名会涉及一些密匙的东西 不验证密匙的话  改为空加密方式就可行 如果要验证密匙空加密方式就不可行

    1、算法改成none  就只有第一段和第二段,none不需要密匙所以没有第三段。

    相关工具:c-jwt-cracker  (爆破密匙)

    知道密匙更改内容

    3、安全问题-访问控制&安全组件-第三方组件

    #身份认证键值逻辑:

    使用键名键值进行对比验证错误

    -JWT攻击:1、签名没验证空加密2、爆破密匙 3、KID利用https://www.cnblogs.com/vege/p/14468030.html
    #访问控制
    隐藏属性:前端页面的自慰限制显示
    水平越权:同一级别用户权限的查看

  • 相关阅读:
    Netty 介绍 与 线程模型
    springboot打war包
    详解c++STL—STL常用算法
    华为机试真题 Java 实现【查找众数及中位数】
    python string related
    LMFLOSS:专治解决不平衡医学图像分类的新型混合损失函数 (附代码)
    MongoDB【部署 02】mongodb使用配置文件启动、添加为系统服务及自启动(一个报错:[13436][NotMasterOrSecondary])
    卷积神经网络 CNN
    英特尔12代酷睿架构,十二代酷睿架构
    「高并发」面试官:讲讲高并发场景下如何优化加锁方式?
  • 原文地址:https://blog.csdn.net/weixin_42090431/article/details/139476039
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号