web安全|Web安全之跨站脚本攻击漏洞

  • 跨站脚本(XSS)漏洞
    跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS 。恶意攻击者往 Web ???插?恶意 JavaScript代码,当?户浏览该?之时,嵌? Web ???的代码会被执?,从?达到恶意攻击?户的?的。
    web安全|Web安全之跨站脚本攻击漏洞
    文章图片

  • 常见类型
    反射性XSS:payload经过后端,不经过数据库
    存储型XSS:payload经过后端,经过数据库
    DOM型XSS:payload不经过后端

XSS漏洞
  • 1.原理
    • 1.1.成因
    • 1.2.反射型XSS
    • 1.3.存储型XSS
    • 1.4.DOM型XSS
    • 1.5.Self XSS
  • 2.利用
    • 2.1.Payload
    • 2.2.获取用户信息
    • 2.3.钓鱼网站
    • 2.4.流量劫持
  • 3.危害
  • 4.防御

1.原理 1.1.成因 漏洞成因:
由于动态网页的Web应用对用户提交请求参数未做充分的检查过滤,允许用户在提交的数据中掺HTML代码(最主要的是“>”、“<”),然后未加编码地输出到第三方用户的浏览器,这些攻击者恶意提交代码(payload)会被受害用户的浏览器解释执行。
1.2.反射型XSS 概念:
?持久化,需要欺骗?户点击链接才能触发 XSS 代码(数据库中没有这样的??和内容)。Payload ?般存在于 URL 或者 HTTP 正?中,需要构造??,或者构造 URL。
数据流向:浏览器——>后端——>浏览器
1.3.存储型XSS 概念:
持久化,代码储存在数据库中。如在个?信息或发表?章等地?,假如代码没有过滤或过滤不严,那么这些代码将储存到数据库中,?户访问该??的时候出发代码执?。这种 XSS ?较危险,容易造成蠕?,盗窃 Cookie 等。
数据流向:浏览器——>后端——>数据库——>后端——>浏览器
1.4.DOM型XSS 概念:
DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析可以认为完全是客户端的事情。
可以触发dom型xss的属性:
document.referer属性
window.name属性
location属性
innerHTML属性
documen.write属性
1.5.Self XSS 概念:
??输?xss脚本,输出仅??看到,仅xss到??。
危害小
2.利用 2.1.Payload Payload 的中?含义是有效载荷,在 XSS 中指代攻击代码或攻击语句。
常?的 Payload 有:
正常弹窗:
web安全|Web安全之跨站脚本攻击漏洞

弹出?站 Cookie:
web安全|Web安全之跨站脚本攻击漏洞

除了以上的paylaod,有很多标签,事件,属性都是可以拿来执?js的。
可以执?js的标签:

2.4.流量劫持 攻击payload:

3.危害 获取?户信息:如浏览器信息、ip 地址、cookie 信息等
钓?:利? xss 漏洞构造出?个登录框,骗取?户账户密码,提示登录过期,模拟?个?站的登录框,将?户名、密码发送到攻击者服务器。
注???或?告链接:有些在主站注??法?站的链接,对公司的声誉有?定的影响。
后台?站数据操作:配合 CSRF 漏洞,骗取?户点击,利? js 模拟浏览器发包。
xss 蠕?:微博蠕?只要看过某?的微博就是?动关注某?;贴吧蠕?:看过某个帖?就?动回复。
4.防御 【web安全|Web安全之跨站脚本攻击漏洞】输入过滤:
对?户提交的数据进?有效性验证,仅接受指定?度范围内并符合我们期望格式的的内容提交,阻?或者忽略除此外的其他任何数据。
输出转义:
在变量输出到 HTML ??时,可以使?编码或转义的?式来防御 XSS 攻击
例如:htmlspecialchars()把预定义的字符转换为 HTML 实体
http only:
HttpOnly是加在cookies上的?个标识,?于告诉浏览器不要向客户端脚本(document.cookie或其他)暴露cookie。当你在cookie上设置HttpOnly标识后,浏览器就会知会到这是特殊的cookie,只能由服务器检索到,所有来?客户端脚本的访问都会被禁?。
Httponly:禁?javascript读取,如果cookie中的?个参数带有httponly,则这个参数将不能被javascript获取;httponly可以防?xss会话劫持攻击。
配合CSP:
CSP(Content Security Policy)指的是内容安全策略,为了缓解很??部分潜在的跨站脚本问题,浏览器的扩展程序系统引?了内容安全策略(CSP)的?般概念。
CSP 本质上是建??名单,规定了浏览器只能够执?特定来源的代码;即使发?了xss攻击,也不会加载来源不明的第三?脚本。

    推荐阅读