概念: 是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。
跨脚本攻击有以下两种形式
1、反射型攻击: 通过引诱用户点击带有嵌入恶意脚本的链接而达到攻击目的。
原理: 攻击者要获取一个网站管理员 cookie,他会向 admin 用户发送一个链接地址,而再链接地址后面会加上参数值为 document.cookie,当 admin 用户在点击该链接时会将自己的 cookie 显示出来,返回给攻击者[攻击这会监听到该链接的端口从而获取管理员 cookie 信息]。攻击者拿到管理员 cookie 信息后会进行制造伪请求进行破坏操作。
2、持久型攻击: 将恶意脚本提交到数据库中,在用户访问页面时就会执行数据库中的恶意脚本而达到攻击目的。
SQL 注入原理: 是攻击者使用请求参数构造 SQL 语句时,恶意的 SQL 被嵌入到 SQL 中交给数据库执行,前提是:SQL 注入攻击需要攻击者对数据库结构有所了解才能进行。因此一些源码做网站是不安全的,因为源码网站数据库表和结构暴露在网上。
错误回显:是指攻击者通过对服务器错误信息返回分析了解网站数据库结构。
Cookie 欺骗和 Cookie 会话攻击是指攻击者只需要把 Cookie 信息提交给服务器并通过验证,那么攻击者就可以冒充受害者的身份登陆网站。至于 cookie 字符串是什么含有攻击者并不需要知道。
防范 XSS 主要有两方面
1、对危险字符进行转义
2、HttpOnly 设置(js 无法获取 Cookie 数据)
原文出处:http://www.dongblog.com/notes/15.html
来源:博客网 转载请注明出处!