0x00前言鉴于曾经做过腾讯找招聘-安全技术笔试题目,故留此一记,以作怀念。此外,网上也有公布的相关的答案,但是其中有些题目稍有错误或者解释不全,所以趁机写上一记。0x01开始2016年4月2日晚上7:00到9:00,腾讯2016实习招聘-安全技术的笔试题确实考到很多基础知识。该笔试题有两部分。第一部分是30道不定项选择题、10道简答题和5道判断题,题量是45,限时80分钟。第二部分是2道分析题,限时40分钟。有下面统一给出答案和为每一题做出解释。0x02不定项选择题-301应用程序开发过程中,下面那些开发习惯可能导致安全漏洞?()A在程序代码中打印日志输出敏感信息方便调式B在使用数组前判断是否越界C在生成随机数前使用当前时间设置随机数种子D设置配置文件权限为rw-rw-rw-答案:AD解释:A为日志包含敏感信息,容易泄露账号密码接口数据等信息,可能产生安全漏洞。B为数组大小问题,数组不越界,可防止溢出安全漏洞。因此是安全的。C用当前时间来作为随机数种子的话,随着时间的不同,生成的随机数也会不同。因此是安全的。D为配置文件的权限问题,rw为可以读取可以写入。第一个rw-为文件所属用户、第二个rw-为用户所在组、第三个rw-为其它用户的读写。可以导致非法写入和越权访问,可能产生安全漏洞。2以下哪些工具提供拦截和修改HTTP数据包的功能?()ABurpsuiteBHackbarCFiddlerDNmap答案:AC解释:ABurpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。可以进行拦截和修改HTTP数据包。BHackbar是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能拦截和修改HTTP数据包。CFiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。可以进行拦截和修改HTTP数据包。DNmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能不能拦截和修改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数据包?()ABurpsuiteBWiresharkCFiddlerDNmap答案:ABC解释:ABurpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。因此是可以HTTP数据包。BWireshark是监听网络接口数据的,可以设置监听某个网卡来监听各种网络数据包。因此是可以抓取HTTP数据包。CFiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。因此是可以抓取HTTP数据包。DNmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能抓取HTTP数据包。5以下哪些说法是正确的?()AiOS系统从IOS6开始引入kernelASLR安全措施B主流的Iphone手机内置了AES及RSA硬件加速解密引擎C安卓系统采用了安全引导链(securebootchain),而IOS系统则未采用DAndroid4.1系统默认启用了内存ASLR答案:ABD解释:AIOS系统从IOS6开始引入kernelASLR安全措施。情况属实。因此是正确的。B主流的Iphone手机内置了AES及RSA硬件加速解密引擎。情况属实。因此是正确的。C安卓系统采用了安全引导链(securebootchain),而IOS系统则未采用。情况不属实,原因是IOS系统也采用了安全引导链。因此是不正确的。DAndroid4.1系统默认启用了内存ASLR。情况属实。因此是正确的。6以下哪些是常见的PHP’一句话木马“?()A?phpassert($_POST(value));?B%execute(request(value))%C?php@eval($_POST(value)):?D%if(request.getParameter(!)!=null)(newjavio.FileOutputStream(application.getRealPath(\\)+request.getParmeter(!))).write(request.getParameter(t).getByte())):%答案:ABCD解释:Aassert用来判断一个表达式是否成立,可以远程连接。可为PHP一句话木马。Bexecute用来执行表达式,可以执行某些操作。可为asp一句话木马。Ceval实现php对表达式的计算和执行,可以用来执行某些操作。可为PHP一句话木马。D通过判断执行文件输出写入,故为一句话木马。7以下哪个说法是正确的?()Axcodeghost是一种可以直接远程控制手机控制权的攻击方式Bwormhole是一种可以直接远程控制手机控制权的攻击方式C”心脏滴血“是一种可以直接远程控制手机控制权的攻击方式Dshellshock是一种可以直接远程控制手机控制权的攻击方式答案:A解释:A通过Xcode从源头注入病毒XcodeGhost,是一种针对苹果应用开发工具Xcode的病毒。于2015年9月被发现。它的初始传播途径主要是通过非官方下载的Xcode传播,通过CoreService库文件进行感染。当应用开发者使用带毒的Xcode工作时,编译出的App都将被注入病毒代码,从而产生众多带毒APP。用户在iOS设备上安装了被感染的APP后,设备在接入互联网时APP会回连恶意URL地址init.icloud-analysis.com,并向该URL上传敏感信息(如设备型号、iOS版本)。回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。因此xcodeghost是一种可以直接远程控制手机控制权的攻击方式。B百度SDK虫洞漏洞相关的核心代码存在于SDK的com.baidu.hello.moplus中,所有使用该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服务(由MoplusSDK建立的)中没有进行身份认证,使得攻击行为不仅可以通过app开发者,也可以由任何其它人来触发。只需一个命令,攻击者或者网络罪犯就可以远程控制感染的设备。此外,他们只需要使用nmap进行全网段扫描,测试TCP端口6259或40310的状态,端口状态为OPEN的所有Android设备都可能被远程控制。需要注意的是在同一个局域网内,以及在同一个的3G/4G网络的所有设备都可以被攻击。因此wormhole是一种可以直接远程控制手机控制权的攻击方式。CHeartbleed漏洞,这项严重缺陷(CVE-2014-0160)的产生是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。通过读取网络服务器内存,攻击者可以访问敏感数据,从而危及服务器及用户的安全。敏感的安全数据,如服务器的专用主密钥,可使攻击者在服务器和客户端未使用完全正向保密时,通过被动中间人攻击解密当前的或已存储的传输数据,或在通信方使用完全正向保密的情况下,发动主动中间人攻击。攻击者无法控制服务器返回的数据,因为服务器会响应随机的内存块。[8]漏洞还可能暴露其他用户的敏感请求和响应,包括用户任何形式的POST请求数据,会话cookie和密码,这能使攻击者可以劫持其他用户的服务身份。在其披露时,约有17%或五十万通过认证机构认证的互联网安全网络服务器被认为容易受到攻击。电子前哨基金会,ArsTechnica,和布鲁斯·施奈尔都认为心脏出血漏洞是“灾难性的”。[8]漏洞让特定版本的openSSL成为无需钥匙即可开启的“废锁”,入侵者每次可以翻检户主的64K信息,只要有足够的耐心和时间,就可以翻检足够多的数据,拼凑出户主的银行密码、私信等敏感数据。对此安全专家提醒,网友在网站完成修复升级后,仍需及时修改原来的密码。因此”心脏滴血“不是一种可以直接远程控制手机控制权的攻击方式,而是一种窃取用户信息的攻击方式。DShellshock,又称Bashdoor,是在Unix中广泛使用的Bashshell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。执行命令envx='(){:;};echoShellshock'bash-cexit如果有输出,就说明存在该漏洞。只要是能通过某种手段为bash传递环境变量的程序都受此影响。当然最典型的的就是bash写的CGI程序了,客户端通过在请求字符串里加入构造的值,就可以轻松攻击运行CGI的服务器。因此shellshockbu不是一种可以直接远程控制手机控制权的攻击方式,而是可以直接远程控制服务器控制权的攻击方式。8在同一个bash下依次执行root@kali:~/Desktop#whoamirootroot@kali:~/Desktop#functionwhoami(){echo1;}root@kali:~/Desktop#whoami最后一次执行的whoami的结果是什么?()ArootB1Cecho1Decho1;答案:B解释:第一次执行whoami是正常显示root.。functionwhoami(){echo1;}通过定义函数whoami,使得whoami是一个函数,而初始化值为echo1,而echo1的执行结果是1。也就是说,通过调用函数whoami并且初始化(执行echo函数),所以输出结果为1。9以下哪个攻击可用来运行ddos攻击?()A菜刀BWSICDosendDChkrootkit答案:C解释:A中国菜刀是一款专业的网站管理软件。BWSI是PHP注入工具。CDosend是一款Linux发包攻击工具,可用来实现DDOS攻击。参考链接为是用来检测