简单反射型XSS的复现

xss反射型攻击:

1.最简单的漏洞复现:

这里我们有一个最简单的网页:由于地址不存在,所以图片加载不出来。

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <img src="aaaa" onerror="alert(1)" alt="error">
</body>
</html>

首先我们要知道onerror函数有什么作用:捕获页面错误信息并调用函数

我们先写一个最简单的xss,发现在源代码上面出现在了scr

复制代码
?xss=aaaaaa

所以接下来尝试用"闭合

复制代码
?xss=aaaaa" onerror="alert(1)

可以看到这里没有编译括号,所以是后台把括号过滤了

接下来就尝试对括号进行编码,(的编码是%28)的编码是%29

复制代码
?xss=aaaaa" onerror="alert%281%29

可以发现还是没有任何变化,原因是因为浏览器会在进行编码之后才给到函数运行,所以在函数执行之前又会变回括号一样被过滤。

所以为了避免被浏览器编码,我们可以进行二次编码,把%编码成%25

复制代码
?xss=aaaaa" onerror="alert%25281%2529

发现依然不行,想起来js编码不能替换符号,所以这里要用到location,作用是将符号,变量名,函数名都变成字符串,就可以进行js编码了。

复制代码
?xss=aaaaa" onerror= location="javascript:alert%25281%2529

可以看出已经可以了。

相关推荐
遇见~未来1 天前
第五篇_构建真实页面_组件_响应式_维护性
前端·css3
魔士于安1 天前
Unity完整小球迷宫项目
前端·unity·游戏引擎·贴图·模型
irpywp1 天前
苦于AI生成的网页千篇一律且粗糙?design-md-chrome :一款网页样式提取插件 ,将任意网站的视觉规范转化为大模型可读的代码指令!
前端·人工智能·chrome·开源·github
xingpanvip1 天前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
网络点点滴1 天前
Node.js理论-Web的基本运作原理
前端·node.js
宝宝宝阿1 天前
前端访问后台接口存在跨域问题,如何处理解决
前端
广州华水科技1 天前
北斗GNSS与单北斗变形监测在水库安全监测中的应用探索
前端
蜡台1 天前
使用 html javascript 实现 金币落袋效果
前端·javascript·html
IT_陈寒1 天前
为什么我的Python multiprocessing总是卡在join()?
前端·人工智能·后端
李白的天不白1 天前
VUE依赖配置问题
前端·javascript·vue.js