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


    逻辑漏洞

    条件竞争

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

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

    #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碰撞
    数字签名

  • 相关阅读:
    Sql server 备份还原后出现“受限制用户”问题
    jQuery的deferred对象详解
    SQLServer 自增主键创建, 指定自增主键列值插入数据,插入主键
    无法添加来自此网站的应用 扩展程序
    C#中dynamic的正确用法
    C#编程总结(十四)dynamic
    基于params,ref,out的参数问题详解
    SQLServer 数据库查看死锁、堵塞的SQL语句
    如何对web.config进行加密和解密
    自定义HttpModule的一些经验--配置篇
  • 原文地址:https://www.cnblogs.com/mzq123/p/11747842.html
Copyright © 2020-2023  润新知