上述方式攻击脚本直接经服务器转手后返回浏览器触发执行,存储型与之的区别在于能够将攻击脚本入库存储,在后面进行查询时,再将攻击脚本渲染进网页,返回给浏览器触发执行。常见的套路举例如下:
1、攻击者网页回帖,帖子中包含JS脚本
2、回帖提交服务器后,存储至数据库
3、其他网友查看帖子,后台查询该帖子的回帖内容,构建完整网页,返回浏览器
4、该网友浏览器渲染返回的网页,中招!
防御手段:前后端均需要做好内容检测,过滤掉可执行脚本的侵入
重点关注:前端工程师、Web后端工程师
CSRF攻击Web安全三板斧之三,攻击示意图如下:
核心思想在于,在打开A网站的情况下,另开Tab页面打开恶意网站B,此时在B页面的“唆使”下,浏览器发起一个对网站A的HTTP请求。这个过程的危害在于2点:
1、这个HTTP请求不是用户主动意图,而是B“唆使的”,如果是一个危害较大的请求操作(发?删数据?等等)那就麻烦了
2、因为之前A网站已经打开了,浏览器存有A下发的k或其他用于身份认证的信息,这一次被“唆使”的请求,将会自动带上这些信息,A网站后端分不清楚这是否是用户真实的意愿
重点关注:前端工程师、Web后端工程师
D攻击DDoS全称Distributed Deal of Service:分布式拒绝服务攻击。是拒绝服务攻击的升级版。拒绝攻击服务顾名思义,让服务不可用。常用于攻击对外提供服务的服务器,像常见的:
Web服务邮件服务DNS服务服务......在早期技术还没有那么发达的时候,发起DoS攻击是一件很容易的事情:一台性能强劲的计算机,写个程序不断向服务器进行请求,服务器应接不暇,最终无法处理正常的请求,对别的正常用户来说,看上去网站貌似无法访问,拒绝服务就是这么个意思。
后来随着技术对发展,现在的服务器早已不是一台服务器那么简单,你访问一个的,背后是数不清的节点,数不清的Web服务器。
这种情况下,还想靠单台计算机去试图让一个网络服务满载,无异于鸡蛋碰石头,对方没趴下,自己先趴下了。
技术从来都是一柄双刃剑,分布式技术既可以用来提供高可用的服务,也能够被攻击方用来进行大规模杀伤性攻击。攻击者不再局限于单台计算机的攻击能力,转而通过成规模的网络集群发起拒绝服务攻击。
拒绝服务攻击实际上是一类技术,根据具体实施手段的不同,又可以进一步细分:
SYN FloodIP FloodUDP Flood......防御手段:即便是到现在,面对DDoS也没有100%打包票的防御 *** ,只能靠一些缓解技术一定层面上减轻攻击的威力。这些技术包括:清洗、SYN Cookie等等。
重点关注:运维工程师、安全工程师
DNS劫持当今互联网流量中,以HTTP/为主的Web服务产生的流量占据了绝大部分。Web服务发展的如火如荼,这背后离不开一个默默无闻的大功臣就是系统:
如果没有DNS,我们上网需要记忆每个网站的IP而不是他们的域名,这简直是灾难,好在DNS默默在背后做了这一切,我们只需要记住一个域名,剩下的交给DNS来完成吧。
也正是因为其重要性,别有用心的人自然是不会放过它,DNS劫持技术被发明了出来。
DNS提供服务用来将域名转换成IP地址,然而在早期协议的设计中并没有太多考虑其安全性,对于查询方来说:
我去请求的真的是一个DNS服务器吗?是不是别人冒充的?查询的结果有没有被人篡改过?这个IP真是这个网站的吗?