WEB攻击 SQL,XSS,CSRF,DDOS,文件上传漏斗

1.SQL注入攻击

攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
用户登录,输入用户名 xxxxx,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现select * from user where name = ‘xxxxx’ and password = ‘’ or ‘1’=‘1’不管用户名和密码是什么内容,使查询出来的用户列表不为空;
如何防范:
使用预编译的PrepareStatement
Web端
1)有效性检验。
2)限制字符串输入的长度。
服务端
1)不用拼接SQL字符串。
2)使用预编译的PrepareStatement。
3)有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过Web端请求)
4)过滤SQL需要的参数中的特殊字符。比如单引号、双引号。

2.XSS攻击(Cross Site Scripting)中文名称为:跨站脚本攻击

XSS的重点不在于跨站点,而在于脚本的执行;XSS的原理是:恶意攻击者在web页面中会插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌入到web页面中script代码会执行,因此会达到恶意攻击用户的目的;
如何防范:
1)前端,服务端,同时需要字符串输入的长度限制。
2)前端,服务端,同时需要对HTML转义处理;将其中的”<”,”>”等特殊字符进行转义编码;防 XSS 的核心是必须对输入的数据做过滤处理;

3.CSRF攻击(Cross Site Request Forgery, 跨站域请求伪造)

指攻击者通过跨站请求,以合法的用户的身份进行非法操作。可以这么理解CSRF攻击:攻击者盗用你的身份,以你的名义向第三方网站发送恶意请求;CRSF能做的事情包括利用你的身份发邮件,发短信,进行交易转账,甚至盗取账号信息;
如何防范:
1)验证 HTTP Referer 字段;(Referer 字段记录了该 HTTP 请求的来源地址。)
2)在请求地址中添加 token 并验证;(可在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如请求中没有 token 或 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。)
3)在 HTTP 头中自定义属性并验证(以参数的形式加入一个随机产生的 token,把它放到 HTTP 头中自定义的属性里)

4.文件上传漏洞

网站Web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护;
如何防范:
文件上传的目录设置为不可执行。
1)判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。
2)对上传的文件类型进行白名单校验,只允许上传可靠类型。
3)上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本,同时向shell.php.rar.ara这种文件,因为重命名而无法成功实施攻击。
4)限制上传文件的大小。
5)单独设置文件服务器的域名。

5.DDos 攻击(Distributed Denial of Service,即分布式拒绝服务攻击)

利用TCP三次握手的漏洞进行攻击;客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认没有彻底根治的办法,除非不使用TCP
预防:
1)确保服务器的系统文件是最新的版本,并及时更新系统补丁。
2)关闭不必要的服务。
3)限制同时打开的SYN半连接数目。
4)缩短SYN半连接的time out 时间。
5)正确设置防火墙,禁止对主机的非开放服务的访问,限制特定IP地址的访问,启用防火墙的防DDoS的属性,严格限制对外开放的服务器的向外访问,运行端口映射程序和端口扫描程序,要认真检查特权端口和非特权端口。
6)认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击。
7)限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,主机的信息暴露给黑客,无疑是给了对方入侵的机会。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(网络安全)