跨站脚本漏洞(XSS)基础讲解(php处理防止XSS攻击类)

本文介绍了XSS跨站脚本攻击的基础知识,包括定义、分类(反射型、存储型和DOM型XSS)及其原理。重点讨论了DOM型XSS的防御方法,强调了在PHP中防止XSS攻击的重要性,并提供了PHP处理XSS攻击的策略。
摘要由CSDN通过智能技术生成

XSS漏洞

一、XSS是什么

XSS(Cross Site Scripting),中文名:跨站脚本攻击

二、简述

XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,那么很可能就存在XSS漏洞。

这篇文章将带你通过代码层面去理解三个问题:

  • 什么是XSS漏洞?
  • XSS漏洞有哪些分类?
  • 如何防范XSS漏洞?

三、 XSS 漏洞简介

跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。
常见的输出函数有: echo printf print print_r sprintf die var_dump var_export.
xss 分类:(三类)

  • 反射型XSS:<非持久化> 攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。
  • 存储型XSS:<持久化> 代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS非常危险,容易造成蠕虫,大量盗窃cookie(虽然还有种DOM型XSS,但是也还是包括在存储型XSS内)。
  • DOM型XSS:基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如uRI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。

四、XSS 漏洞原理

4.1、反射型XSS

在黑盒测试中,这种类型比较容易通过漏洞扫描器直接发现,我们只需要按照扫描结果进行相应的验证就可以了。

  • 相对的在白盒审计中, 我们首先要寻找带参数的输出函数,接下来通过输出内容回溯到输入参数,观察是否过滤即可。
例:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>XSS</title>
</head>
<body>
<form action=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值