深信服校园招聘安全攻防F卷

时长:120分钟 总分:100分

476浏览 2人已完成答题

题型介绍
题型 简答题
数量 4
1.
请尽可能列举你知道的网站未能正确使用图片验证码机制的情况,以及如何绕过其限制?
问题详情
2.
 请尽可能列举你知道的网站未能安全实现文件上传功能的情况,以及如...
问题详情

 请尽可能列举你知道的网站未能安全实现文件上传功能的情况,以及如何绕过其限制?

3.
利用汇编语言编写一道程序,不使用乘法以及除法指令,计算(((AX*5)+3...
问题详情

利用汇编语言编写一道程序,不使用乘法以及除法指令,计算(((AX*5)+300h)/2-100h)*8的值。

4.
阅读如下代码,其中main函数参数可以被攻击者控制,那么main函数中存在...
问题详情

阅读如下代码,其中main函数参数可以被攻击者控制,那么main函数中存在哪些漏洞,指出漏洞具体位置及问题,并说明这些代码中漏洞的修复方法

//读取指定的文件中的内容并返回该文件base64编码后的内容,函数失败则返回NULL,在非NULL情况下需要调用该函数后手动释放内存,该函数中不存在安全性问题

char *readBase64File(char *fileName)

int main(int argc, char* argv[])

{

    char filePath[260]

    char fileCmd[512]

    char *fileName

    int dirIdx

    char *fileContent

    char *dirPaths[4]

dirPaths[0] = /home/data1/

dirPaths[1] = /home/data2/

dirPaths[2] = /home/data3/

dirPaths[3] = /home/data4/

    fileName = argv[1]

    dirIdx = atoi(argv[2])

    if (dirIdx > 3)

{

    printf(file index error!\n)

        return -1

    }

    strcpy(filePath, dirPaths[dirIdx])

    if (strlen(filePath) + strlen(fileName) < 260)

        strcat(filePath, fileName)

    else

        return -1

    fileContent = readBase64File(filePath)

    if (fileContent == NULL)

    {

        printf(read filecontent error!\n)

    }

    else

    {

        printf(file content is: %s\n, fileContent)

        free(fileContents)

    }

    strcpy(fileCmd, rm )

    strcat(fileCmd, fileName)

    printf(fileCmd)

    system(fileCmd)

    return 0

}