pikachu靶场 :二、XSS 跨站脚本攻击

pikachu靶场 :二、XSS 跨站脚本攻击

XSS(跨站脚本)概述

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

  1. 反射性XSS;
  2. 存储型XSS;
  3. DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。

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

输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

反射型xss

get传参

页面输入kobe,有返回,所构造出的链接如下,可见是get形式传参。

https://www.bihuoedu.com/vul/xss/xss_reflected_get.php?message=kobe&submit=submit

在这里插入图片描述
将链接中的kobe参数改为xss代码,如下,成功弹窗。

https://www.bihuoedu.com/vul/xss/xss_reflected_get.php?message=<script>alert(document.cookie)</script>&submit=submit

在这里插入图片描述

post传参

先登录,具有登录的cookie,再输入kobe,发现链接没有变化,所以不再是get传参而是post传参。
在这里插入图片描述
在这里插入图片描述
直接在搜索框里加入xss代码,如果有限制,可以更改html参数或者抓包进行修改绕过。

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

是可以得到登录人的cookie的。
在这里插入图片描述

存储型xss

在留言板上留下xss代码,发表留言,代码将插入数据库中,
代码将长期留在这个页面,除非管理员删除该留言,
只要有人访问这个页面,就会执行代码。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DOM型xss

初步观察,点击 click me! 后会出现 what do you see? 的链接按钮,其指向是当前目录/you_input,审查元素时发现onclick后会执行函数 domxss() ,其作用是读取input的值并将其拼接到新创建的link节点中,源码如下:

function domxss(){
	var str = document.getElementById("text").value;
	document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";
}
	//试试:'><img src="#" onmouseover="alert('xss')">
	//试试:' οnclick="alert('xss')">,闭合掉就行

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

发布了202 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43233085/article/details/104100430
今日推荐