一、弱口令

产生原因

与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。

危害

通过弱口令,攻击者可以进入后台修改资料,进入金融系统盗取钱财,进入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应用把用户输入的内容带入到数据库中执行;

危害

  1. 盗取网站的敏感信息
  2. 绕过网站后台认证
  3. 后台登陆语句:SELECT*FROMadminWHEREUsername='user’andPassword=‘pass’
  4. 万能密码:‘or‘1’=‘1’#
  5. 借助SQL注入漏洞提权获取系统权限
  6. 读取文件信

防御
(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等

三、文件上传

原理

在文件上传的功能处,若服务端未对上传的文件进行严格验证和过滤,导致攻击者上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,称为文件上传漏洞。

成因

  1. 服务器的错误配置
  2. 开源编码器漏洞
  3. 本地上传上限制不严格被绕过
  4. 服务器端过滤不严格被绕过

危害

  1. 上传恶意文件
  2. getshell
  3. 控制服务器
  4. 绕过方式

绕过方式

防御

  1. 白名单判断文件后缀是否合法
  2. 文件上传的目录设置为不可执行
  3. 判断文件类型
  4. 使用随机数改写文件名和文件路径
  5. 单独设置文件服务器的域名
  6. 使用安全设备防御

四、XSS(跨站脚本攻击)

原理

XSS(Cross Site Scripting):跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS

XSS原理:攻击者在网页中嵌入客户端脚本(通常是JavaScript的恶意脚本),当用户使用浏览器加载被嵌入恶意代码的网页时,恶意脚本代码就会在用户的浏览器执行,造成跨站脚本的攻击

危害

  1. 盗取Cookie
  2. 网络钓鱼
  3. 植马挖矿
  4. 刷流量
  5. 劫持后台
  6. 篡改页面
  7. 内网扫描
  8. 制造蠕虫等

防御

  1. 对用户的输入进行合理验证
  2. 对特殊字符(如 <、>、 ’ 、 ”等)以及

五、CSRF(跨站请求伪造 )

原理
CSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造 原理:攻击者利用目标用户的身份,执行某些非法的操作 跨站点的请求:请求的来源可以是非本站 请求是伪造的:请求的发出不是用户的本意。

危害

  1. 篡改目标站点上的用户数据
  2. 盗取用户隐私数据
  3. 作为其他攻击的辅助攻击手法
  4. 传播 CSRF 蠕虫

防御

  1. 检查HTTP Referer是否是同域
  2. 限制Session Cookie的生命周期,减少被攻击的概率
  3. 使用验证码
  4. 使用一次性token

六、SSRF(服务器端请求伪造)

原理

SSRF(Server-Side Request Forgery):服务器端请求伪造,该漏洞通常由攻击者构造的请求传递给服务端,服务器端对传回的请求未作特殊处理直接执行而造成的。

危害

  1. 扫描内网(主机、端口)
  2. 向内部任意主机的任意端口发送精心构造的payload
  3. 攻击内网的Web应用
  4. 读取任意文件
  5. 拒绝服务攻击

防御

  1. 统一错误信息,避免用户根据错误信息来判断远程服务器的端口状态
  2. 限制请求的端口为http的常用端口,比如:80、443、8080等
  3. 禁用不需要的协议,仅允许http和https
  4. 根据请求需求,可以将特定域名加入白名单,拒绝白名单之外的请求
  5. 后台代码对请求来源进行验证
  6. 七、XXE(XML外部实体注入)

原理

XXE漏洞全称为 XML External Entity Injection,即XML外部实体注入。
XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载, 导致用户可以控制外部的加载文件,造成XXE漏洞。

危害

  1. 任意文件读取
  2. 内网端口探测
  3. 拒绝服务攻击
  4. 钓鱼

防御
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等 函数可以执行系统命令,当攻击者可以控制这些函数中的参数时,就可以将恶意命令拼接 到正常命令中,从而造成命令执行攻击。

命令执行漏洞,属于高危漏洞之一,也可以算是一种特殊的代码执行

原因

  1. 用户可以控制输入的内容
  2. 用户输入的内容被当作命令执行

防御方式

  1. 尽量不要使用命令执行函数
  2. 客户端提交的变量在进入执行命令函数方法之前,一定要做好过 滤,对敏感字符进行转义
  3. 在使用动态函数之前,确保使用的函数是指定的函数之一
  4. 对PHP语言来说,不能完全控制的危险函数最好不要使用

九、反序列化漏洞

原理
原因是程序没有对用户输入的反序列化字符串进行检测,导致反序列化过程可以被恶意控制,进而造成代码执行、getshell等一系列安全问题。

危害

  1. 不安全的反序列化,主要造成的危害是远程代码执行
  2. 如果无法远程代码执行,也可能导致权限提升、任意文件读取、拒绝服务攻击等

防御方式

  1. 应该尽量避免用户输入反序列化的参数
  2. 如果确实需要对不受信任的数据源进行反序列化,需要确保数据未被篡改,比如使用数字签名来检查数据的完整性
  3. 严格控制反序列化相关函数的参数,坚持用户所输入的信息都是不可靠的原则
  4. 对于反序列化后的变量内容进行检查,以确定内容没有被污染
  5. 做好代码审计相关工作,提高开发人员的安全意识

一:德迅云安全高防服务器
德迅云安全在浙江部署的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报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。


德迅云安全王磊
1 声望0 粉丝

有需求联系企鹅3007312960