XSS攻击原理及防御、绕过
XSS攻击
原理
跨站脚本攻击XSS(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,将跨站脚本攻击缩写为XSS。
原理为恶意攻击者在网页中构造恶意javascript脚本,用户浏览该页面时,嵌入网页里面的语句会被执行,从而达到恶意攻击的目的
类型
反射型:
发出请求时,XSS脚本存在于在URL中,作为输入提交到服务器端,服务器解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码
存储型:
存储型XSS存放于服务器端,恶意用户提交的代码会存储在服务器端(数据库,内存等),常见于留言板,论坛等,用户请求目标页面时不用再提交。
防御
1、转义、过滤敏感字符
对于引号、尖括号、斜杠 或者其他敏感的javascript关键字进行转义(黑名单)。缺点是会存在一些意向不到的绕过方式
2、Httponly 设置cookie时,将其 属性设为HttpOnly,就可以避免该网页的cookie被客户端恶意JavaScript窃取,是目前保护用户 cookie信息最有效的一种方式
绕过
关键字大小写、嵌套、双写、换事件、html实体编码等
一些绕过方式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现