0x00前言
鉴于曾经做过腾讯招聘-安全技术笔试题目,故留此一记,以作怀念。此外,网上也有公布的相关的答案,但是其中有些题目稍有错误或者解释不全,所以趁机写上一记。
0x01 开始
2016年4月2日晚上7:00到9:00,腾讯2016实习招聘-安全技术的笔试题确实考到很多基础知识。该笔试题有两部分。第一部分是30道不定项选择题、10道简答题和5道判断题,题量是45,限时80分钟。第二部分是2道分析题,限时40分钟。有下面统一给出答案和为每一题做出解释。
0x02 不定项选择题-30
1 应用程序开发过程中,下面那些开发习惯可能导致安全漏洞?()
A  在程序代码中打印日志输出敏感信息方便调式
B 在使用数组前判断是否越界
C 在生成随机数前使用当前时间设置随机数种子
D 设置配置文件权限为rw-rw-rw-
答案:AD
解释:
A 为日志包含敏感信息,容易泄露账号密码接口数据等信息,可能产生安全漏洞。
B 为数组大小问题,数组不越界,可防止溢出安全漏洞。因此是安全的。
C 用当前时间来作为随机数种子的话,随着时间的不同,生成的随机数也会不同。因此是安全的。
D 为配置文件的权限问题,rw为可以读取可以写入。第一个rw-为文件所属用户、第二个rw-为用户所在组、第三个rw-为其它用户的读写。可以导致非法写入和越权访问,可能产生安全漏洞。
2 以下哪些工具提供拦截和修改HTTP数据包的功能?()
A Burpsuite
B Hackbar
C Fiddler
D Nmap
答案:AC
解释:
A Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。可以进行拦截和修改HTTP数据包。
B Hackbar 是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能拦截和修改HTTP数据包。
C Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。可以进行拦截和修改HTTP数据包。
D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能不能拦截和修改HTTP数据包。
3 坏人通过XSS漏洞获取到QQ用户的身份后,可以进行一下操作?()
A 偷取Q 币
B 控制用户摄像头
C 劫持用户
D 进入QQ空间
答案:D
解释:
XSS漏洞是获取用户cookie的,即是获得用户cookie等敏感信息。
A 偷取Q币。需要用户进行确认或者输入密码,具有很强的交互性。因此无法进行。
B 控制用户用户摄像头。因为开启摄像头,需要用户手动确认。因此无法进行。
C 劫持用户。因为登录会验证手机信息甚至短信验证,并且只能同时在一个设备上登录一个账号。因此无法进行。
D 进入QQ空间。 因为登录QQ空间是不需要用户交互操作的,并且使用cookie获得用户身份后,就好像正常用户一样可以查看QQ空间,QQ资料等。
4 以下哪些工具可以抓取HTTP数据包?()
A Burpsuite
B Wireshark
C Fiddler
D Nmap
答案:ABC
解释:
A Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。因此是可以HTTP数据包。
B Wireshark是监听网络接口数据的,可以设置监听某个网卡来监听各种网络数据包。因此是可以抓取HTTP数据包。
C Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。因此是可以抓取HTTP数据包。
D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能抓取HTTP数据包。
5 以下哪些说法是正确的?()
iOS系统从IOS6开始引入kernelASLR安全措施
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎
安卓系统采用了安全引导链(secureboot chain ),而IOS系统则未采用
Android 4.1 系统默认启用了内存ASLR 
答案:ABD
解释:
A IOS系统从IOS6开始引入kernelASLR安全措施。情况属实。因此是正确的。
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎。情况属实。因此是正确的。
C 安卓系统采用了安全引导链(secureboot chain ),而IOS系统则未采用。情况不属实,原因是IOS系统也采用了安全引导链。因此是不正确的。
腾讯 笔试D Android 4.1 系统默认启用了内存ASLR。情况属实。因此是正确的。
6 以下哪些是常见的PHP ’ 一句话木马“ ? ()
A < ?php assert ($_POST(value));?>
B <%execute(request("value"))%>
C <?php @eval ($_POST(value)):?>
D<%Parameter("!")!=null)(newjavio.RealPath("\\") + Parmeter("!"))).write (Parameter("t").getByte())):%>
答案:ABCD
解释:
A  assert用来判断一个表达式是否成立,可以远程连接。可为PHP一句话木马。
B execute 用来执行表达式,可以执行某些操作。可为asp一句话木马。
C eval 实现php对表达式的计算和执行,可以用来执行某些操作。可为PHP一句话木马。
D 通过判断执行文件输出写入,故为一句话木马。
7 以下哪个说法是正确的?()
A xcodeghost 是一种可以直接远程控制手机控制权的攻击方式
B wormhole是一种可以直接远程控制手机控制权的攻击方式
C ” 心脏滴血“ 是一种可以直接远程控制手机控制权的攻击方式
D shellshock是一种可以直接远程控制手机控制权的攻击方式
答案:A
解释:
A 通过Xcode从源头注入病毒XcodeGhost,是一种针对苹果应用开发工具Xcode的病毒。于2015年9月被发现。它的初始传播途径主要是通过非官方下载的Xcode 传播,通过CoreService 库文件进行感染。当应用开发者使用带毒的Xcode工作时,编译出的App 都将被注入病毒代码,从而产生众多带毒APP。用户在iOS设备上安装了被感染的APP后,设备在接入互联网时APP会回连恶意URL地址init.icloud-analysis,并向该URL上传敏感信息(如设备型号、iOS 版本)。回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、、、打开设备上所安装的其他APP等操作。
因此xcodeghost是一种可以直接远程控制手机控制权的攻击方式。
B 百度SDK虫洞漏洞相关的核心代码存在于SDK的com.plus中,所有使用该SDK开发的APP,均会开放40310端口响应数据请求。虽然请求限制在本地进行,但攻击者仍然很容易绕过,这可能导致用户数据的大量泄漏。百度旗下应用安装到手机上之后,它会打开40310/6259端口,任何IP都可以连接该端口。被百度称为immortalservice的HTTP服务监视来自该端口的信息,之所以被称为immortal(不朽),原因是它“会在后台一直运行,并
且如果你手机中装了多个有wormhole漏洞的app,这些app会时刻检查40310/6259端口,如果那个监听40310/6259端口的app被卸载了,另一个app会 立马启动服务重新监听40310/6259端口。 ”连接端口的IP需要验证一些头文件,但很容易通过伪装绕过。成功与该服务进行通讯后,就可以通过URL给APP下达指令,攻击者可以从用户设备远程获取位置信息,搜索框信息,包信息和其它敏感数据。它可以在用户设备上远程添加联系人,扫描下载文件,上传特定文件。所有这些行为只需简单的通过发送HTTP请求便可以完成。因为在本地HTTP服务(由Moplus SDK建立的)中没有进行身份认证,使得攻击行为不仅可以通过app开发者,也可以由任何其它人来触发。只需一个命令,攻击者或者网络罪犯就可以远程控制感染的设备。此外,他们只需要使用nmap进行全网段扫描,测试TCP端口6259或40310的状态,端口状态为OPEN的所有Android设备都可能被远程控制。需要注意的是在同一个局域网内,以及在同一个的3G/ 4G网络的所有设备都可以被攻击。