安全技术-腾讯2016春招笔试

答案非官方,仅供参考,有错误欢迎指正

正文

2016年4月2日 在线笔试

1. 应用程序开发过程中,下列哪些开发习惯可能导致安全漏洞

A 在程序代码中打印日志输出敏感信息方便调试
B 在使用数组前判断是否越界
C 在生成随机数前使用当前时间设置随机数种子
D 设置配置文件权限为rw-rw-rw-

在生成随机数前用当前时间设置随机数种子应该是安全的。如果程序用固定的数产生随机数,其结果也是固定的。如果用当前时间来作为随机数种子的话,随着时间的不同,生成的随机数也会不同。因此是安全的。

补充,如果使用当前时间作为随机数种子的话,个人感觉应该精确到毫秒级,要保证其他人难以达到这个时间条件。

答案:AD

2. 以下哪些工具提供拦截和修改HTTP数据包的功能?

A Burp Suite
B Hackbar
C Fiddler
D Nmap

Burpsuite是用来进行网络渗透的,用于攻击Web应用的集成平台。
HackBar是用来进行sql注入的Firefox插件。
Fiddler是一个http协议调试代理工具,能够检查所有电脑和互联网之间的http通讯。
Nmap用来进行端口扫描用的。

补充,除此以外,OWASP ZAP、AWVS等重量级扫描工具一般都提供修改HTTP数据包的功能,还有一款Firefox的插件叫TamperData

答案:AC

3. 坏人通过XSS漏洞获取到QQ用户的身份后,可以进行以下哪些操作

A 偷取Q币
B 控制用户摄像头
C 劫持微信账户
D 进入QQ空间

补充,如果要使用摄像头,应该要获取浏览器(并且浏览器会弹出提示)权限,或者直接获得主机的访问权限。Q币支付需要额外的认证,仅凭借XSS获取的Cookie是不足的,配合额外的社会工程学手段可能成功。

能否劫持微信则要看微信和QQ是否共用同一套认证机制。

答案:(C?)D

4. 以下哪些工具可以抓取HTTP数据包?

A Burp Suite
B Wireshark
C Fiddler
D Nmap

除了Nmap不可以,其它三个都可以

答案:ABC

5. 以下哪些说法是正确的

A iOS系统从iOS6开始引入kernel ASLR安全措施
B 主流的iPhone收集Soc芯片内置了AES及RSA的硬件加解密引擎
C 安卓系统采用了安全引导链(Secure Boot Chain),而iOS系统则未采用
D Android 4.1 系统默认启动了内存ASLR

苹果系统也采用了安全引导链功能。其它均正确。

答案:ABD

6. 以下哪些是常见的PHP”一句话木马”?

1
2
3
4
A <?php assert($_POST[value]);?>
B <%execute(request("value"));%>
C <?php @eval($_POST[value]);?>
D <%if(request.getPatameter("f")!=null(newjavio.FileOutputStream(application.getRealPath("\")+request.getParameter("f"))).write(request.getParameter("t").getBytes()));%>

补充
A assert无法执行命令,一般用于检查测试用例的结果
B是jsp的webshell
D是jsp上传小马

答案:C

7. 以下说法正确的是

A xcodeghost是一种可以直接远程获取手机控制权的攻击方式
B wormhole是一种可以直接远程获取手机控制权的攻击方式
C heartbleed是一种可以直接获取手机控制权的攻击方式
D shellshock是一种可以直接远程获取手机控制权的攻击方式

xcodeghost 是投放在论坛/百度网盘的Xcode,在编译配置上被人更改,用这种Xcode编译的app,会被植入攻击者的代码。衍生的版本还有unityghost等。xcodeghost的主要功能是信息收集,潜在的功能包括弹窗钓鱼。

wormhole 是百度SDK的部分更新模块登陆验证不够严格,存在被第三方利用的风险。如果你手机中装了多个有 wormhole漏洞的app,这些app会时刻检查40310/6259端口,如果那个监听40310/6259端口的app被卸载了,另一个app会 立马启动服务重新监听40310/6259端口。 ”连接端口的IP需要验证一些头文件,但很容易通过伪装绕过。成功与该服务进行通讯后,就可以通过URL给APP下达指令,比如获取用户手机的GPS位 置,给手机增加联系人,下载任意文件到指定路径如果文件是apk则进行安装

heartbleed 主要攻击使用OpenSSL的服务器

shellshock 指的是许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。

答案: B

8. 在同一bash下依次执行

1
2
3
4
root@kali:~/Desktop# whoami
root
root@kali:~/Desktop# function whoami() { echo 1; }
root@kali:~/Desktop# whoami

最后一次执行whoami的结果是什么

A root
B 1
C echo 1
D echo 1;

答案: B

9. 以下哪个工具可以进行ddos攻击

A 菜刀
B WSI
C Dosend
D Chkrootkit

菜刀是一款webshell管理软件
WSI是PHP注入工具
chkrootkit时用来检测rootkit的。

答案:C

10. 以下哪些服务器曾被发现存在文件解析漏洞?

A Apache
B IIS
C Nginx
D Squid

补充
Apache
IIS
Nginx http://www.cnseay.com/118/
Squid 不确定

答案: ABC

11. 在以下命令中,可用来获取域名DNS记录的命令是

A traceroute
B ping
C dig
D who

答案: C

12. Linux环境下,查看日至文件的最后100行数据,正确的方式是

A mv -100 log
B grep -100 log
C cat -100 log
D tail -100 log

答案:D

13. Firefox浏览器HackBar提供的功能

A Post方式提交数据
B Base64编码和解码
C 代理修改Web页面内容
D 修改浏览器访问的Referer

答案:ABD

14. 以下哪些工具提供拦截和修改HTTP数据包的功能

A Metasploit
B HackBar
C SQLMap
D BurpSuite

答案: D

15. 以下哪几种工具可以对网站进行自动化web漏洞扫描

A HackBar
B AWVS
C IBM AppScan
D Nmap

答案: BC

16. 黑客控制一台Windows服务器,发现IE浏览器使用了代理,可以访问外网,执行如下命令发现

1
2
3
4
5
6
C:\Users\test>ping www.baidu.com -n 1
正在 Ping www.a.shifen.com [14.215.177.38] 具有32字节的数据:
请求超时
C:\Users\test>telnet www.baidu.com 80
正在链接www.baidu.com...无法打开到主机的连接。
在端口 80: 连接失败。

通过如上信息判断,以下哪些反弹shell操作会失败

A windows/meterpreter/reverse_http
B icmp协议的后门
C windows/meterpreter/reverse_https
D windows/meterpreter/reverse_tcp

IE浏览器使用了代理,可能HTTP协议会受到防火墙限制。没ping通百度说明ICMP协议也受影响。

答案: D

17. 关于XcodeGhost事件说法正确的是

A 部分Android产品也受到影响
B 应用程序开发者使用了包含有后门插件的IDE
C 当手机被盗时才会有风险
D 苹果官方回应App Store上的应用程序不受影响

答案: B

18. Android 应用中导致HTTS中间人攻击的原因有

A 没有对SSL证书进行校验
B 没有对主机名进行校验
C SSL证书被泄露
D 使用WiFi连接网络

答案: ABC

19. 下图为AES加密的明文和密文字符串,请问该加密使用了哪种分组模式

1
2
3
4
5
6
7
8
9
10
11
加密前:
0000000000000000
0000000000000000
0000000000000000
000000000000000
加密后
fbcd723ec4f10af24a9472349f722954
fbcd723ec4f10af24a9472349f722954
fbcd723ec4f10af24a9472349f722954
13d7ffbfe87a41c1fef1f429af20babc

A ECB
B CBC
C CFB
D OFB

参考 http://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html
不过并没有看出 CFB和OFB的区别

答案: A

20. 观察下面一段代码

1
2
3
4
5
<?php
$username = $_GET['username'];
echo $username;
mysql_query("select * from orders where username=".$username." or dir(mysql_error()));
?>

这段代码存在安全问题,会产生什么安全漏洞

A 命令注入漏洞
B SQL注入漏洞
C 文件包含漏洞
D 反射XSS漏洞

答案:B

21. 以下哪些是CSRF漏洞的防御方案

A 检查HTTP Referer字段是否同域
B 限制Session Cookit的生命周期
C 使用验证码
D Cookie关键字段设置HttpOnly属性

答案:ABCD

22. Android Manifest.xml中哪项配置可能造成安卓应用内部文件被窃取

A android:allowbackup=”true”
B android:name=”com.tsrc”
C android:debug=”true”
D android:targetSdkVersion=”17”

答案:C

23. 以下哪些工具可以抓取Windows明文密码

A WCE
B mimikatz
C Quarks PwDump
D CAIN

WCE和mimikatz可以在高权限下获取明文密码
Quarks PwDump可以获取密码hash
CAIN主要用于网络数据嗅探

答案: AB

24. 如果一个网站存在CSRF漏洞,可以通过CSRF漏洞做下面哪些事情

A 获取网站用户注册的个人资料信息
B 修改网站用户注册的个人资料信息
C 冒用网站用户的身份发布信息
D 以上都可以

答案:D

25. 以下关于cc攻击说法正确的是

A cc攻击需要借助代理进行
B cc攻击利用的时tcp协议的缺陷
C cc攻击难以获取目标机器的控制权
D cc攻击最早在国外大面积流行

答案: ACD

26. Android开发过程中,下面哪些开发习惯可能导致安全漏洞

A 在程序代码中插入Log()方法输出敏感信息方便调试
B 在应用正式版Andorid manifest.xml中设置android:debuggable=”false”
C 使用SecureRandom时使用安全的方法设置seed
D 设置应用配置文件为任意用户可读写

答案:AD

27. iOS平台上常见的Hook框架有

A Xposed
B Intent Fuzz
C Drozer
D Substrate

答案: D

28. php提供以下哪些函数来避免sql注入

A mysql_real_escape_string
B escapeshellarg
C htmlentities
D addslashes

答案: AD

29. 执行nmap 10.5.5.5.1 默认会扫描以下哪个端口

A 21
B 3389
C 8080
D 1024

10.5.5.5.1 似乎是移动的宽带导航页,需要进行DNS解析

答案: AC

30. 黑客通过以下哪种攻击方式,可能大批量获取网站注册用户的身份信息

A XSS
B CSRF
C 越权
D 以上都不可以

答案 ABC

31. sql注入(mysql数据库)中常用的延时函数是___

参考Time-Based Blind SQL Injection Attacks
SQL Injection Wiki

答案:sleep()

32. Linux上查看用户ssh登陆历史的指令last,它读取的日志文件名时___

清理痕迹
echo > /var/log/wtmp
但这种方法仍有问题,会修改wtmp的时间戳

答案: /var/log/wtmp

33. 黑客为了清理自己在服务器上操作的指令历史记录,他可以执行什么命令___

以下答案仅仅针对bash,其他shell可能不同,如zsh等

答案:
~/.bash_history
history -c

34. 国内历史最久的黑客安全技术峰会是__

答案: Xcon

35. 2015年百度被曝出的WormHole漏洞的原理是__

参考乌云知识库

答案:
wormhole 是百度SDK的部分更新模块登陆验证不够严格,存在被第三方利用的风险。如果你手机中装了多个有 wormhole漏洞的app,这些app会时刻检查40310/6259端口,如果那个监听40310/6259端口的app被卸载了,另一个app会 立马启动服务重新监听40310/6259端口。 ”连接端口的IP需要验证一些头文件,但很容易通过伪装绕过。成功与该服务进行通讯后,就可以通过URL给APP下达指令,比如获取用户手机的GPS位 置,给手机增加联系人,下载任意文件到指定路径如果文件是apk则进行安装。

36. aslr是对抗_攻击的技术

答案:
缓冲区溢出

37. windows下查看系统用户列表的命令是__

答案:
net user

38. 当访问web网站某个资源不存在时,返回的HTTP状态码是__

答案:
404

39. 被称为“XSS终结者”的使用HTTP头部来限制资源的策略是__

答案:
同源策略

40. C语言中字符串“学习C”所占的内存空间大小可能是___字节
答案:
5

判断题
41. zmap单次执行可以对多个端口同时扫描
答案:对

42. TCP和UDP协议对比,TCP传送数据更安全

此题可能存在争议。我的思路是 UDP 无法保证所有包都按时按顺序到达

答案:对

43. 用system启动的cmd执行 net use \10.1.1.10\c$”password/user”administrator”提示连接成功,然后在administrator用户下net use可以看到连接

不太了解windows认证机制的细节,欢迎了解的同学补充

答案:

44. Redis常用的默认端口是873

Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访 问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器。

答案:错

45. DES、RC4均属于对称加密算法

答案:对

46. 某应用程序需要完成用户输入密码登陆的操作,通过网络与服务器交互进行校验,请设计一个安全的网络传输方案,并说明原因。(出于性能方面的考虑,不使用https通信)

我只说说看我想到的一些思路,一方面是自己实现一个Diffie-Hulman密钥交换,说明SSL的基本原理,另一个思路是web前端慢加密

47. 外部某平台报告,某网站被黑客上传了Webshell并截图证明。老板指定身为安全工程师的你全权协调处理此事,请思考,你需要做些什么?

开放性问题。首先协调修补漏洞,之后评估入侵的潜在损失,并检查其他可能存在类似问题的服务。

参考资料

[1] 腾讯2016春招安全岗笔试题解析