讨论一下本地发起的 POST 能不能算为 CSRF 攻击

2018-02-06 12:20:14 +08:00
 FONG2

最近集团换了一个安全公司为网站做渗透测试,

出了一份漏洞报告:

大体内容为,黑客可以用 CSRF 方式修改用户个人信息,条件系黑客写好 post form 保存为 test.html 并把 test.html 存放在被攻击者本机,诱导被攻击者打开该文档 或将 test.html 放在我司域名服务器,诱导客户点击

我司网站已经配置了全局 csrf 过滤器,检查 refer 字段匹配白名单

本地首次请求 refer 为空,可以成功 在我司域名服务器 refer 合法,可以成功

但是??? 黑进客户电脑 /我司服务器 这种情况来说一个修改个人信息漏洞 没事吧??

7008 次点击
所在节点    程序员
45 条回复
yulitian888
2018-02-06 12:27:07 +08:00
如果是办公环境的话,邮件 /QQ 诱导点击的成功概率并不低啊,真的不要高估工作人员的素质
xomix
2018-02-06 12:28:15 +08:00
所以后台要发 token ……这样你随便 post,你有能用的 token 算我输。
FONG2
2018-02-06 12:32:01 +08:00
@yulitian888 如果客户随便打开陌生文件,这个安全危害更大啊
qlin
2018-02-06 12:35:02 +08:00
简单的做个跨资源访问限制 + content-type 限制,就差不多了
FONG2
2018-02-06 12:42:16 +08:00
@xomix 是的,像这种无风险业务我觉得屏蔽 get,屏蔽跨域 post,保证客户不是被动发起非法请求,至于关键业务我们是有二次鉴权的。
leir
2018-02-06 12:45:25 +08:00
为啥不使用 csrf token ?
Zzzzzzzzz
2018-02-06 12:49:06 +08:00
"本地首次请求 refer 为空,可以成功 在我司域名服务器 refer 合法,可以成功"

如果这种方式能成功

通过诱导用户访问不发送 referer 的 ssl 页面用 js 自动提交不也可以么
caola
2018-02-06 12:51:56 +08:00
为啥不使用 csrf token ? +1
40huo
2018-02-06 12:55:46 +08:00
这是标准的 csrf
jimrok
2018-02-06 13:01:28 +08:00
发一个够劲爆的邮件给你,一点链接直接黑掉你的浏览器,把木马植入进去。还用干什么 form post,low 了点。
fcten
2018-02-06 13:04:22 +08:00
没有严格检查用户输入导致网页被植入恶意脚本是很有可能发生的事情。检查 refer 不能防止这种典型的 csrf 攻击。
DuckJK
2018-02-06 13:09:00 +08:00
如果 referer 为空放行了请求,在 https 或 iframe 的 base64 是可以请求成功的。
zarte
2018-02-06 14:07:32 +08:00
都黑进去放东西了还要诱导?
fucker
2018-02-06 14:11:39 +08:00
我觉得还是加强一下员工安全意识吧。
tvboxme
2018-02-06 15:12:43 +08:00
这就是漏洞啊,现在多少框架都自带 csrf token 了,长点心吧。。
BoiledEgg
2018-02-06 15:16:01 +08:00
仅仅验证 refer 本来就不足以防范 csrf 的,csrf token 是必须的
ushio
2018-02-06 15:44:47 +08:00
不要寄望于公司员工能有多高的安全意识
Koali
2018-02-06 16:54:35 +08:00
这种漏洞只需要发送请求的时候给个随机数就可以了
lightening
2018-02-06 17:03:44 +08:00
为什么不用 CSRF token ?+1
picasso250
2018-02-06 17:31:02 +08:00
我之前在公司做过一次演习,用假域名做了 fish 站,只有一个登录界面.
然后发了一封邮件(用外网邮箱), 结果拿到了 5%用户的密码.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/428860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX