• 网络安全知识培训学习笔记


    逻辑漏洞

    条件竞争

    多个线程竞争同一个共享代码、变量、文件等称之为条件竞争。那么什么情况存在竞争条件?

    实例:
    上传文件,下面是一个上传文件的例子,上传文件之前先校验权限

    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    #define DELAY 10000
    
    int main()
    {
         char * fn = "/tmp/XYZ";
         char buffer[160];
         FILE *fp;
         long int  i;
         //get user input
         scanf("0s", buffer );
         if(!access(fn, W_OK))
         {
         //simulating delay
            for (i=0; i < DELAY; i++){
              int a = i^2;
            }
            fp = fopen(fn, "a+");
            fwrite("
    ", sizeof(char), 1, fp);
    
            fwrite(buffer, sizeof(char), strlen(buffer), fp);
    
            fclose(fp);
        }else{
            printf("No permission 
    ");
        }
    }
    

    从例子看并没有看出什么,可是对于专业安全人员来说,什么程序就是一个很典型的竞争条件。分析一下,首先上传文件之前会进行权限校验,然后才可以上传,在校验权限直接存在一个时间差,在这个时间差直接就可以形成一个竞争条件,黑客完全可以利用这个竞争条件,在时间差,暴露破解,不断发请求上传文件,竞争上传文件,当然黑客上传的不是正规文件,一般都是一些脚本木马。

    渗透测试工具

    渗透测试工具:BurpSuite(数据包抓取)
    渗透测试Burp的intruder功能实现多个并发请求

    逻辑漏洞分类

    暴力破解
    越权漏洞
    条件竞争

    安全案例

    密码重置
    邮箱找回:分析token构造,时间戳md5值
    MD5(time+username)

    验证码方式找回:
    防御:设置更复杂的验证码,设置时间

    验证身份->修改密码界面(session,验证身份用户到修改密码界面是同个用户)

    越权漏洞

    越权漏洞:平行越权,垂直越权

    平行越权:用户的等级相同进行越权

    用户A,B:普通用户
    用户C:管理员用户

    A->B:平行越权

    A->C:垂直越权

    例子:购物车 订单信息例子

    越权漏洞测试挖掘,查订单操作,修改个人信息

    • 鉴权参数,accountId
    • 操作:抓包->鉴权参数

    相关名词:
    ECB模式
    分组加密模式
    Hash碰撞
    数字签名

  • 相关阅读:
    Python 正则表达式简单了解
    scrapy 框架简单 爬取 4K高清 壁纸
    解决验证注解随机问题
    @ConfigurationProperties
    ConstraintValidator自定义注解
    通过日志解读Spring-Mybatis执行顺序
    Spring整合mybatis配置文件
    设计模式——代理模式
    Mybatis框架配置
    设计模式——单例模式
  • 原文地址:https://www.cnblogs.com/mzq123/p/11747842.html
Copyright © 2020-2023  润新知