csrf、xss攻击总结

CSRF攻击原理及过程如下:

  1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;

2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

  1. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

  2. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;

  3. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

6. 解决

  1. 签名与时间戳防护处理
  2. token由三部分组成:

a). 消息[msg]:而msg本身也有两部分组成:一部分:随机字符串,过期时间戳。

b). 分割符[separator]:用于分隔msg部分与加密后生成的signature签名部分,这里用的是”.“

c). 签名[signature]:signature。signature签名,是对“msg消息”用特定算法进行加密后的串。
token = base64(msg)格式化…base64(sha256(“密锁”, msg))

xss攻击

实施XSS攻击须要具有两个条件:css

1、须要向web页面注入恶意代码;html

2、这些恶意代码可以被浏览器成功的执行。
  
在浏览器search获取参数,如果输入的是JS,可以被执行。

我们假设某个用户的这个网页中的localstorage中保存着用户token。再假设这时候访问:domain.com/index.php?input=。
这正是将 授权登陆的token发送给了攻击者的服务器,攻击者拿到token就等于拿到了登陆态,攻击者正是通过发送此类似链接,诱导用户点击进行攻击。因此不要点击陌生链接。

解决:

1、不要相信用户输入,过滤所有的HTTP Request参数。
2、用户输入长度限制。
3、http-only,禁止js读取某些cookie。
4、避免拼接html。
5、避免内联事件。如点
6、主动检测和发现
1、是在表单提交或者url参数传递前,对须要的参数进行过滤,请看以下XSS过滤工具类代码
2、 过滤用户输入的 检查用户输入的内容中是否有非法内容。如<>(尖括号)、”(引号)、 ‘(单引号)、%(百分比符号)、;(分号)、()(括号)、&(& 符号)、+(加号)等。、严格控制输出

原文链接:
csrf: https://blog.csdn.net/weixin_39922749/article/details/111207965
xss:
https://www.jianshu.com/p/3d66d5f4e1c1
http://www.javashuo.com/article/p-kvtsyvtc-br.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值