本地的天津网站建设,机关公文写作网站,深圳网络推广服务是什么,开发公司总工年终总结网络安全常见漏洞类型总结
1、弱口令
原因#xff1a; 与个人习惯和安全意识相关#xff0c;为了避免忘记密码#xff0c;使用一个非常容易记住的密码#xff0c;或者是直接采用系统的默认密码等。 危害#xff1a; 通过弱口令#xff0c;攻击者可以进入后台修改资料 与个人习惯和安全意识相关为了避免忘记密码使用一个非常容易记住的密码或者是直接采用系统的默认密码等。 危害 通过弱口令攻击者可以进入后台修改资料进入金融系统盗取钱财进入OA系统可以获取企业内部资料进入监控系统可以进行实时监控等。 防御 设置密码通常遵循以下原则 1不使用空口令或系统缺省的口令 2口令长度不小于8 个字符 3口令不应该为连续的某个字符或重复某些字符的组合。 4口令应该为以下四类字符的组合大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个那么该字符不应为首字符或尾字符。 5口令中不应包含特殊内容如本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail 地址等等与本人有关的信息以及字典中的单词。 6口令不应该为用数字或符号代替某些字母的单词。 7口令应该易记且可以快速输入防止他人从你身后看到你的输入。 8至少90天内更换一次口令防止未被发现的入侵者继续使用该口令。
2、SQL注入
原因 当Web应用向后台数据库传递SQL语句进行数据库操作时如果对用户输入的参数没有经过严格的过滤处理那么攻击者就可以构造特殊的SQL语句直接输入数据库引擎执行获取或修改数据库中的数据。SQL注入的两个关键点1、用户能控制输入的内容2、Web应用把用户输入的内容带入到数据库中执行。 危害 盗取网站的敏感信息、绕过网站后台认证、借助SQL注入获取系统权限。 防御 1采用sql语句预编译和绑定变量 #{name} 2使用正则表达式过滤传入的参数 3过滤字符串如insert、select、update、and、or等。
3、文件上传
原理 在文件上传的功能处若服务端未对上传的文件进行严格验证和过滤导致攻击者上传恶意的脚本文件时就有可能获取执行服务端命令的能力称为文件上传漏洞。 原因 服务器的错误配置、开源编码器漏洞、本地上传上限制不严格被绕过、服务器端过滤不严格被绕过。 危害 上传恶意文件、getshell、控制服务器。 防御 白名单判断文件后缀是否合法、文件上传的目录设置为不可执行、判断文件类型、使用随机数改写文件名和文件路径、单独设置文件服务器的域名、使用安全设备防御。
4、XSS跨站脚本攻击
取名 XSSCross Site Scripting跨站脚本攻击为了不和层叠样式表Cascading Style Sheets的缩写CSS混合所以改名为XSS。 XSS原理 攻击者在网页中嵌入客户端脚本通常是JavaScript恶意脚本当用户使用浏览器加载被嵌入恶意代码的网页时恶意脚本代码就会在用户的浏览器执行造成跨站脚本的攻击。 危害 盗取Cookie、网络钓鱼、植马挖矿、刷流量、劫持后台、篡改页面、内网扫描、制造蠕虫等。 防御 对用户的输入进行合理验证、对特殊字符如 、、’、”等验证。
5、CSRF跨站请求伪造
原理 CSRFCross-Site Request Forgery跨站请求伪造。攻击者利用目标用户的身份执行某些非法的操作。跨站点的请求请求的来源可以是非本站请求是伪造的请求的发出不是用户的本意。 危害 篡改目标站点上的用户数据、盗取用户隐私数据、作为其他攻击的辅助攻击手法、传播 CSRF 蠕虫。 防御 检查HTTP Referer是否是同域、限制Session Cookie的生命周期减少被攻击的概率、使用验证码、使用一次性token。
6、SSRF服务器端请求伪造
原理 SSRF(Server-Side Request Forgery服务器端请求伪造。该漏洞通常由攻击者构造的请求传递给服务端服务器端对传回的请求未作特殊处理直接执行而造成的。 危害 扫描内网主机、端口、向内部任意主机的任意端口发送精心构造的payload、攻击内网的Web应用、读取任意文件、拒绝服务攻击。 防御 1统一错误信息避免用户根据错误信息来判断远程服务器的端口状态 2限制请求的端口为http的常用端口比如80、443、8080等 3禁用不需要的协议仅允许http和https 4根据请求需求可以将特定域名加入白名单拒绝白名单之外的请求 5后台代码对请求来源进行验证。
7、XXEXML外部实体注入
原理 XXEXML External Entity Injection即XML外部实体注入。XXE漏洞发生在应用程序解析XML输入时没有禁止外部实体的加载导致用户可以控制外部的加载文件造成XXE漏洞。 危害 任意文件读取、内网端口探测、拒绝服务攻击、钓鱼。 防御 1使用开发语言提供的禁用外部实体的方法 2过滤用户提交的XML数据过滤关键词!DOCTYPE、!ENTITY SYSTEM、PUBLIC。
8、RCE远程命令/代码执行
RCERemot Command/Code Execute远程命令/代码执行。 远程命令执行 用户可以控制系统命令执行函数的参数也称命令注入 远程代码执行 用户输入的参数可以作为代码执行也称代码注入 命令执行可以看作是一种特殊的代码执行代码执行相对会更加灵活。 原理 应用程序中有时会调用一些系统命令函数比如php中使用system、exec、shell_exec等函数可以执行系统命令当攻击者可以控制这些函数中的参数时就可以将恶意命令拼接到正常命令中从而造成命令执行攻击。 危害 命令执行漏洞属于高危漏洞之一也可以算是一种特殊的代码执行。 原因 用户可以控制输入的内容、用户输入的内容被当作命令执行。 防御方式 1尽量不要使用命令执行函数 2客户端提交的变量在进入执行命令函数方法之前一定要做好过滤对敏感字符进行转义 3在使用动态函数之前确保使用的函数是指定的函数之一 4对PHP语言来说不能完全控制的危险函数最好不要使用。
9、反序列化漏洞
原因 程序没有对用户输入的反序列化字符串进行检测导致反序列化过程可以被恶意控制进而造成代码执行、getshell等一系列安全问题。 危害 1不安全的反序列化主要造成的危害是远程代码执行 2如果无法远程代码执行也可能导致权限提升、任意文件读取、拒绝服务攻击等。 防御方式 1应该尽量避免用户输入反序列化的参数 2如果确实需要对不受信任的数据源进行反序列化需要确保数据未被篡改比如使用数字签名来检查数据的完整性 3严格控制反序列化相关函数的参数坚持用户所输入的信息都是不可靠的原则 4对于反序列化后的变量内容进行检查以确定内容没有被污染 5做好代码审计相关工作提高开发人员的安全意识。
10、组件未更新漏洞
原因 组件未更新漏洞是指在应用程序或系统中使用了已知存在安全漏洞的第三方组件或库。攻击者可能利用组件的这些漏洞来对系统进行攻击与入侵。 修复方式 1检查和更新记录并评估组件并及时替换已知漏洞组件。 2监视漏洞定期滚动使用组件维护适当的升级计划及时发现漏洞和补丁。 3安装新版本下载和安装第三方组件的最新版本通常这些版本都修复了之前版本的漏洞。 4代码审计通过对组件源代码的分析和审核来检查是否存在其他漏洞并为必要更新提供数据支持。 5网络隔离可以使用网络隔离技术或虚拟容器来减少外部组件对应用程序或系统的影响。
11、未授权访问漏洞
**原因**应用程序没有正确实施权限控制过度宽松的文件和目录访问控制或者允许攻击者访问并执行不应该被许可的敏感操作。 **修复方式**修改应用程序代码增加身份认证和权限控制机制、及时更改默认密码等。