网络安全系列之培训笔记整理

2022-05-07 17:49:42 浏览数 (1)

逻辑漏洞

条件竞争

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

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

代码语言:javascript复制
#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("n", sizeof(char), 1, fp);

        fwrite(buffer, sizeof(char), strlen(buffer), fp);

        fclose(fp);
    }else{
        printf("No permission n");
    }
}

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

渗透测试工具

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

逻辑漏洞分类

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

安全案例

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

验证码方式找回: 防御:设置更复杂的验证码,设置时间 验证身份->修改密码界面(session,验证身份用户到修改密码界面是同个用户)

越权漏洞

越权漏洞:平行越权,垂直越权 平行越权:用户的等级相同进行越权

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

A->B:平行越权

A->C:垂直越权

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

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

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

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

0 人点赞