网络安全常见十大漏洞总结

一、弱口令

产生原因

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


危害

通过弱口令,攻击者可以进入后台修改资料,进入金融系统盗取钱财,进入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等一系列安全问题。


危害

不安全的反序列化,主要造成的危害是远程代码执行

如果无法远程代码执行,也可能导致权限提升、任意文件读取、拒绝服务攻击等

防御方式

应该尽量避免用户输入反序列化的参数

如果确实需要对不受信任的数据源进行反序列化,需要确保数据未被篡改,比如使用数字签名来检查数据的完整性

严格控制反序列化相关函数的参数,坚持用户所输入的信息都是不可靠的原则

对于反序列化后的变量内容进行检查,以确定内容没有被污染

做好代码审计相关工作,提高开发人员的安全意识


来原:CSDN-程序员--青青                       

原文链接:https://blog.csdn.net/ZL_1618/article/details/131780132

 

扫描下方二维码,一个老毕登免费为你解答更多软件开发疑问!

华为鸿蒙生态发展演讲:从操作系统到数字底座的进化论

【导语】在万物互联的智能时代,操作系统是数字世界的“地基”,而华为鸿蒙生态正以惊人的速度重构这一地基的形态。在2025华为开发者大会(HDC)上,华为消费者业务CEO余承东宣布:“鸿蒙生态已跨越1.5亿设备激活量,开发者数量突破380万,成为全球第三大移动应用生态。”这场演讲不仅揭示了鸿蒙的成长密码,更抛出了一个关键命题:当操作系统进化为数字底座,开发者将如何抓住下一波红利?一、数据透视:鸿蒙生态

百度发布多模态AI程序员Zulu:代码革命还是程序员“饭碗”终结者?

【导语】“让AI写代码,人类程序员该何去何从?”在2025百度AI开发者大会上,百度CTO王海峰抛出的这个问题,随着多模态AI程序员Zulu的发布被推向风口浪尖。这款号称“能听、能看、能思考”的代码生成工具,在内部测试中已实现82%的函数级代码自动生成,开发效率提升4倍。当AI开始入侵程序员最后的“技术护城河”,一场关于效率与饭碗的争论正在硅谷与中关村同步上演。一、技术解密:Zulu的“三头六臂”

苹果管理层大换血:库克押注AI机器人,能否再造“iPhone时刻”?

【导语】“当全球都在追赶Vision Pro时,苹果已经悄悄调转船头。”北京时间2025年4月29日,苹果官网悄然更新高管团队名单:原机器学习与AI战略高级副总裁John Giannandrea晋升为首席运营官(COO),机器人技术负责人Kevin Lynch进入执行董事会。这场被外媒称为“苹果20年来最大规模管理层调整”的变革,正式宣告库克将宝押向AI与机器人赛道。在这场豪赌背后,是苹果营收增速

腾讯云Craft智能体发布:AI开发进入“傻瓜模式”,中小企业迎来技术平权时代

【导语】“以后写代码就像发朋友圈一样简单。”在2025腾讯云峰会上,腾讯云副总裁吴运声抛出的这句话,随着全链路AI开发平台“Craft智能体”的发布引发行业震荡。这款被内部称为“AI开发界的美图秀秀”的产品,凭借“零代码搭建AI应用”“模块化自由组合”“按需付费”三大核心卖点,直击中小企业AI开发成本高、周期长、人才缺的行业痛点。当AI技术从实验室走向田间地头,Craft智能体能否成为企业智能化的

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部