一、弱口令
产生原因
与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。
危害
通过弱口令,攻击者可以进入后台修改资料,进入金融系统盗取钱财,进入OA系统可以获取企业内部资料,进入监控系统可以进行实时监控等等。
防御
设置密码通常遵循以下原则:
(1)不使用空口令或系统缺省的口令,为典型的弱口令;
(2)口令长度不小于8 个字符;
(3)口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。
(4)口令应该为以下四类字符的组合:大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只 包含一个,那么该字符不应为首字符或尾字符。
(5)口令中不应包含特殊内容:如本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail 地址等等与本人有关 的信息,以及字典中的单词。
(6)口令不应该为用数字或符号代替某些字母的单词。
(7)口令应该易记且可以快速输入,防止他人从你身后看到你的输入。
(8)至少90 天内更换一次口令,防止未被发现的入侵者继续使用该口令。
二、SQL注入
产生原因
当Web应用向后台数据库传递SQL语句进行数据库操作时。如果对用户输入的参数没有经过严格的过滤处理,那么攻击者就可以构造特殊的SQL语句,直接输入数据库引擎执行,获取或 修改数据库中的数据。
本质
把用户输入的数据当做代码来执行,违背了 “数据与代码分离”的原则。
SQL注入的两个关键点:
1、用户能控制输入的内容;
2、Web应用把用户输入的内容带入到数据库中执行;
危害
- 盗取网站的敏感信息
- 绕过网站后台认证
- 后台登陆语句:SELECT*FROMadminWHEREUsername='user’andPassword=‘pass’
- 万能密码:‘or‘1’=‘1’#
- 借助SQL注入漏洞提权获取系统权限
- 读取文件信
防御
(1)采用sql语句预编译和绑定变量 #{name}
其原因就是:采用了PrepareStatement,就会将SQL语句:“select id,name from user where id=?”预先编译好,也就是SQL引擎会预先进行语法分析,产生语法树,生成执行计划,也就是说,后面你输入的参数,无论你输入的是什么,都不会影响该SQL语句的语法结构了。因为语法分析已经完成了,而语法分析主要是分析SQL命令,比如:select、from、where、and、or、order by等等。
所以即使你后面输入了这些SQL命令,也不会被当成SQL命令来执行了,因为这些SQL命令的执行,必须先通过语法分析,生成执行计划,既然语法分析已经完成,已经预编译过了,那么后面输入的参数,是绝对不可能作为SQL命令来执行的,只会被当成字符串字面值参数。
(2)使用正则表达式过滤传入的参数
(3)过滤字符串,如insert、select、update、and、or等
三、文件上传
原理
在文件上传的功能处,若服务端未对上传的文件进行严格验证和过滤,导致攻击者上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,称为文件上传漏洞。
成因
- 服务器的错误配置
- 开源编码器漏洞
- 本地上传上限制不严格被绕过
- 服务器端过滤不严格被绕过
危害
- 上传恶意文件
- getshell
- 控制服务器
- 绕过方式
绕过方式
防御
- 白名单判断文件后缀是否合法
- 文件上传的目录设置为不可执行
- 判断文件类型
- 使用随机数改写文件名和文件路径
- 单独设置文件服务器的域名
- 使用安全设备防御
四、XSS(跨站脚本攻击)
原理
XSS(Cross Site Scripting):跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS
XSS原理:攻击者在网页中嵌入客户端脚本(通常是JavaScript的恶意脚本),当用户使用浏览器加载被嵌入恶意代码的网页时,恶意脚本代码就会在用户的浏览器执行,造成跨站脚本的攻击
危害
- 盗取Cookie
- 网络钓鱼
- 植马挖矿
- 刷流量
- 劫持后台
- 篡改页面
- 内网扫描
- 制造蠕虫等
防御
- 对用户的输入进行合理验证
- 对特殊字符(如 <、>、 ’ 、 ”等)以及
五、CSRF(跨站请求伪造 )
原理
CSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造 原理:攻击者利用目标用户的身份,执行某些非法的操作 跨站点的请求:请求的来源可以是非本站 请求是伪造的:请求的发出不是用户的本意。
危害
- 篡改目标站点上的用户数据
- 盗取用户隐私数据
- 作为其他攻击的辅助攻击手法
- 传播 CSRF 蠕虫
防御
- 检查HTTP Referer是否是同域
- 限制Session Cookie的生命周期,减少被攻击的概率
- 使用验证码
- 使用一次性token
六、SSRF(服务器端请求伪造)
原理
SSRF(Server-Side Request Forgery):服务器端请求伪造,该漏洞通常由攻击者构造的请求传递给服务端,服务器端对传回的请求未作特殊处理直接执行而造成的。
危害
- 扫描内网(主机、端口)
- 向内部任意主机的任意端口发送精心构造的payload
- 攻击内网的Web应用
- 读取任意文件
- 拒绝服务攻击
防御
- 统一错误信息,避免用户根据错误信息来判断远程服务器的端口状态
- 限制请求的端口为http的常用端口,比如:80、443、8080等
- 禁用不需要的协议,仅允许http和https
- 根据请求需求,可以将特定域名加入白名单,拒绝白名单之外的请求
- 后台代码对请求来源进行验证
- 七、XXE(XML外部实体注入)
原理
XXE漏洞全称为 XML External Entity Injection,即XML外部实体注入。
XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载, 导致用户可以控制外部的加载文件,造成XXE漏洞。
危害
- 任意文件读取
- 内网端口探测
- 拒绝服务攻击
- 钓鱼
防御
1、使用开发语言提供的禁用外部实体的方法
PHP:
libxml_disable_entity_loader(true);
java:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);
Python:
from lxml import etree xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
2、过滤用户提交的XML数据
过滤关键词:<!DOCTYPE、<!ENTITY SYSTEM、PUBLIC
RCE
RCE(Remot Command/Code Execute),远程命令/代码执行
远程命令执行:用户可以控制系统命令执行函数的参数,也称命令注入
远程代码执行:用户输入的参数可以作为代码执行,也称代码注入
命令执行可以看作是一种特殊的代码执行,代码执行相对会更加灵活
八、远程代码执行漏洞
原理
应用程序中有时会调用一些系统命令函数,比如php中使用system、exec、shell_exec等 函数可以执行系统命令,当攻击者可以控制这些函数中的参数时,就可以将恶意命令拼接 到正常命令中,从而造成命令执行攻击。
命令执行漏洞,属于高危漏洞之一,也可以算是一种特殊的代码执行
原因
- 用户可以控制输入的内容
- 用户输入的内容被当作命令执行
防御方式
- 尽量不要使用命令执行函数
- 客户端提交的变量在进入执行命令函数方法之前,一定要做好过 滤,对敏感字符进行转义
- 在使用动态函数之前,确保使用的函数是指定的函数之一
- 对PHP语言来说,不能完全控制的危险函数最好不要使用
九、反序列化漏洞
原理
原因是程序没有对用户输入的反序列化字符串进行检测,导致反序列化过程可以被恶意控制,进而造成代码执行、getshell等一系列安全问题。
危害
- 不安全的反序列化,主要造成的危害是远程代码执行
- 如果无法远程代码执行,也可能导致权限提升、任意文件读取、拒绝服务攻击等
防御方式
- 应该尽量避免用户输入反序列化的参数
- 如果确实需要对不受信任的数据源进行反序列化,需要确保数据未被篡改,比如使用数字签名来检查数据的完整性
- 严格控制反序列化相关函数的参数,坚持用户所输入的信息都是不可靠的原则
- 对于反序列化后的变量内容进行检查,以确定内容没有被污染
- 做好代码审计相关工作,提高开发人员的安全意识
一:德迅云安全高防服务器
德迅云安全在浙江部署的T3级别数据中心,具备完善的机房设施,自建光纤网络,核心骨干网络有效保证高品质的网络环境和丰富的带宽资源,同时接入统一的系统管理平台,资源调配更轻松,使系统安全、可靠、稳定、高效运行。
海量DDoS清洗:大防护带宽,平均延迟小于50ms,从容应对大流量攻击。
全方位防护:全面支持SYN Flood、ACK Flood、ICMP Flood、UDP Flood、NTP Flood、DNS Flood、HTTP Flood、CC攻击等常见攻击类型的防护。
全业务支持:支持TCP、UDP、HTTP/HTTPS等协议,满足游戏、APP、网站、金融等各种类型的业务需求。
指纹式防御算法:防御游戏空连接、慢连接、恶意踢人攻击,采用IP信誉库、IP+Co-okie、IP+Key防御CC攻击,全球僵尸网络库攻击溯源
第二款:安全加速SCDN
安全加速(Secure Content Delivery Network,SCDN)是德迅云安全推出的集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
OWASP TOP 10威胁防护:有效防御 SQL注入、XSS攻击、命令/代码执行、文件包含、木马上传、路径穿越、恶意扫描等OWASP TOP 10攻击。专业的攻防团队7*24小时跟进0day漏洞,分析漏洞原理,并制定安全防护策略,及时进行防护。
AI检测和行为分析:通过对德迅云积累海量日志进行学习和训练输出多种Web安全防护模型,对用户多请求的多元因子进行智能分析,有效提高检出率,降低误报率;通过信息孤岛、行为检测分析,识别恶意攻击源,保护网站安全。
智能语义解析引擎:提供智能语义解析功能,在漏洞防御的基础上,增强SQL注入和XXS攻击检测能力。
应用层DDoS防护:CC、HTTP Flood攻击防御
人机校验:当请求与网站正常访问基线不一致时,启动人机校验(如JS验证、META验证等)方式进行验证,拦截攻击。
慢连接攻击防御:对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。 对Slow Post攻击,通过检测请求小包数量阈值进行防护。
网页防篡改:采用强制静态缓存锁定和更新机制,对网站特定页面进行保护,即使源站相关网页被篡改,依然能够返回给用户缓存页面。
数据防泄漏:对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。