常见web安全漏洞-暴力破解,xss,SQL注入,csrf

1,暴力破解

原理:

        使用大量的认证信息在认证接口进行登录认证,知道正确为止。为提高效率一般使用带有字典的工具自动化操作

        基于表单的暴力破解 --- 若用户没有安全认证,直接进行抓包破解。

验证码绕过 

                        on server ---验证码校验在服务端完成,但是验证码存在时效性,这个时候我们可以在这个时效内进行抓包实现短时间内的验证码绕过。

                        on client --- 在前端进行验证码的校验,这个时候驶入正确的验证码提交,进行抓包后,我们通过修改密码和账号发现我们不需要再对验证码进行修改,从而绕过了验证码,实现暴力破解。

防护:

         1.是否要求用户设置复杂的密码;

        ​ 2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)

        ​ 3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);

​         4.是否采用了双因素认证;

2,XSS --- 跨站点脚本攻击 --- 指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。

1.反射性XSS

        交互的数据一般不会被存在在数据库里面,一次性,所见即所得,一般出现在查询

​2.存储型XSS

        交互的数据会被存在在数据库里面,永久性存储,一般出现在留言板,注册等页面。

3.DOM型XSS

        不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性,也属于反射型。

常见web安全漏洞-暴力破解,xss,SQL注入,csrf_第1张图片

形成原因 --- 程序对输入输出的控制不够严格,导致“精心设计”的脚本输入后,在输出到前端时被浏览器当作有效代码执行从而产生危害。

防护 ---  输入端:设置字符白名单。

              输出端:对单引号,双引号,尖括号等特殊字符转化为HTML实体。

3,CSRF --- 跨站点伪造请求

        该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在未授权的情况下执行在权限保护之下的操作,具有很大的危害性。

如何确认一个web系统存在CRSF漏洞

        对目标网站增删查改的地方进行标记,并观察

                1,修改账号不需要验证旧密码

                2,敏感信息没有使用token验证

防护 ---- 1,验证HTTP字段

              2,服务端严格区分POST和GET请求

              3,使用验证码或者密码验证方式

4,SQL注入 --- 攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。

防护 --- web端:1,严格限制web端的数据库操作权限,比如给用户提供可以满足需求的最低权限。

                           2,对特殊字符进行转义处理,转义为HTML实体

             服务端:1,不要直接拼接SQL语句,使用参数化的语句而不是将用户输入的变量嵌入SQL语句中

                            2,使用SQL注入检测工具进行检测,及时修补漏洞。

你可能感兴趣的:(web安全漏洞,web安全,安全)