PHP代码审计之xss漏洞

举报
亿人安全 发表于 2023/05/29 17:14:58 2023/05/29
【摘要】 漏洞介绍:跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。为了与层叠样式表(Cascading Style Sheets)的缩写CSS区分开,跨站脚本攻击通常简写为XSS。漏洞危害:挖掘思路:没有过滤的参数,...

漏洞介绍:

跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对

访问者进行病毒侵害的一种攻击方式。为了与层叠样式表(Cascading Style Sheets)的缩写CSS区分开,跨站脚本攻击通常简写为XSS。

漏洞危害:

挖掘思路:

没有过滤的参数,传入到输出函数中

漏洞思路:

• 搜索内容

• 发表文章

• 留言

• 评论回复

• 资料设置

漏洞类型:

• 反射型

• 存储型

• DOM型

反射型xss

非持久型,也叫反射型XSS。通过GET和POST方法,向服务器端输入数据。用

户输入的数据通常被放置在URL的query string中,或者是form 数据中。如果服务

器端对输入的数据不进行过滤,验证或编码,就直接将用户输入的信息直接呈现给

客户,则可能会造成反射型XSS。

反射型XSS是比较普遍的XSS,其危害程度通常被认为较小。但是某些反射型

XSS造成的后果会很严重,如在输入框的name中输入<meta http-

equiv="refresh" content="5" />,服务器不加处理,将name的值直接送到浏览

器,则浏览器会每5秒自动刷新一次。严重者会导致服务器崩溃。

反射型xss

常见场景:

• 将前端获取的内容,直接输出到浏览器页面

• 将前端获取的内容,直接输出到HTML标签

• 将前端获取的内容,直接输出到<script>标签

存储型xss

持久型,也叫存储型XSS。通常是因为服务器端将用户输入的恶意脚本没有通过

验证就直接存储在数据库,并且每次通过调用数据库的方式,将数据呈现在浏览器

上。则该XSS跨站脚本攻击将一直存在。若其他用户访问该页面,则恶意脚本就会

被触发,用于盗取其他用户的私人信息。

反射和存储的区别

反射型

输入--输出

存储型

输入--进入数据库--取出数据库--输出

Dom型xss

DOM,全称Document Object Model,是一个平台和语言都中立的

接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及

样式。

DOM型XSS其实是一种特殊类型的XSS,它是基于DOM文档对象模

型的一种漏洞。

DOM型数据流向

DOM-XSS 的数据流向是:URL-->浏览器

DOM型常见属性

修复方案

• 对所有输入中的script、iframe等字样进行严格的检查

• 验证数据的类型及其格式、长度、范围和内容

• 客户端做数据的验证与过滤,关键的过滤步骤在服务端进行检查

• 检查输出的数据

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。