XSS和CSRF
来源:互联网 发布:js屏幕图片自动旋转 编辑:程序博客网 时间:2024/05/17 20:25
XSS
(cross site scrip)是攻击者往web页面中插入恶意的HTML或者js片段
反射型:
在URL
的查询字段添加类似于str=xss
的字符,将其在服务器端解析成JSON
数据后{str:'xss'}
后添加到页面,那么可用script
标签,link
标签,style
标签或者iframe
标签替换前面的xss
字符,这样页面就可能会被无意中篡改:
script
标签执行一段而已脚本,或者获取用户的cookie
信息发送给攻击者,style
或者link
标签可将页面内容显示为display:none
iframe
标签可插入其他页面,如广告植入
存储型
即将恶意脚本存在服务器端后。例如最常用的是将用户的评论信息存储在服务器端重新获取显示在页面。
- 在论坛中发一个
<script>while(true){}</script>
循环,执行一段恶意代码 - 在论坛中发一个不安全的链接,欺骗用户点击后获取用户的cookie信息
- 在论坛中加一个恶意表单,用户提交表单的时候却把信息传递到攻击者的服务器
- 在论坛中加一个隐藏的恶意表单,添加hover事件触发CSRF攻击。
- 在论坛中加一
<img src="" onerror="alert(123)">
执行恶意脚本
解决方法
- 避免在cookie中泄漏隐私,通过将cookie和IP绑定验证用户,设置cookie是添加httpOnly属性,这样js脚本将无法获取cookie
- 对用户的输入进行以下操作:
- 编码,即转义,例如
""
对应"
,&
对应&,<
对应<
,>
对应&mt
,空格对应 
- 客户端反转义
- 过滤,如将img标签中的
onerror
过滤掉,还可以过来过滤script,style,link,iframe
标签。
- 编码,即转义,例如
CSRF
伪造用户请求,冒充用户
完成1次CSRF攻击必须完成以下两个步骤:
- 用户登录网站A,并在本地生成Cookie
- 在不退出网站A的情况下,访问危险网站B。
解决方法
- 请求令牌:服务器以某种策略生成随机字符串作为令牌,保存在session或localStorage中,用户请求页面时需将令牌和其他信息一起发送,若和服务器短的领令牌不一致则需要重新验证身份。
- 强制用户输入验证码
阅读全文
0 0
- csrf和xss攻击
- 关于XSS和CSRF
- CSRF 和 XSS (未完)
- CSRF和XSS攻击
- XSS和CSRF区别?
- XSS和CSRF
- XSS和CSRF攻击
- xss 和 csrf攻击详解
- CSRF攻击和XSS攻击
- XSS CSRF
- CSRF&XSS
- xss漏洞和csrf漏洞防御
- Spring MVC防御CSRF和XSS
- Spring MVC防御CSRF和XSS
- Spring MVC防御CSRF和XSS
- 浅析XSS和CSRF攻击及防御
- 怎样防止CSRF和XSS攻击
- 什么是XSS和CSRF?如何防范
- HTTP错误 403.14-Forbidden
- LeetCode----406(M)、392(M)
- 使用maven搭建XML风格的Spring MVC+WebSocket+sockjs+STOMP+ActiveMQ应用
- 在shell中对多条记录去重
- 手势解锁
- XSS和CSRF
- 度量学习与聚类
- Servlet技术
- Android RecyclerView 的简单使用
- Lua学习笔记之Coroutine
- u8sdk走过的坑-ExtMXSerializer.writeAttributeValue
- HDU 1914 The Stable Marriage Problem
- c++排序算法之插入法
- const int*和int const*的区别