腾讯实习招聘安全岗笔试题答案详细解释.docx
《腾讯实习招聘安全岗笔试题答案详细解释.docx》由会员分享,可在线阅读,更多相关《腾讯实习招聘安全岗笔试题答案详细解释.docx(20页珍藏版)》请在冰豆网上搜索。
腾讯实习招聘安全岗笔试题答案详细解释
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数据包的功能?
()
ABurpsuite
BHackbar
CFiddler
DNmap
答案:
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数据包?
()
ABurpsuite
BWireshark
CFiddler
DNmap
答案:
ABC
解释:
ABurpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。
因此是可以HTTP数据包。
BWireshark是监听网络接口数据的,可以设置监听某个网卡来监听各种网络数据包。
因此是可以抓取HTTP数据包。
CFiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。
因此是可以抓取HTTP数据包。
DNmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。
但是不能抓取HTTP数据包。
5 以下哪些说法是正确的?
()
A iOS系统从IOS6开始引入kernelASLR安全措施
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎
C 安卓系统采用了安全引导链(securebootchain ),而IOS系统则未采用
D Android 系统默认启用了内存ASLR
答案:
ABD
解释:
AIOS系统从IOS6开始引入kernelASLR安全措施。
情况属实。
因此是正确的。
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎。
情况属实。
因此是正确的。
C 安卓系统采用了安全引导链(securebootchain ),而IOS系统则未采用。
情况不属实,原因是IOS系统也采用了安全引导链。
因此是不正确的。
DAndroid 系统默认启用了内存ASLR。
情况属实。
因此是正确的。
6 以下哪些是常见的PHP ’ 一句话木马“ ?
()
A
phpassert($_POST(value));?
>
B<%execute(request("value"))%>
C
php@eval($_POST(value)):
?
>
D<%if("!
")!
=null)("\\")+("!
"))).write("t").getByte())):
%>
答案:
ABCD
解释:
A assert用来判断一个表达式是否成立,可以远程连接。
可为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地址,并向该URL上传敏感信息(如设备型号、iOS 版本)。
回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。
因此xcodeghost是一种可以直接远程控制手机控制权的攻击方式。
B XXSDK虫洞漏洞相关的核心代码存在于SDK的中,所有使用该SDK开发的APP,均会开放40310端口响应数据请求。
虽然请求限制在本地进行,但攻击者仍然很容易绕过,这可能导致用户数据的大量泄漏。
XX旗下应用安装到手机上之后,它会打开40310/6259端口,任何IP都可以连接该端口。
被XX称为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-c"exit"如果有输出,就说明存在该漏洞。
只要是能通过某种手段为bash传递环境变量的程序都受此影响。
当然最典型的的就是bash写的CGI程序了,客户端通过在请求字符串里加入构造的值,就可以轻松攻击运行CGI的服务器。
因此shellshockbu不是一种可以直接远程控制手机控制权的攻击方式,而是可以直接远程控制服务器控制权的攻击方式。
8 在同一个bash 下依次执行
root@kali:
~/Desktop# whoami
root
root@kali:
~/Desktop#functionwhoami(){echo1;}
root@kali:
~/Desktop#whoami
最后一次执行的whoami 的结果是什么?
()
Aroot
B1
Cecho1
Decho1;
答案:
B
解释:
第一次执行whoami 是正常显示 root.。
functionwhoami(){echo1;} 通过定义函数whoami , 使得whoami 是一个函数,而初始化值为echo1 ,而echo1 的执行结果是1。
也就是说,通过调用函数whoami 并且初始化(执行echo函数),所以输出结果为1。
9 以下哪个攻击可用来运行ddos攻击?
()
A 菜刀
BWSI
CDosend
DChkrootkit
答案:
C
解释:
A 中国菜刀是一款专业的网站管理软件。
BWSI是PHP注入工具。
CDosend是一款Linux发包攻击工具,可用来实现DDOS攻击。
参考链接为
Dchkrootkit是用来检测rootkit的。
10 以下哪些服务器曾被发现文件解析漏洞?
()
AApache
BIIS
Cnginx
Dsquid
答案:
ABC
AApache解析漏洞。
它 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.
比如“.owf”和”.rar”?
这两种后缀是apache不可识别解析,apache就会把解析成php.
BIIS 解析漏洞。
一是中的/ ,网站下建立文件夹的名字为.asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。
二 是;.jpg会被服务器看成是, 默认的可执行文件除了asp还包含这三种//
Cnginx解析漏洞。
一是nginx默认Fast-CGI开启状况下,黑阔上传一个名字为,内容为
PHPfputs(fopen('','w'),'
phpeval($_POST[cmd])?
>');?
>的文件,然后访问.php,在这个目录下就会生成一句话木马 。
二是Nginx在图片中嵌入PHP代码然后通过访问%来执行其中的代码,影响版:
.,.,<=<=
DSquid爆出来的更多是拒绝服务攻击。
它是一个高效的Web缓存及代理程序,最初是为Unix平台开发的,现在也被移植到Linux和大多数的Unix类系统中,最新的Squid可以运行在Windows平台下。
11 以下命令可以用来获取DNS记录的是?
()
Atraceroute
Bping
Cdig
Dwho
答案:
C
解释:
Atraceroute 。
该命令为追踪路由情况。
Bping 。
该命令为检测网络是否通畅。
Cdig 。
linux下查询域名解析有两种选择,nslookup或者dig,如 dig
Dwho 。
该命令为查询登录linux系统的用户数目。
12linux 环境下,查询日志文件最后100行数据,正确的方式是?
()
Amv-100log
Bgrep-100log
Ccat-100log
Dtail-100log
答案:
D
解释:
Amv-100log 。
该为mv命令,是移动文件或者文件夹的,与查看日志无关。
Bgrep-100log 。
该为grep命令,是筛选或者匹配关键词的,与查看日志无关,但是可以配合其他命令进行查看日志。
Ccat-100log 。
该命令为顺序查看命令,查看log的前一百行数据(包括空行)。
Dtail-100log。
该命令为倒序查看名,查询log文件的最后100行数据。
故选择D
13Firefox浏览器插件Hacbar提供的功能()
APOST方式提交数据
BBASE64编码和解码
C 代理修改WEB页面的内容
D修改浏览器访问referer
答案:
ABD
解释:
APOST方式提交数据。
通过在hackbar勾选”Enablepostdata",hackbar可以显出示该功能。
BBASE64编码和解码。
通过在hackbarc菜单栏”Encoding",hackbar可以显出示该功能。
C 代理修改WEB页面的内容。
该功能属于插件firebug的。
hackbar 无该项功能。
D修改浏览器访问referer。
通过在hackbar勾选”EnableReferer",hackbar可以显出示该功能。
14 以下哪个攻击可以提供拦截和修改http数据包功能?
()
AMetasploit
BHackbar
CSqlmap
DBurpsuite
答案:
D
解释:
AMetasploit 。
它为集成的漏洞攻击平台,具有多种攻击载荷和shell。
但是无法提供拦截和修改http数据包。
BHackbar 是用来进行sql注入、测试XSS和加解密字符串的。
可以用来快速构建一个HTTP请求(GET/POST)等。
但是不能拦截和修改HTTP数据包。
CSqlmap 是用来进行sql注入,获取数据库信息和获操作系统信息,甚至注入后门webshell的,但是不能拦截和修改HTTP数据包。
DBurpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。
可以进行拦截和修改HTTP数据包。
15 以下哪几种工具可以对网站进行自动化web漏洞扫描?
()
Ahackbar
BAWVS
CIBMappscan
DNmap
答案:
BC
解释:
Ahackbar 是用来进行sql注入、测试XSS和加解密字符串的。
可以用来快速构建一个HTTP请求(GET/POST)等。
但是不能自动化web 漏洞扫描
BAWVS 是业界非常推荐的漏洞扫描神器,它拥有数目非常多而且最强大的漏洞检测脚本,国内多数人使用破解版,它可以进行自动化web漏洞扫描。
CIBMappscan 是国外IBM安全公司的一款非常厉害的安全漏洞扫描产品,能够扫描各种生产环境的WEB,也就是说它也可以进行自动化web 漏洞扫描。
DNmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是系统漏洞检测,从它的NSE脚本可以看到它也可以进行WEB漏洞扫描,但是需要复杂的配置命令,故它不能进行自动化web漏洞扫描。
答案:
BC
16. 黑客控制一台Windows服务器,发现IE浏览器使用了代理,可以访问外网,执行如下命令发现
C:
\Users\test>ping -n1
正在 Ping [ 具有32字节的数据:
请求超时
C:
\Users\test>telnet 80
正在链接无法打开到主机的连接。
在端口 80:
连接失败。
通过如上信息判断,以下哪些反弹shell操作会失败
Awindows/meterpreter/reverse_http
Bicmp协议的后门
Cwindows/meterpreter/reverse_https
Dwindows/meterpreter/reverse_tcp
答案:
ABCD
解释:
IE浏览器使用了代理,可能HTTP协议会受到防火墙限制,故A不对;ping不通XX说明ICMP协议也受影响。
故http、https、icmp协议的反弹shell都会失败,D也是不对的,对方挂了代理,telnet不通,只有通过插入挂了代理的IE进程反弹,或者通过代理反弹.
17 关于XcodeGhost事件的正确说法是()
A 部分Android 产品 也受到了影响
B 应用程序开发使用了包含后门插件的IDE
C 当手机被盗时才有风险
D苹果官方回应APPSTORE上的应用程序不受影响
答案:
AB
解释:
通过Xcode从源头注入病毒XcodeGhost,是一种针对苹果应用开发工具Xcode的病毒。
于2015年9月被发现。
它的初始传播途径主要是通过非官方下载的Xcode 传播,通过CoreService 库文件进行感染,安卓用了Unity和Cocos2d的也受影响,当应用开发者使用带毒的Xcode工作时,编译出的App 都将被注入病毒代码,从而产生众多带毒APP。
用户在iOS设备上安装了被感染的APP后,设备在接入互联网时APP会回连恶意URL地址,并向该URL上传敏感信息(如设备型号、iOS 版本)。
回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。
苹果官方当时下架相关的应用。
故XcodeGhost,是一种针对苹果应用开发工具的病毒,它是应用程序开发使用了包含后门插件的IDE,手机下了含有XCODE病毒的应用就会受到影响,苹果官方回应,APPSTORE上的应用程序是受到影响,并且下架了一部分受影响的应用,并且部分android产品也受到影响。
18Android 应用中导致HTTPS中间人攻击的原因有?
()
A 没有对SSL证书校验
B 没有对主机名进行校验
CSSL证书被泄露
D 使用WIFI连接网络
答案:
ABC
解释:
A 没有对SSL证书校验 。
B 没有对主机名进行校验
CSSL证书被泄露
D 使用WIFI连接网络
答案:
ABC
解释:
Android 应用中导致HTTPS漏洞的分析:
1)中间人攻击漏洞位置:
X509TrustManager 、HostnameVerifier、setHostnameVerifier(X509HostnameVerifierhostnameVerifier)
2) 漏洞触发前提条件:
自定义的X509TrustManager不校验证书;
或实现的自定义HostnameVerifier不校验域名接受任意域名;
或使用setHostnameVerifier(ALLOW_ALL_HOSTNAME_VERIFIER);
3) 漏洞原理:
由于客户端没有校验服务端的证书,因此攻击者就能与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。
在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
客户端不校验SSL证书(包含签名CA是否合法、域名是否匹配、是否自签名证书、证书是否过期)包含以下几种编码错误情况:
a. 自实现的不校验证书的X509TrustManager接口的Java代码片段 (其中的checkServerTrusted()方法实现为空,即不检查服务器是否可信):
b. 不检查站点域名与站点证书的域名是否匹配的Java代码片段:
c. 接受任意域名的Java代码片段:
A 没有对SSL证书校验 -----》》》客户端自定义的X509TrustManager不校验证书;,攻击者冒用证书
B 没有对主机名进行校验----》》》客户端实现的自定义HostnameVerifier不校验域名接受任意域名,攻击者可以使用域名冒用
CSSL证书被泄露----》》》》 证书颁发机构(CertificationAuthority)被攻击导致私钥泄露等。
攻击者可通过中间人攻击,盗取账户密码明文、聊天内容、通讯地址、电话号码以及信用卡支付信息等敏感信息,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制、恶意扣费等攻击意图。
D 使用WIFI连接网络----《《《客户端使用WIFI连接对于HTTPS传输来说,不会受到影响。
因为重点是中间人漏洞攻击的位置和触发条件不会受到网络类型的影响。
19. 下图为AES加密的明文和密文字符串,请问该加密使用了哪种分组模式
加密前:
0000000000000000
0000000000000000
0000000000000000
000000000000000
加密后:
fbcd723ec4f10af24a9472349f722954
fbcd723ec4f10af24a9472349f722954
fbcd723ec4f10af24a9472349f722954
13d7ffbfe87a41c1fef1f429af20babc
答案:
B
解释:
ECB:
是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。
CBC:
是一种循环模式,