【Web安全】XSS简介与XSS测试平台截取用户COOKIE的探索

1 XSS简介

百度百科的解释: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。

2 XSS分类

xss攻击可以分成两种类型:

1.非持久型攻击
2.持久型攻击

非持久型xss攻击:顾名思义,非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。

持久型xss攻击:持久型xss,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。

也可以分成三类:

反射型:经过后端,不经过数据库

存储型:经过后端,经过数据库

DOM:不经过后端,DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞,dom - xss是通过url传入参数去控制触发的。

3 XSS原理演示

新建一个xss.php文件并加入以下代码:

\\XSS反射演示
<form action="" method="get">
    <input type="text" name="xss"/>
    <input type="submit" value="test"/>
</form>
<?php
$xss = @$_GET['xss'];
if($xss!==null){
    echo $xss;
}

这段代码中首先包含一个表单,用于向页面自己发送 GET 请求,带一个名为xss的参数。 然后 PHP 会读取该参数,如果不为空,则直接打印出来,这里不存在任何过滤。也就是说,如果xss中存在 HTML 结构性的内容,打印之后会直接解释为 HTML 元素。
部署好这个文件,访问http://localhost/xss.php,直接输入一个js代码,比如,
在这里插入图片描述
之后点击test:
在这里插入图片描述
我们输入的HTML代码被执行了。用Firebug查看,我们输出的内容直接插入到了页面中,解释为

4 XSS测试平台使用

4.1 指引文档

我接触使用过三个XSS平台
1.脚本非常丰富:http://www.1oad.com
2.简约:https://xsspt.com
3.非常好用,自带模块成功获取到了内网ip(上面两个都没有成功):https://xsshs.cn
所以我这个文章也是简单的说说如何使用XSS平台,以第三个平台为例说明;
一、注册用户并登录
在这里插入图片描述
二、创建项目
1.创建项目,创建完后会生成一个xss可用脚本地址
在这里插入图片描述
项目名称随意,项目描述随意;但是创建之后就不能更改了。

2.有很多可用的模块,我们这次要构建一个获取计算机内网ip地址的xss脚本,所以勾选获取内网ip模块;
在这里插入图片描述
在这里插入图片描述
点击下一步就创建成功一个项目,如下:
在这里插入图片描述
上图中“xsshs.cn/JI9q” 就是本次构建攻击脚本,其中 JI9q就是id;

4.2 勾选默认模块测试成功的返回值

在这里插入图片描述

发布了877 篇原创文章 · 获赞 237 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/weixin_43838785/article/details/104873764