一、弱口令【文末福利】
产生原因
这与个人习惯和安全意识有关。为避免忘记密码,请使用易于记忆的密码或直接使用系统默认密码。
危害
攻击者可以利用弱密码闯入后台更改信息、闯入财务系统窃取资金、闯入OA系统获取公司内部信息等,并可以渗透监控系统并进行实时监控。
防御
设置密码通常遵循以下原则:
(1) 避免使用空白密码或系统默认密码,这些密码通常是弱密码。
(2) 密码长度必须至少为8 个字符。
(3) 密码不得包含连续字符(例如AAAAAAAA)或重复字符的组合(例如tzf.tzf.)。
(4) 密码必须为大写字母(A-Z)、小写字母(a-z)、数字(0-9)、特殊字符四种字符的组合。每种类型至少包含一个字符。如果某种类型的字符只包含一个字符,则该字符不能是第一个或最后一个字符。
(5) 密码中不得包含特殊内容,例如姓名、出生日期、周年纪念日、登录名、电子邮件地址或其他有关该人的信息,或密码中包含的该人、父母、孩子或配偶请。字典。
(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语句的语法结构。语法分析完成,语法分析主要分析select、from、where、or、order by等SQL命令。
因此,如果您稍后输入这些SQL 命令,它们不会作为SQL 命令执行。这是因为执行这些SQL命令首先要经过语法分析生成执行计划。语法分析已完成并已预编译。随后输入的参数永远不能作为SQL 命令执行,而仅被视为字符串文字参数。
(2)使用正则表达式过滤传入参数
(3) 过滤字符串,如insert、select、update等。
三、文件上传
原理
对于文件上传功能,如果服务器没有对上传的文件进行严格的验证和过滤,攻击者可能可以通过上传恶意脚本文件来执行服务器端命令,这种情况可以被利用在文件上传中,这就是漏洞。
成因
服务器配置错误开源编码器漏洞允许绕过本地上传限制绕过服务器端过滤
危害
上传恶意文件到getshell控制服务器
绕过方式
防御
确定文件后缀是否合法的白名单。确定文件类型并分别设置文件名和文件路径。使用安全设备进行保护。
四、XSS(跨站脚本攻击)
原理
XSS(跨站脚本):跨站脚本攻击。层叠样式表(Cascading Style Sheets)已更名为XSS,以避免与CSS 混淆。
XSS原理:攻击者在网页中嵌入客户端脚本(通常是恶意JavaScript脚本),当用户使用浏览器加载包含恶意代码的网页时,恶意脚本代码就会在用户的浏览器中执行。造成跨站脚本攻击
危害
Cookie窃取、网络钓鱼、养马、挖矿、流量劫持、后台篡改、页面破坏、内网扫描、蠕虫制作等。
防御
对用户输入的特殊字符(、’、”等)进行合理的验证,
五、CSRF(跨站请求伪造 )
原理
CSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造原理:攻击者利用目标用户的身份执行某些非法操作。 跨站点请求:请求的来源可能在您的站点之外。伪造:请求此问题并非用户有意为之。
危害
它会更改目标站点上的用户数据,窃取用户的个人数据,并将其用作其他攻击的补充攻击向量来传播CSRF 蠕虫。
防御
检查HTTP Referrer是否在同一个域中,限制会话cookie的生命周期以减少攻击的可能性,并使用一次性令牌。
六、SSRF(服务器端请求伪造)
原理
SSRF(服务器端请求伪造):服务器端请求伪造通常是由攻击者制作一个请求,将其传递给服务器,然后服务器直接执行返回的请求,而不进行任何特殊处理。
危害
它扫描内网(主机、端口),并将精心构造的有效负载发送到内部主机上的任何端口,以攻击内网上的Web 应用程序、读取任意文件并拒绝服务攻击。
防御
统一错误信息,使用户无法根据错误信息判断远程服务器的端口状态。将请求的端口限制为常见的http 端口(80、443、8080 等)。禁用并仅允许不必要的协议。 http 和https。您可以根据您的请求需求,将特定域名添加到白名单中,并拒绝白名单之外的请求。后台代码验证请求的来源。
七、XXE(XML外部实体注入)
原理
XXE漏洞的正式名称是XML外部实体注入,或者XML外部实体注入。
当应用程序解析XML 输入并且不阻止外部实体加载时,就会出现XXE 漏洞,从而使用户能够控制外部加载的文件,从而导致XXE 漏洞。
危害
任意文件读取、内网端口发现、拒绝服务攻击、网络钓鱼
防御
1. 使用您的开发语言提供的方法禁用外部实体
PHP:
libxml_disable_entity_loader(真);
爪哇
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);
Python:
从lxml 导入etree xmlData=etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
2. 过滤用户提交的XML数据
过滤关键字:DOCTYPE、ENTITY SYSTEM、PUBLIC
RCE
RCE(远程命令/代码执行),远程命令/代码执行
远程命令执行:允许用户控制系统命令执行功能的参数,也称为命令注入。
远程代码执行:用户输入的参数可以作为代码执行(也称为代码注入)。
命令执行可以认为是一种特殊类型的代码执行,并且代码执行相对灵活。
八、远程代码执行漏洞
原理
应用程序可能会调用一些系统命令函数。例如,在PHP中,可以使用system、exec、shell_exec等函数来执行系统命令,如果攻击者可以控制这些函数的参数,则可以将恶意命令嵌入到正常命令中。这会导致命令执行攻击。
命令执行漏洞是一种高危漏洞,也可以认为是一种特殊类型的代码执行。
原因
用户可以控制他们输入的内容。用户输入的内容作为命令执行。
防御方式
避免使用命令来运行函数
客户端发送的变量在进入执行命令函数方法之前必须经过过滤和敏感字符转义。
在使用动态函数之前,请确保所使用的函数是指定的函数之一。
在PHP语言中,最好不要使用无法完全控制的危险函数。
九、反序列化漏洞
原理
原因是程序没有检测到用户输入的反序列化字符串,导致反序列化过程被恶意控制,从而导致代码执行、getshell等一系列安全问题。
危害
不安全反序列化造成的主要危害是远程代码执行。无法执行远程代码可能会导致权限提升、任意文件读取和拒绝服务攻击。
防御方式
用户不应输入反序列化参数。如果确实需要反序列化不受信任的数据源,则必须确保数据没有被篡改,例如使用数字签名来验证数据完整性。相关功能。遵循用户输入信息不可信任的原则,保证反序列化变量内容不被污染,提高开发者的安全意识。
网络安全学习资源分享:
我想分享一套完整的网络安全学习资料,对任何想学习网络安全的人都有用。
对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。
由于篇幅有限,仅展示部分信息。如果您想要《网络安全入门+进阶学习资源包》的全套,需要点击下面的链接获取。
读者福利| CSDN大礼包:《网络安全入门进阶学习资源包》 免费分享(安全链接,放心点击)
同时,还根据成长路线提供了每个部分的支持视频。
学习资料工具包
盒子底部的丰富资源全面深入地介绍了基础网络安全理论,包括逆向工程、八层网络防御、汇编语言、白帽网络安全、密码学、网络安全协议等。它被集成到.基础理论与主流工具的应用实践。帮助读者了解各种主流工具背后的实现机制。
面试刷题
视频相关资料国内外网络安全相关书籍资料
当然,除了支持视频之外,我们还为您整理了各种文档和书籍。
所有信息总计282G。如果您想要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费获取。
读者福利| CSDN大礼包:《网络安全入门进阶学习资源包》 免费分享(安全链接,放心点击)
#十大常见网络安全漏洞概述(原理、危害、防范)及常见漏洞类型相关内容来源仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91335.html