java-sec-code学习之XSS

前言

项目是java-sec-code:https://github.com/JoyChou93/java-sec-code
XSS一般是将恶意的JavaScript代码植入html里面,导致访问请求的时候会造成JavaScript代码的执行,主要的有存储形XSS、反射形XSS、DOM形XSS。

看下具体的实例

0X00 从java代码出发

进入controller文件
/src/main/java/org/joychou/controller/XSS.java

先看第一个反射形的。
在这里插入图片描述

29行代码可以看出,接收一个参数xss,并直接将xss返回。示例:弹出当前页面存储的cookie

在这里插入图片描述

再来看下存储形的。

在这里插入图片描述
在这里插入图片描述

43行代码:将接收到的XSS参数,存储在cookie里面,并非我们常见的将数据存储在数据库里面。
然后通过/stored/show 将存储在cookie里面键名为xss的值返回到页面上。

在这里插入图片描述
在这里插入图片描述

一般来说存储形XSS是存在数据库里面,导致访问该页面的用户都有可能会造成蠕虫攻击,而这种人为存储在cookie里面的,利用范围比较小吧,没有什么实际意义。

0X01 修复

在这里插入图片描述

将接收的参数进行字符串的替换。主要是进行HTML转义替换。

origin = StringUtils.replace(origin, "&", "&");
origin = StringUtils.replace(origin, "<", "&lt;");
origin = StringUtils.replace(origin, ">", "&gt;");
origin = StringUtils.replace(origin, "\"", "&quot;");
origin = StringUtils.replace(origin, "'", "&#x27;");
origin = StringUtils.replace(origin, "/", "&#x2F;");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值