当前位置:   article > 正文

常见十大漏洞总结(原理、危害、防御)_经典漏洞分析

经典漏洞分析

弱口令

产生原因

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

危害

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

文件包含

产生原因

**文件包含:**开发人员将可重复使用的内容写到单个文件中,使用时直接调用此文件

**文件包含漏洞:**开发人员希望代码更加灵活,有时会将包含的文件设置为变量,用来动态调用,由于这种灵活性,可能导致攻击者调用恶意文件,造成文件包含漏洞.

危害

敏感信息泄露

获取webshell

任意命令执行

相关函数

文件包含相关函数

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/591274
推荐阅读
相关标签