web安全开发--青训营笔记

115 阅读4分钟

一、Cross-Site Scripting(xss) 这是一种跨站脚本攻击,它可以将 cookies 或其他隐私信息窃取出来,发送给攻击者,将受害者重定向到由攻击者控制的网页,或是经由恶意网站在受害者的机器上进行其他恶意操作。甚至可以绘制一个UI弹窗,诱导用户进行点击或者填写表单,以达到窃取信息的目的。

该攻击一般分为四大类: 1.存储型 XSS 注入型脚本永久存储在目标服务器上。当浏览器请求数据时,脚本从服务器上传回并执行。

2.反射型 XSS 当用户点击一个恶意链接,或者提交一个表单,或者进入一个恶意网站时,注入脚本进入被攻击者的网站。Web 服务器将注入脚本,比如一个错误信息,搜索结果等 返回到用户的浏览器上。由于浏览器认为这个响应来自"可信任"的服务器,所以会执行这段脚本。

3.基于 DOM 的 XSS 通过修改原始的客户端代码,受害者浏览器的 DOM 环境改变,导致有效载荷的执行。也就是说,页面本身并没有变化,但由于 DOM 环境被恶意修改,有客户端代码被包含进了页面,并且意外执行。

4.Mutation-based XSS 这是一种新型的XSS攻击,它利用了浏览器渲染DOM的特性。innerHTML属性将字符串插入浏览器的 DOM 中,浏览器就会改变字符串。这种突变是高度不可预测的,因为它不是指定innerHTML处理的一部分,而是在每个主要浏览器系列中以不同方式实现的 HTML 代码的专有优化。变异的字符串现在包含一个有效的 XSS 向量,攻击将在渲染新的 DOM 元素时执行。

Dom.png 在这段代码中,submit按钮的onclick事件调用了xsstest()函数。而在xsstest()中,修改了页面的DOM节点,通过innerHTML把一段用户数据当作HTML写入到页面中,造成了DOM Based XSS。

二、跨站伪造请求(Cross-site request forgery(CSRF))

它是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行和难以防范,所以被认为比XSS更具危险性。 例如在某次需要身份验证的银行业务中,攻击者使用了受信用户的Cookie访问网站,就可能使得服务器误以为是用户发起的请求,从而完成该业务,给用户造成损失。

三、DDOS攻击

这是拒绝服务攻击,这种攻击行为使网站服务器充斥大量的要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷而停止提供正常的网络服务。例如我们开了一家餐馆,来了很多客人坐在座位上却不点餐,不进行后续流程,这样导致后续正常的客人进来吃饭,却因为餐馆没有了座位而无法提供服务。 一个比较完善的DDos攻击体系分成四大部分,分别是攻击者( attacker也可以称为master)、控制傀儡机( handler)、攻击傀儡机( demon,又可称agent)和受害着( victim)。第2和第3部分,分别用做控制和实际发起攻击。第2部分的控制机只发布令而不参与实际的攻击,第3部分攻击傀儡机上发出DDoS的实际攻击包。对第2和第3部分计算机,攻击者有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自攻击者的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦攻击者连接到它们进行控制,并发出指令的时候,攻击傀儡机就成为攻击者去发起攻击了。

DDOS.png 整个过程可分为: 1)扫描大量主机以寻找可入侵主机目标; 2)有安全漏洞的主机并获取控制权; 3)入侵主机中安装攻击程序; 4)用己入侵主机继续进行扫描和入侵。