常见的网络攻击有哪些如何防范?
一 概念
就是对应用程序的安全服务或者说安全性缺陷进行识别的过程。
二 主要的web应用网络安全攻击方式
1 认证与授权
认证:
a 不应该给用户特别明确的账号密码提示
b 对于要登陆才可以访问的产品业务画面,需要检查是否直接输入url就可以方法,要避免这种情况
c 对于密码要设置强度策略
d 要有密码的次数限制
e 验证码到目前为止还是一个相对比较安全的手段
授权:
a 确保不同身份的用只能访问符合自己身份的模块,并且只能拥有符合自己身份的权限
b 不具有访问权限的用户利用输入url的方式直接访问原本不可以打开的模块或者不具有的权限,这样情况,就需要避免
c 权限应该在一个系统中应该只有一个身份可以去设置,而且这个身份应该是系统管理员
d 权限设计尽可能划分的细一些,最好细到数据的增删改查这个层面
2 session和cookie
session
a 可以通过在生成session的时候同时检查用户ip的方式
b 可以通过在生成session的时候同时引入时间的机制,也就session可以过期。
避免假冒用户的情况
cookie
a 设计cookie的时候,要注意重要信息应该加密处理
b 设计cookie的时候,对于path、domain这些你不要不做限制,避免服务器上的其他资源被非法获取
c 设计cookie的时候,千万不要试图将一些控制系统行为的东西放在cookie中
3 文件上传
a 文件上传的时候要对文件类型进行检查,避免类似php、js、sh、bat、vbs、jsp等可执行文件被错误上传。
b 需要检查文件的类型,但是你千万不可以仅仅只通过文件扩展名来判断
c 不仅仅只去检查前端的限制,还需要对后端也要做同样的限制检查才可以确保安全
d 除了对文件类型进行检查之外,我们还需要对文件大小进行限制
e 文件大小限制以后还不够,还有可能遇到攻击者建立连接后不断开,连续不停的传小文件的情况,此时就需要针对ip进行检查限制
4 sql注入
select id, first_name, surname from user where id = '[1]'
select id, first_name, surname from user where id = '[1' or '1'='1]'
select id, first_name, surname from user where id = [1]
select id, first_name, surname from user where id = '[1]' limit 1
select id, first_name, surname from user where id = '[1' or '1'='1'#]' limit 1
select first_name, surname from user where id = '[1' union select table_name, table_schema from information_schema.tables where table_schema = 'dvwa'#]' limit 1
select first_name, surname from user where id = '[1' union select column_name, table_schema from information_schema.columns where table_schema = 'dvwa' and table_name = 'guestbook'#]' limit 1
select first_name, surname from user where id = '[1' union select comment, name from guestbook#]' limit 1
a 永远不要相信用户的输入内容,你需要利用正则表达式,长度检查等一系列机制对输入内容的合法性进行校验
b 对于单引或双引号一定要做转义处理,很多的服务器是有相应的配置的,可以对引号自动做转义处理
c 连接数据库的时候千万不要用root,也就是管理员账号去连接,必须避免这种情况
d 对于保存在数据库中的敏感数据一定要做加密处理
e 对于错误敏感信息一定要做封装,否则的话就有可能暴露系统的缺陷
f 对于sql注入的问题,可以利用一些工具来做检测,比如:BurpSuite、AppScan
g 对于sql语句要避免动态拼接, 应该预编译sql语句,对于数据部分变成参数传入或者调用存储过程的方式来处理
5 xml注入
6 跨站脚本攻击
跨站脚本攻击XSS(cross site script),攻击对象与前面有很大不同,XSS不攻击网站方,攻击的是网站的用户。
反射型跨站Reflected XSS
存储型跨站Stored XSS
跨站请求伪造CSRF,它和跨站脚本攻击一样都是对网站的用户进行攻击,而对网站没有直接影响。XSS利用了用户对网站的信任心里,而CSRF则是利用了网站对用户的信任来实现攻击。
7 ddos攻击
也叫分布式拒绝服务攻击。利用很多的请求去占用服务器的资源,想方设法让网站的正常用户请求进不来,无法提供服务。
8 信息泄露
尽可能不要暴露程序代码运行时的各种错误信息,项目环境的各种信息,在必须显示的时候,要尽可能地封装它。
9 暴力破解
对于用户认证错误的提示需要斟酌,对于用户认证的机制以及界面引导需要斟酌。
至成科技主要做一些企事业的网站网站建设、小程序、微信公众号二次开发等网页类的开发,我们注重于公司长期发展,源代码开发,并拥有和阿里云一样的网站备案资质,详情请通过官网了解www.xazcit.com;也可以拨打至成科技服务热线:02989390727。











































