2019

您所在的位置:网站首页 漏洞挖掘课程总结报告 2019

2019

2024-05-06 15:18| 来源: 网络整理| 查看: 265

实验原理

XSS是最常见的计算机安全漏洞,又叫CSS(Cross Site Script) ,即跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意代码,当用户浏览该页之时,嵌入其中web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。 在XSS的攻击方式中,需要欺骗用户自己去点击链接才能触发的XSS称为反射型XSS,也称为非持久型XSS(Non-persistent XSS)。反射型XSS只是简单的把用户输入的数据“反射”给浏览器,特点为单击时触发,执行一次。

实验目的

理解反射型XSS的原理 学习反射型XSS的实现过程

实验内容 跨站脚本攻击之反射型XSS

打开测试站点,发现是一个提交并输出数据的表单,如下图所示。

尝试输入alert(1),发现成功弹窗,证明网站存在XSS漏洞。

XSS挑战初中高级 初级 example 1

点击进入,由提示可知关键代码如下:

易知源代码未作任何过滤,构建payload

/example1.php?name=alert(1)

即可成功弹窗。

example 2

由提示可知关键代码如下:

可以看到过滤了小写的和,因此可以采用大小写混淆的方式绕过,构建payload

/example2.php?name=alert(1)

即可成功弹窗。

example 3

由提示可知关键代码如下:

过滤了不区分大小写的和,因此可以采用双写的方式绕过,构建payload

/example3.php?name=alert(1)

即可成功弹窗。

中级 example 4

由提示可知关键代码如下:

可以看到对script做了大小写过滤/i,大小写混淆不再有效,但没有做更多限制。因此可以选择放弃使用标签,转而利用事件实现XSS。 构建payload

/example4.php?name=

即可成功弹窗。

example 5

由提示可知关键代码如下:

过滤了大小写的alert,但可以利用字符串编码绕过。构建payload

/example5.php?name=eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41))

即可成功弹窗。

example 6

由提示可知关键代码如下:

可以采用闭合标签绕过。构建payload

/example6.php?name=alert(1)

即可成功弹窗。

高级 example 7

由提示可知关键代码如下:

可知代码通过htmlentities()函数把字符转换为 HTML 实体。

htmlentities() 并不能转换所有的特殊字符,是转换除了空格之外的特殊字符,且单引号和双引号需要单独控制(通过第二个参数)。第2个参数取值有3种,分别如下: ENT_COMPAT(默认值):只转换双引号。 ENT_QUOTES:两种引号都转换。 ENT_NOQUOTES:两种引号都不转换。

由图可知该函数在应用时没有设置过滤单引号,因此构建payload

/example7.php?name=';alert('1');'

即可成功弹窗。

example 8

由提示可知关键代码如下:

可知post地址使用了当前url,即



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3