渗透基础知识ctfshow——Web应用安全与防护(第一章)

张开发
2026/4/9 21:58:05 15 分钟阅读

分享文章

渗透基础知识ctfshow——Web应用安全与防护(第一章)
这里给大家简单写点渗透最基础的一些方法以及技能主要来自于ctfshow靶场文章目录Base64编码隐藏知识点HTTP头注入知识点Base64多层嵌套解码知识点HTTPS中间人攻击wireshark导入ssl解密流量知识点Cookie伪造知识点总结Base64编码隐藏适合纯新手入门使用难度极低。知识点这道题的核心考察点是前端源代码审计。通过浏览器开发者工具F12查看网页源码可以发现在script标签中直接硬编码了登录校验逻辑这演示了将敏感逻辑或密钥放置在客户端脚本中所带来的安全风险。另一个关键知识点是Base64 编码与解码。代码中的btoa()函数用于将字符串转换为 Base64 格式解题时只需将对比用的字符串Q1RGe2Vhc3lfYmFzZTY0fQ进行逆向解码即可直接获取明文密码打开网页看到如下页面这里打开页面源码即可得到答案如下HTTP头注入知识点这道题的知识点可以总结为以下两点HTTP 请求头的构成与伪造HTTP 头部如User-Agent、Referer是客户端向服务器传递的元数据。本题考察如何利用 Burp Suite、Hackbar 或浏览器插件手动修改这些客户端完全可控的字段以模拟特定的浏览器环境或绕过简单的环境检测。服务端对 Header 信息的盲目信任此类考点揭示了服务端逻辑的安全缺陷——如果后端代码直接依赖User-Agent等 Header 信息来判断权限或返回数据攻击者就可以通过篡改 Header 诱导服务器执行特定逻辑。这种“基于 Header 的访问控制”极易被绕过是 Web 安全中典型的信任风险。输入账号密码后我们得到如下响应结果同理打开页面我们发现源码存在Base64编码解密后得到结果CTF{easy_base64}随后输入账号密码进入系统得到一个告警You must use ctf-show-brower browser to access this page既然是UA头无效那就按上述要求进行修改User-Agent: ctf-show-brower得到结果Base64多层嵌套解码知识点这道题目的知识点可以总结为以下两点算法逆向推导本题涉及btoaBase64 编码、reverse字符串翻转、slice/substr切片以及固定干扰字符如xH7jK、aB3、qW9的组合调用。解题过程需基于最终加密值correctPassword按代码逻辑的相反顺序进行逆向操作包括使用atob解码、再次翻转字符串以及精确剔除特定位置的填充字符。前端硬编码与审计风险校验逻辑完全运行在客户端。由于 JavaScript 源码对用户公开所有加密步骤、偏移量和盐值均可通过浏览器开发者工具获取。这种设计展示了前端校验的脆弱性即无论算法如何叠加混淆只要核心逻辑硬编码在本地脚本中即可被静态分析或控制台调试破解。这里我们查看源码发现并不是之前的Base64编码了而是存在js脚本scriptdocument.getElementById(loginForm).addEventListener(submit,function(e){constcorrectPasswordSXpVRlF4TTFVelJtdFNSazB3VTJ4U1UwNXFSWGRVVlZrOWNWYzU;functionvalidatePassword(input){letencodedbtoa(input);encodedbtoa(encodedxH7jK).slice(3);encodedbtoa(encoded.split().reverse().join());encodedbtoa(aB3encodedqW9).substr(2);returnbtoa(encoded)correctPassword;}constenteredPassworddocument.getElementById(password).value;constmessageElementdocument.getElementById(message);if(!validatePassword(enteredPassword)){e.preventDefault();messageElement.textContentLogin failed! Incorrect password.;messageElement.classNamemessage error;}});/script/body/html但好消息是我们知道了该页面前端加密的过程所以可以根据该脚本内容逆向出来得到正确密码而加密后的密码为SXpVRlF4TTFVelJtdFNSazB3VTJ4U1UwNXFSWGRVVlZrOWNWYzU所以这里编写脚本成功逆向得到结果{const correctPasswordSXpVRlF4TTFVelJtdFNSazB3VTJ4U1UwNXFSWGRVVlZrOWNWYzU;// 逆推 Step5const step4atob(correctPassword);// 逆推 Step4(补全缺失的YU)const step3_paddedatob(YU step4);const step3step3_padded.slice(3, -3);// 逆推 Step3const step2_reversedatob(step3);const step2step2_reversed.split().reverse().join();// 逆推 Step21(爆破缺失的前3个 Base64 字符)const b64_charsABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/;console.log( 正在精准爆破...);// 给外层循环打个标签叫 outerLoop方便后面直接跳出 outerLoop:for(let c1 of b64_chars){for(let c2 of b64_chars){for(let c3 of b64_chars){try{lettestStrc1 c2 c3 step2;letdecodedatob(testStr);if(decoded.endsWith(xH7jK)){letbtoa_inputdecoded.slice(0, -5);letflagatob(btoa_input);// 过滤条件确保解出来的 Flag 全部是正常的可见字符ASCII 范围 // 或者直接包含了 ctfshow 关键字if(/^[\x20-\x7E]$/.test(flag)flag.length5){console.log( 爆破成功真正的 Flag 是: flag);// 直接打断所有循环结束战斗breakouterLoop;}}}catch(e){// 忽略无效 Base64}}}}}F12出现“控制台”——F5刷新一下——使用代码回车——得到结果成功得到密码#A7316后面步骤与上一关一样修改UA头即可HTTPS中间人攻击wireshark导入ssl解密流量适合纯新手入门使用难度极低。知识点SSL/TLS 加密与密钥交换HTTPS 在传输层通过 SSL/TLS 协议加密。其核心在于握手阶段客户端与服务器协商加密算法并生成会话密钥Session Key。由于后续数据传输使用对称加密解密的逻辑关键在于获取该会话密钥。Wireshark 流量解密原理Wireshark 无法直接破解加密报文必须导入相关凭据情况 A如果你有密钥日志文件最常见如sslkeylog.log情况 B如果你有 RSA 私钥文件.key或.pem这个解压后得到一个加密流量包以及ssllog文件存储着SSL密钥未解密前都是加密流量解密步骤Wireshark 配置Protocols-TLS-(Pre-)Master-Secret log filename成功解密流量在POST包里找到flagCookie伪造适合纯新手入门使用难度极低。知识点Cookie 伪造是攻击者通过非法篡改或预测客户端Cookie 内容从而绕过验证机制或实现权限提升的行为。其原理在于服务端对凭证缺乏严格的完整性校验或生成逻辑过于简单导致攻击者能通过修改用户标识如guest改为admin来冒充特定身份。常见手段包括 Base64 解码重组、弱哈希碰撞或利用 XSS 漏洞窃取会话令牌。防御措施应包括服务端加密签名、设置HttpOnly属性以及完善Session管理机制以确保凭证具备唯一性、不可预测性与安全性。打开页面发现默认为guest用户并且源代码也没有敏感信息这里尝试弱口令123456admin admin123 guest...简单尝试发现密码为guest抓包登陆后只能查看响应包源码关键就在这一行Set-Cookie: roleguest; expires...服务器非常直白地告诉了你它的鉴权逻辑它通过一个名为role的 Cookie 来识别你的身份;既然现在是 guest访客我们要做的就是把它伪造成 admin管理员。修改为如下CookieCookie:PHPSESSID95c19a8b8364823f2329b9126f29002a;roleadmin修改后成功得到结果可对照上图总结知识点回顾JS 逆向通过分析前端脚本的加密逻辑并编写逆向脚本还原被隐藏的原始明文数据。流量解密在 Wireshark 协议设置中导入密钥日志或私钥将加密的 TLS 通信还原为可读明文。Cookie 伪造通过手动篡改浏览器请求中的身份标签如角色、权限位直接冒充高权限用户。期待下次再见

更多文章