好久没来论坛了,顺便说点东西,

哈哈哈,上次送的loc账号自动签到脚本不知不觉都挂到金牌会员了(1000+),但是loc的邀请码涨价500+了,原来好像是100+来自,还是买不起。


----

#### 另外再说说论坛的事。

论坛有一个js文件,看上去很平常。如果看过安全圈的新闻,就会发现这种引用有问题。

c108714821d502b582cfddd58ad27f58.jpeg![c108714821d502b582cfddd58ad27f58.jpeg](https://s.rmimg.com/2024/04/07/c108714821d502b582cfddd58ad27f58.jpeg)

首先这个**外部**js是没有用`async=""`或者`defer=""`加载的。

这个js又在`<head>`区块中,这说明什么问题?

##### 说明是这个js是同步加载的,并且要等这个js加载完才会加载正文`<body>`。

当cdn.jsdelivr.net域名连接性不好时,发过去的http包drop掉时,浏览器会一种等待这个js加载完成或者1分钟超时断开连接才加载正文。

会发生什么,用俗话来讲,就是cdn.jsdelivr.net加载的时候会白屏(因为body没加载)(不过tcp reset由于会迅速断开,反而不受影响)


----
##### 还有,这种方式
>

<script src="https://example.com/example-framework.js"></script>

直接引用一个外部js而不进行任何校验是十分危险的,而且还是这种任何人都有编辑权限的仓库,github,npm等等

即使现在指向官方,也不能保证未来官方仓库改名,删库后(然后被建了同名仓库顶替),或者被篡改(源仓库被黑,或者中间cdn被劫持等等)等等。

这个圈内有很多利用的例子,连xss都省了,直接钓走登录cookie。


-----

正确做法减少外部js引用,如果必须要引用,必须校验js的hash(如sha256等等)。

>

<script src=“https://example.com/example-framework.js” integrity=“sha256-Kap7fdgcCY5u+R9GqQ8K/uxy9rx7GYl1kPzQho1wx4Jw” crossorigin=“anonymous”></script>

我了解这个integrity是看到一个新闻,好像是某交易所网站引用外部js未校验的事情,结果上游js被篡改,导致用户币被盗走了。

最后,本来还想写一点但是忘了刚刚想的是什么了,那就算了。另外,感觉论坛变冷清了许多

[“\u597d\u4e45\u6ca1\u6765\u8bba\u575b\u4e86\uff0c\u968f\u4fbf\u8bf4\u70b9\u4e1c\u897f\uff0c\u6c34\u4e00\u8d34\u3002”,“\u597d\u4e45\u6ca1\u6765\u8bba\u575b\u4e86\uff0c\u987a\u4fbf\u8bf4\u70b9\u4e1c\u897f\uff0c”]

感谢大佬!:xhj06:

[[1],[1,31]]

@“[已注销]”#1 老詹来活了:xhj22:

WOC,这事儿可大可小啊

不愧是顶着删除一切的ID,V5

确实有这个风险,虽然jsdelivr是公共cdn最大厂了。我调整下。

[[1,31],[2,31]]

楼主牛逼!。。。我发现很多网站有这个问题

吓一身冷汗啊

666

这个确实不是一个小问题

学习了 好文章

论坛少了我 水贴都少了