简介
XSS(跨站脚本攻击)
原因:后台没有对用户的输入进行过滤 导致JS代码被客户端浏览器执行
(不仅仅只前端安全)
原理
sql注入:将用户的数据当作了SQL语句放入了数据库 执行
XSS:将用户的数据当作了HTML语句放到了 页面 执行
分类
反射型 | 服务器解析 | 浏览器–》后端–》浏览器 |
存储型 | 攻击数据存储在数据库里 | 浏览器–》后端–》数据库–》后端–》浏览器 |
dom型 | 作文档树来进行攻击 | URL–》浏览器 浏览器自己处理 |
存储型和dom型的区别:存储型后端处理,dom型前端处理
cookie
cookie的作用
区别身份,维持权限
Cookie or Session
cookie:客户端
session:服务端
危害
网络钓鱼,盗取各类账号密码
窃取用户cookie资料
强制弹出广告页面,刷流量
进行大量的客户端攻击,如ddos攻击
<iframe src=http://baidu.com>
蠕虫病毒
<meta http-equiv="refresh" content="0;url=http://www.baidu.com">
防护
开启httponly:指防止js获取cookie,并不能完全阻止xss漏洞
敏感字符串的过滤
如何判定一个后门有没有后门?抓包分析
学习xss的基础知识:
JavaScript基本语法:document对象,window对象
Ajax请求(本质还是js)
攻击
攻击目标:构造出能被浏览器执行的JS代码
利用场景:
用户自己可控的输入框
评论框,在线订单(表单),聊天室,留言板,(可输入参数的地方,可交互的地方)
管理员经常查看(触发)的地方
攻击技巧
右键查看网页元素进行分析
标签语法的替换
特殊符号干扰
垃圾数据溢出
大小写绕过
转换为Unicode编码
更换提交方式:post–>request
隐藏在js文件里
绕过HTTP only:
浏览器未保存账号密码:需要xss产生登陆地址,利用表单劫持
浏览器保存账号密码:浏览器读取账号密码
工具的使用
xsstrike:扫描
beef