安全攻防技能30讲
何为舟
前微博安全研发负责人
立即订阅
3214 人已学习
课程目录
已更新 28 讲 / 共 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 别说你没被安全困扰过
免费
安全基础概念 (5讲)
01 | 安全的本质:数据被窃取后,你能意识到问题来源吗?
02 | 安全原则:我们应该如何上手解决安全问题?
03 | 密码学基础:如何让你的密码变得“不可见”?
04 | 身份认证:除了账号密码,我们还能怎么做身份认证?
05 | 访问控制:如何选取一个合适的数据保护方案?
Web安全 (7讲)
06 | XSS:当你“被发送”了一条微博时,到底发生了什么?
07 | SQL注入:明明设置了强密码,为什么还会被别人登录?
08 | CSRF/SSRF:为什么避免了XSS,还是“被发送”了一条微博?
09 | 反序列化漏洞:使用了编译型语言,为什么还是会被注入?
10 | 信息泄漏:为什么黑客会知道你的代码逻辑?
11 | 插件漏洞:我的代码看起来很安全,为什么还会出现漏洞?
12 | 权限提升和持久化:为什么漏洞修复了,黑客还是能够自由进出?
Linux系统和应用安全 (5讲)
13 | Linux系统安全:多人共用服务器,如何防止别人干“坏事”?
14 | 网络安全:和别人共用Wi-Fi时,你的信息会被窃取吗?
15 | Docker安全:在虚拟的环境中,就不用考虑安全了吗?
16 | 数据库安全:数据库中的数据是如何被黑客拖取的?
17 | 分布式安全:上百个分布式节点,不会出现“内奸”吗?
安全防御工具 (5讲)
18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
19 | 防火墙:如何和黑客“划清界限”?
20 | WAF:如何为漏洞百出的Web应用保驾护航?
21 | IDS:当黑客绕过了防火墙,你该如何发现?
22 | RASP:写规则写得烦了?尝试一下更底层的IDS
知识串讲 (2讲)
模块串讲(一) | Web安全:如何评估用户数据和资产数据面临的威胁?
模块串讲(二)| Linux系统和应用安全:如何大范围提高平台安全性?
特别加餐 (3讲)
加餐 | 数据安全:如何防止内部员工泄漏商业机密?
加餐2 | 前端安全:如何打造一个可信的前端环境?
加餐3 | 职业发展:应聘安全工程师,我需要注意什么?
安全攻防技能30讲
登录|注册

加餐2 | 前端安全:如何打造一个可信的前端环境?

何为舟 2020-01-31
你好,我是何为舟,欢迎来到安全专栏的第二次加餐时间。
前端的安全性一直是我们在考虑安全问题时,没有办法绕过的关键问题。今天,我就来和你聊一聊如何保护前端的安全性。
我们先来看一个攻击事件。2017 年,12306 网站被曝出有“买下铺”的功能。我们都有过买票的经历,当我们在 12306 上买卧铺的时候,是没法选择上铺、中铺还是下铺的。但是,有人去分析了 12306 的前端代码,发现里面其实包含了选铺位的功能,只是默认为随机,没有展示出来。所以,有人通过篡改前端代码,就将这个功能开放出来了。
一旦黑客能够完全摸清楚应用的前端代码,就能够任意地篡改前端的逻辑,实现带有想要功能的前端应用了。
如果说 12306 的例子,还不足以让你对前端安全产生警惕的话,你可以想一想,我们在网上看到的各种所谓的“破解版”软件,其实都是人为修改了应用的前端认证功能,从而不需要认证就可以正常使用。
除了篡改前端代码,黑客还可以通过对前后端接口的调用过程进行分析,复刻出一个自己的前端应用。在黑客复刻的前端应用中,所有的接口认证和加密都合法,只是调用的顺序完全由黑客掌控。粉丝圈比较流行的各类明星应援工具,其实都是基于这个原理实现的:黑客通过分析微博客户端的接口,自己打包了一个前端应用,实现了一键关注、点赞等功能。因为这些接口都是合法的,所以后端人员很难分辨出这些请求是来自于正规的应用,还是黑客自己实现的应用。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《安全攻防技能30讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(5)

  • leslie
    个人觉得有一个还不错的方式不过仅仅用在最关键的地方或场合:写2套代码或本地测试环境留注释完整的源代码,线上环境把相关注释全部祛除。线上出现问题时,问题放到测试环境调试,毕竟线上代码的修改必须经过测试环境测试才能提交生产环境;测试系统有完整注释的源代码便于测试和解决问题就能解决问题。
            这是个人学完今天课程的一点扩展的想法:唯一的代价就是稍微多花点时间;不过能真正解决问题不再乎那几分钟的删除注释的时间。谢谢老师的分享。
    2020-02-07
  • darktemple9
    webpack打包可以用uglify插件,问题是混淆强度怎么确定了,特别是业务看重体积和性能的情况下,这些策略怎么上呢?
    2020-02-03
  • 岑小白
    😂 前端 debug 本来就是史诗级难度,这样混淆之后基本上自绝于 debug 了。保密性要求没那么高的项目一般也就 ugly 一下了。这样看来,安全也是需要极大成本的啊。

    作者回复: 也不完全是,混淆之后只是报错信息不可用了。但是你自己埋入的日志还是可以看到的,所以想要debug的话,只能依靠自己埋入足够充分的错误判断和日志了。

    2020-01-31
  • iLeGeND
    混淆具体是怎么操作的呢 不会是手动吧

    作者回复: 网上有很多公开的平台和工具可以帮你作混淆,搜索一下,直接使用就好了。

    2020-01-31
  • LEON
    您好,如果浏览器前端不支持JS脚本怎么办?只有JS脚本可以进行前端混淆吗?还有什么技术可以进行前端混淆?谢谢。

    作者回复: 1、浏览器不支持JS脚本,那就只能是静态HTML页面了。这种页面里面没有逻辑,把注释和隐藏信息去掉就行了。
    2、每个语言都有各自的混淆技术,所以这里没提。比如iOS自带反编译工具,安卓有各类加固平台可以使用。

    2020-01-31
收起评论
5
返回
顶部