xss
原理
接收数据时,未进行相关过滤,使得接收数据时若收到script语句时仍被正常执行,属于前端漏洞。危害取决于代码语句的影响。且会收到浏览器内核版本限制。
分类
反射(非持续型)
跨站语句局限于交互过程,只能够进行单次攻击。
攻击不触及服务器
储存(持续型)
跨站语句存储到站点数据库中,能够持续进行攻击。
DOM
参数先与本地前端代码交互,不直接由后端代码进行处理。
绕过
HttpOnly
什么是HttpOnly:cookie的一种属性,设置后无法通过js脚本读取到cookie,是一种有效防止xss攻击的手段
cookie无法被读取,所以采用读取账号密码的方法
- 无保存读取
利用表单劫持,通过跨站语句将登录时的数据包传送给跨站平台,从而得到管理员账号密码。跨站语句必须上传在登录界面,限制较大
- 保存读取
与无保存的区别在于不局限于登录框,任意存储型xss,如留言板等都可以实现攻击
代码过滤
onclick事件过滤
script或<>被过滤情况下,可以通过添加onclick事件构造形如以下的代码实现xss攻击
1 | onclick:"alert(1)" |
html编码
过滤关键字情况下通过编码进行过滤
CSRF
伪造其他用户请求进行攻击,需要得知对方地址结构信息。