网络安全中常见的攻击方式

一、前言

参与后台开发,回想起来,也有好几年,但对网络安全,一直没有放在心上。

后来参与公司上线项目接口安全的开发,才渐渐意识到网络安全的重要性。

高可用的接口安全规范

下面总结常见的网络攻击方式

二、客户端攻击

1.XSS攻击

XSS攻击即跨站点脚本攻击(Cross Site Script),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。

它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

类型 解释
反射型XSS攻击 简单说,就是要用户去点击,点了我才执行响应的命令。这种类型的XSS攻击是最常见的。
持久型XSS攻击 服务端已经接收了,并且存入数据库,当用户访问这个页面时,这段XSS代码会自己触发,不需要有客户端去手动触发操作。
DOM XSS 简单理解,DOM XSS就是出现在JavaScript代码中的漏洞。
防御方式
对输入的数据做过滤处理。

2.CSRF攻击

攻击者通过跨站请求,以合法用户的身份进行非法操作,如转账交易、发表评论等。CSRF的主要手法是利用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是利用了浏览器Cookie或服务器Session策略,盗取用户身份。
在这里插入图片描述
CSRF为什么能够攻击成功?其本质原因是重要操作的所有参数都是可以被攻击者猜测到的。

防御方式 具体操作
header 加 Token 表单Token通过在请求参数中增加随机数的办法来阻止攻击者获得所有请求参数(✔)
验证码 暴力防御方式,用户体验差
请求地址验证 ip校验

Spring Security、Struts2等Java框架都已经内置提供了CSRF的防御机制。

三、服务端攻击

1.SQL注入

攻击者在HTTP请求中注入恶意SQL命令(如:drop table users;),服务器用请求参数构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。

防御方式
使用预处理 PreparedStatement。
使用正则表达式过滤掉字符中的特殊字符。

目前许多数据访问层框架,如IBatis,Hibernate等,都实现SQL预编译和参数绑定,攻击者的恶意SQL会被当做SQL的参数,而不是SQL命令被执行。

2.DoS攻击

DoS 是 Denial of Service 的简称,即拒绝服务,造成 DoS 的攻击行为被称为 DoS 攻击,其目的是使计算机或网络无法提供正常的服务。

防御方式 具体操作
验证码 暴力防御方式,用户体验差
限制请求频率 Yahoo算法,根据IP地址和Cookie等信息,可以计算客户端的请求频率并进行拦截。

四、其他

其他攻击如点击劫持、文件上传漏洞、加密算法等,工作繁忙,有空再叙。

发布了104 篇原创文章 · 获赞 451 · 访问量 85万+

猜你喜欢

转载自blog.csdn.net/larger5/article/details/87925961