跨站脚本攻击(XSS)复现与防范、上海交通大学反射型与存储型xss案例

您所在的位置:网站首页 帮助跨站点脚本 跨站脚本攻击(XSS)复现与防范、上海交通大学反射型与存储型xss案例

跨站脚本攻击(XSS)复现与防范、上海交通大学反射型与存储型xss案例

2024-07-13 19:48| 来源: 网络整理| 查看: 265

目录

xss漏洞介绍

XSS是什么

XSS漏洞原理

反射型XSS攻击复现

存储型XSS攻击复现

DOM型XSS攻击复现

常用的XSS测试语句

关于XSS的防御

交大案例

xss漏洞介绍

跨站脚本攻击,英文全称是Cross Site Scripting,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS

XSS攻击,通常指的是攻击者通过“HTML注入”篡改网页,插入恶意脚本,代码注入的一种攻击手段,当其他用户浏览网页时就会受影响

常见的危害如窃取cookie,未授权操作,键盘记录,钓鱼等等

XSS是什么

那XSS到底是什么呢?举个例子,假设有一个页面,会把用户输入的参数直接输出至页面上,代码如下

用户通过GET方式向param提交的参数会回显至页面上,若访问

http://127.0.0.1/1.php?param=ganyu

F12查看源码:

但是如果攻击者提交的是一段HTML代码呢?

http://127.0.0.1/1.php?param=alert(/xss/)

alert()方法用于显示带有一条指定消息和一个 OK 按钮的警告框

再次查看源码

可以看见,用户输入的script脚本已被写入至页面,alert(/xss/)在当前页面被执行

如果构造的payload不是alert(/xss/),而是

真正的payload写在这个远程脚本exp.js中,避免直接在URL内写入大量javascript

以上例子就是典型的XSS第一种类型:反射型XSS

XSS漏洞原理

根据效果不同而分为三类:

反射型XSS

攻击方式:攻击者通过电子邮件等方式将包含的XSS代码恶意链接发送给目标用户,当用户访问链接时,服务器把带有XSS代码的数据发送给目标用户浏览器,浏览器解析这段恶意脚本,导致XSS漏洞,这种攻击方式也称为“非持久型XSS”

存储型XSS

攻击方式:攻击者在发帖过程中,将恶意脚本连同正常信息一起注入帖子的内容中,随着帖子被服务器存储下来,攻击脚本将被永久地存放在目标服务器的数据库中,具有很高的隐蔽性,当正常用户浏览这个被插入恶意脚本的帖子时,恶意脚本会在他们的浏览器中执行,这种攻击方式也称为“持久型XSS”

DOM型XSS

攻击方式:用户请求一个经过专门设计的URL,由攻击者提交,其中包含XSS代码,服务器的响应不会以任何方式包含攻击者的脚本,当用户浏览器处理这个响应时,DOM对象就会处理XSS代码,导致存在XSS漏洞

反射型XSS攻击复现

源码如下:

反射型XSS 反射型XSS靶场 请输入需要回显的字符串

这段代码实现的功能是在表单内的输入框提交内容,单击提交按钮后,会回显至页面上,若访问http://127.0.0.1/1.html?xss_input_value=ganyu,ganyu将输出到页面上

但是如果访问的是http://127.0.0.1/1.html?xss_input_value=%22%3E%3Cscript%3Ealert%28%2Fxss%2F%29%3C%2Fscript%3E呢?

payload:">alert(/xss/)

F12查看源码,可以看到,输入的双引号闭合了value属性的双引号,并且重新插入一段HTML代码alert(/xss/),如下所示

在反射型xss靶场中,通过GET方式提交参数xss_input_value的值,echo将会执行输出input标签,并将赋值给xss_input_value的值带入input的value中,当浏览器执行alert(/xss/)">时,造成XSS漏洞,利用同样方式可以构造的payload如下

">,假设输入长度限制在20个字节,则可以利用事件来缩短所需要的字节数,如" οnclick=alert(1)//

存储型XSS攻击复现

存储型XSS页面实现的功能是获取用户输入的留言信息存储至数据库,并将留言信息输出到页面上

源码如下:

存储型XSS 存储型XSS靶场 留言板 标题: 内容:


【本文地址】


今日新闻


推荐新闻


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