2024年最新前端安全——最新:lodash原型弊端从发现到修复全过程_lodash 4,2024年最新字节大牛教你手撕网络安全学习
另有兄弟不知道网络安全口试可以提前刷题吗?费时一周整理的160+网络安全口试题,金九银十,做网络安全口试里的显眼包!王岚嵚工程师口试题(附答案),只能帮兄弟们到这儿了!假如你能答对70%,找一个安全工作,题目不大。
对于有1-3年工作履历,想要跳槽的朋侪来说,也是很好的温习资料!
【完备版领取方式在文末!!】
93道网络安全口试题
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvZThlOGUwNGY1ZjA1ZmRlYjM0NjM0YjBiMzc4MGJkMzMucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvOTlkNGUzMGNiMTk1MTRhMzY3MjVmZDcxZGQ4YjMzMDgucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvNzkwMTkyMTZhNDZlMjk1NWI4YzE1NGFkOTMzZTljOGMucG5n
内容着实太多,不逐一截图了
黑客学习资源保举
末了给各人分享一份全套的网络安全学习资料,给那些想学习 网络安全的小搭档们一点资助!
对于从来没有打仗过网络安全的同砚,我们帮你准备了具体的学习发展蹊径图。可以说是最科学最体系的学习蹊径,各人跟着这个大的方向学习准没题目。
1️⃣零根本入门
① 学习蹊径
对于从来没有打仗过网络安全的同砚,我们帮你准备了具体的学习发展蹊径图。可以说是最科学最体系的学习蹊径,各人跟着这个大的方向学习准没题目。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvOWU1YzFjYTY5Mjg0ZDUzNDRhODdhMWUwMWZlMTgyMDguZ2lmI3BpY19jZW50ZXI=
② 蹊径对应学习视频
同时每个发展蹊径对应的板块都有配套的视频提供:
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvYjg0Mzk0Mjc2YmU0ZjdmY2Y0ZDE3NmZhNjI4NzQ4YWMucG5nI3BpY19jZW50ZXI=
网上学习资料一大堆,但假如学到的知识不成体系,碰到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。
必要这份体系化资料的朋侪,可以点击这里获取
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待参加我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvMzFhZjlmYWJiZmNjODEzNmM2YTIyMzk1Njk5MTg2ZWMucG5n
2. 弊端原明白析
普通来讲:攻击者可以通过 Lodash 的函数覆盖或污染JavaScript 对象的原型(prototype)
比方:通过 **Lodash**库中的函数 defaultsDeep 可以修改 Object.prototype 的属性。JavaScript 在读取对象中的某个属性时,假如查找不到就会去其原型链上查找。试想一下,假如被修改的属性是 toString 方法,比方:
const payload = '{"constructor": {"prototype": {"toString": true}}}'
_.defaultsDeep({}, JSON.parse(payload))
payload又为用户输入的数据,那么,在调用Object.prototype.toString 时就会非常不安全了。
lodash原型污染弊端出现在Lodash:4.17.12版本以下,我们可以来看下,依靠源码出现弊端的地方:
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvZDM5YWVkNjUyODA4N2JiMzc1YzljODc3NGMyZWU2MmMucG5n
结论: 实现了一个 safeGet 的函数来克制获取原型上的值。但是没有思量到构造方法constructor的环境,因此,在lodash“连夜”发版修复方法:
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvMDcwYmJkMTdlNmNlM2RiMDIzNzEzMGMzYTdhN2ZmNTgucG5n
3. 修复弊端
在明白了弊端怎样出现的环境下,下面我们要做的就是修复弊端了。到这里,有些人大概就明白了,既然原型污染弊端是由于lodash版本过低导致的,那我直接将package.json中lodash版本库改为最新的4.17.21不就行了。别急,下面我们循规蹈矩,由浅入深的明白并修复这个弊端。
tips:以下操纵前请做好项目备份
3.1 直接版本升级办理
假如你的项目很简朴,而且package.json也很直观的体现了引入的lodash版本低于4.17.12,那么大概坦白接修改版本就办理了。假如修改办理不了,可以试试修改版本号后。
删除node_modules和package-lock.json,重新npm install一下
3.2 子依靠lodash题目办理
上面的环境是最好的环境,也是最简朴的环境,但是现实上,我们碰到的题目大概比这个复杂的多。由于lz发现,本地前端项目package.json根本就没有引入lodash依靠。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvMjRmYTUxZTQyYWRmMTk4MTNhOWM5ZTYzNTYwNjQ3ZDMucG5n
这种环境下,上面那种方法就很显着行不通了,版本都没引入更遑论改版本了,那么,题目来了。既然没有引入lodash.js,那么**_.defaultsDeep方法又是哪来的呢。颠末我的排查,终于发现,在package-lock.json文件下,体现了引入了多个差异版本的lodash,正如我前面所说,lodash 作为一款非常盛行的npm库,提供了很多的方法。以是也是很多第三方库的子依靠。我不引用它,不代表第三方库不引用它。而且从全局搜刮来看,引入的地方还挺多。因此也没法一个个改。颠末学习相识,发现可以通过resolutions**指定子依靠版本。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvYTM5MzExZjFkNjUzZGUyMWE1ODNkNzliMDlmOTRmZjYucG5n
在 npm 中,resolutions 字段通常用于办理依靠版本辩论的题目。当你利用 resolutions 字段时,你可以欺压指定某个依靠包的版本,以确保项目中利用的依靠包版本符合你的要求。
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"preinstall": "npx force-resolutions"
},
"dependencies": {
"element-ui": "^2.15.8",
},
"resolutions": {
"lodash": "4.17.21"
},
"overrides": {
"**/lodash": "4.17.21"
},
}
overrides设置为resolutions的替补,要求npm 8以上。scripts下新增一条下令:
“preinstall”: “npx force-resolutions”
这条下令通常是为了在安装依靠包之前欺压实行 force-resolutions 工具,以确保 resolutions 字段中指定的依靠版本得到精确安装。正常环境下,npm install的时间就会自动检测并实行了。
实行完之后,可以通过下面下令查察子依靠是否都已指定版本乐成
学习蹊径:
这个方向初期比力容易入门一些,把握一些根本技能,拿起各种现成的工具就可以开黑了。不外,要想从脚本小子酿成黑客大神,这个方向越以后,必要学习和把握的东西就会越来越多以下是网络排泄必要学习的内容:
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvYmRkMmMwOGExMjAwM2I2MzRiY2YzYWFmZjc4ZDlmMTEucG5nI3BpY19jZW50ZXI=
网上学习资料一大堆,但假如学到的知识不成体系,碰到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。
必要这份体系化资料的朋侪,可以点击这里获取
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待参加我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
页:
[1]