此文是学习过程分享,欢迎讨论!
XSS攻击
xss攻击即跨站脚本攻击(Cross-Site Scripting),是一种常见的网络安全漏洞,攻击者可以通过在网页中注入恶意脚本,使用户在浏览器中执行这些恶意脚本,从而盗取用户信息,达到攻击目的。
- 存储型XSS:攻击者会通过网页上的输入点(留言、评论等)向服务器注入恶意脚本(存储到目标网站的数据库中),用户在进行留言、评论,浏览到有恶意脚本的页面时,浏览器会下载页面内容,然后在浏览器中执行恶意代码,从而盗取用户会话信息、窃取敏感数据等。
- 反射型XSS:攻击者不会向网站服务器中添加恶意脚本,而是通过构造恶意URL来实现攻击,当用户访问特点的链接时,就会触发这些恶意脚本,恶意脚本包含在URL的参数中,脚本执行反射会用户的浏览器执行。
一般步骤
- 构造恶意URL: 攻击者构造包含恶意脚本的URL,并将其发送给目标用户。通常,攻击者会将恶意脚本作为URL参数的一部分,例如:http://example.com/page?param=<恶意脚本>
- 用户点击恶意链接,将这个恶意URL发送到服务器中
- 服务器响应:服务器接收到包含恶意脚本的URL请求,并将恶意脚本作为响应的一部分返回给用户的浏览器。
- 恶意脚本执行:用户接收到服务器响应的数据后,恶意脚本就会开始执行,从而达到攻击目的,获取用户信息、敏感数据等
如何避免XSS攻击
转码过滤
在针对存储型XSS攻击时,因为需要使用到从服务器响应回来的数据,难免返回的数据中携带恶意代码,就可以通过将数据中的<
和>
转换成<
和>
,这样就可以将<script>
标签中的代码确保不被浏览器执行,以此达到避免XSS恶意攻击
CSP策略
内容安全策略(Content Security Policy,CSP)是一种通过定义和实施规则,来减少或防止恶意脚本的执行的安全机制。CSP旨在帮助防范跨站脚本攻击(XSS)等安全威胁。它通常由网站管理员在服务器端配置,并在HTTP响应头中发送给浏览器。
Cookie中的HttpOnly
HttpOnly
是一个用于增加对跨站脚本攻击(XSS)的防御措施的安全标记。该标记主要应用于网站中的 HTTP Cookie,用于告知浏览器不要在脚本中通过document.cookie
访问特定的 Cookie。- 当设置了
HttpOnly
标记的 Cookie,JavaScript 脚本就无法通过document.cookie
来访问它,从而减少了被恶意脚本窃取 Cookie 的可能性。这对防范 XSS 攻击尤为重要,因为攻击者如果能够访问用户的 Cookie,就可能冒充用户身份进行恶意操作。
DDoS攻击
DDoS叫做分布式拒绝服务攻击,旨在通过超载目标系统、服务或网络,使其无法提供正常的服务,凡是能导致合法用户不能正常访问网络服务的行为都算是拒绝服务攻击。
应对措施:
- 限制连接速度和频率,限制每个IP地址的连接速度和请求频率,以减缓攻击速度。
- 定期扫描可能存在的安全漏洞
- 设置黑名单
- CDN加速,将网站访问流量分配到了各个节点中,这样可以隐藏网站的真实IP,也可以在遭遇DDoS攻击时,将流量分散到各个节点中,防止网站崩溃
CSRF攻击
CSRF攻击又称跨站请求伪造,是一种网络攻击,攻击者会通过电子邮件、社交媒体等途径向受害者发送恶意链接,受害者点击链接登录后,攻击者会构造一个伪装成受害者已经授权的请求来骗取服务器执行非法操作。
避免措施:
- 采用同源策略,利用浏览器的同源策略,确保网站只能通过相同协议、主机和端口向目标服务器发出请求。这可以减少来自不同域的恶意网站的攻击。
- 使用Token验证
- 添加验证码、人脸识别等验证
- 为Cookie添加
HttpOnly
,设置Cookie只能被http协议传输,不能被其它方式访问