这是我参加第四届青训营笔记创作活动的第七天。
今天补一下之前上课的笔记,因为之前忘了写了,刚想起来还有一节课的笔记没有做,今天给补上。
Web开发的安全
攻击篇
跨站脚本攻击(XSS)
xss主要利用了开发者盲目信任用户提交的信息,前端工程师直接把用户提交的字符串转化成DOM树
按性质划分
- 存储型:恶意脚本被存在数据库中,用户访问页面就会被攻击,危害极大,对全部用户可见。
- 反射型:不涉及数据库,从URL上攻击。恶意脚本在服务端注入
- 基于DOM的攻击:不需要服务器的参与,恶意攻击的发起+执行,全在浏览器中完成。
- 基于Mutation的攻击:利用了浏览器渲染DOM的特性(独特优化),会按浏览器进行攻击。
跨站伪造请求(CSRF)
在用户不知情的情况下,利用用户权限(cookie),构造指定HTTP请求,窃取或者修改用户敏感信息。
Injection(注入)
SQL-Injection
过程:SQL参数在请求上代入(恶意注入),然后请求到达服务器端,服务器读取这段SQL语句,
然后运行代码, 代码被执行后,攻击者能够获取其他数据,或者修改删除数据。
服务端伪造请求(SSRF)
与Injection原理相同。
DoS
通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应更多请求,导致请求挤压,进而雪崩效应。
正则表达式——贪婪模式
“?”:满足一个
“no?”:满足尽量多
基于正则表达式的DoS
回溯
DDoS
短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而雪崩效应,无法响应新情求。
攻击特点:
- 直接访问IP
- 任意API
- 消耗大量宽带
总结
今天就到这里了,明天继续。