20190829 -- 阿里秋招安全工程师部分笔试

笔试真题

  1. 如何最优判断 10.11.2.103:80 和 domain.com 的 HTTP Web 服务器是否为同一个

  2. 判断以下代码片段存在什么漏洞,有多少种方法来解决这个问题,各处你的防御方法

    ObjectInputStream is = new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));
    Object obj = is.readObject();
  3. Oauth协议标准登陆过程中,AS会先返回授权码(authorization_code),而不是直接返回授权令牌(access_token),这样做的目的是什么?而在Oauth的简易模式中,直接AS直接给了授权令牌(access_token),这样是否有问题?

  4. 请列举再一次入侵事件中,攻击者可能采取的获取初始权限的方式

  5. 网络入侵后,远程控制服务器和被控制主机会建立C&C(Command and Control)通道,请简述下常见的C&C通道种类及特点以及常见的检测方法

  6. 请简述Docker容器面临的主要安全威胁、隔离机制和常见的安全措施

  7. 如果给你一台以privileged权限的docker容器,请给出你知道的docker容器内逃逸(提权)到host的方法

  8. 以下汇编代码片段实现了什么样的基本功能?如果从STDIN输入一个数10,程序将会输出什么内容

    0x000000000000071a<+0>:pushrbp
    0x000000000000071b<+1>:movrbp,rsp
    0x000000000000071e<+4>:subrsp,0x20
    0x0000000000000722<+8>:movrax,QWORDPTRfs:0x28
    0x000000000000072b<+17>:movQWORDPTR[rbp-0x8],rax
    0x000000000000072f<+21>:xoreax,eax
    0x0000000000000731<+23>:movDWORDPTR[rbp-0xc],0x0
    0x0000000000000738<+30>:learax,[rbp-0x14]
    0x000000000000073c<+34>:movrsi,rax
    0x000000000000073f<+37>:leardi,[rip+0xde]#0x824
    0x0000000000000746<+44>:moveax,0x0
    0x000000000000074b<+49>:callx5f0<__isoc99_scanf@plt>
    0x0000000000000750<+54>:movDWORDPTR[rbp-0x10],0x0
    0x0000000000000757<+61>:jmp0x763
    0x0000000000000759<+63>:moveax,DWORDPTR[rbp-0x10]
    0x000000000000075c<+66>:addDWORDPTR[rbp-0xc],eax
    0x000000000000075f<+69>:addDWORDPTR[rbp-0x10],0x1
    0x0000000000000763<+73>:moveax,DWORDPTR[rbp-0x14]
    0x0000000000000766<+76>:cmpDWORDPTR[rbp-0x10],eax
    0x0000000000000769<+79>:jle0x759
    0x000000000000076b<+81>:moveax,DWORDPTR[rbp-0xc]
    0x000000000000076e<+84>:movesi,eax
    0x0000000000000770<+86>:leardi,[rip+0xad]#0x824
    0x0000000000000777<+93>:moveax,0x0
    0x000000000000077c<+98>:call0x5e0
    0x0000000000000781<+103>:moveax,0x0
    0x0000000000000786<+108>:movrdx,DWORDPTR[rbp-0x8]
    0x000000000000078a<+112>:xorrdx,DWORDPTRfs:0x28
    0x0000000000000793<+121>:je0x79a
    0x0000000000000795<+123>:call0x5d0<__stack_chk_fail@plt>
    0x000000000000079a<+128>:leave
    0x000000000000079b<+129>:ret
  9. Windows平台不同编译器生成的程序,其导入表结构的预设值有何不同,并简述系统初始化IAT的过程

  10. 在获得IoT设备的固件之后,需要对其进行逆向工程分析,但对于二进制文件,往往并不知道其加载的基地址,要正确分析必须先确定其加载地址才行。那么,要确定一个IoT二进制固件的加载基址的方法有哪些?

转载于:https://www.cnblogs.com/r0ckysec/p/11429218.html

你可能感兴趣的:(运维,嵌入式)