腾讯 2016 春招笔试(伪)权威解析

这篇文章的原文在:原文地址

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

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

只说一下第三个吧,给出篇文章随机数是骗人的
这篇文章中提到的另一篇文章我也给出链接,省去大家查找的时间当随机不够随机:一个在线扑克游戏的教训
看完你就可以了解为什么这个做法也会导致安全漏洞,微信公众号黑客 Hub 转载这篇文章时给出的解释认为这样不会产生漏洞是错误的

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

  • BurpSuite
  • HackBar
  • Fiddler
  • Nmap

Fiddler 和 BurpSuite 都可以拦截和修改 HTTP 数据包

常用的 Firefox插件

  • Firebug(抓包与各种调试)
  • Tamper Data(拦截修改)
  • Live Http Header(重放功能)
  • Hackbar(编码解码/POST提交)
  • Modify Headers(修改头部)

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

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

个人认为只有进入 QQ 空间可以

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

  • BurpSuite
  • Wireshark
  • Fiddler
  • Nmap

BurpSuite、Wireshark 和 Fiddler 都是常见的抓包工具

5、以下哪些说法是正确的?

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

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

  • (√)
  • <%execute(request("value"))%>
  • (√)
  • <%if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("/")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%>

第二个是 asp 的一句话木马,第四个是 jsp 的一句话小马,这已经不能算是一句话了,assert 是可以替换 eval 的函数,不过 assert 常被禁用,所以场景很少,不知道算不算得常见?

7、以下哪个说法是正确的?

  • XcodeGhost 是一种可以直接远程手机控制权的攻击方式
  • Wormhole 是一种可以直接远程手机控制权的攻击方式
  • “心脏滴血”是一种可以直接远程手机控制权的攻击方式
  • ShellShock 是一种可以直接远程手机控制权的攻击方式

XcodeGhost 是在 2015 年被发现的大量 Xcode 编辑器被第三方代码注入,导致编译出来的 App 都存在后门
Wormhole 是在百度全家桶上大面积爆发的一个后门程序
“心脏滴血”是 OpenSSL 库存在的漏洞,影响很大
ShellShock 链接的 CVE 号是 CVE-2014-6271,不细说了

8、在同一 bash 下依次执行

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

最后一次执行 whoami 的结果为?

  • root
  • 1(√)
  • echo 1
  • echo 1;

9、以下哪个工具可用来进行 DDOS 攻击

  • 菜刀
  • WSI
  • Dosend
  • Chkrootkit

Dosend 是一个 DDOS 工具,Chkrootkit 是一个 rootkit 扫描器,菜刀是一个 Webshell 管理工具, WSI 是一个注入扫描工具

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

  • Apache
  • IIS
  • Nginx
  • Squid

Apache、IIS、Nginx 都曾经被发现存在文件解析漏洞
相关可参考乌云知识库这篇文章:文件解析漏洞的总结
而 Squid Cache 是 HTTP 代理服务器软件。Squid 用途广泛的,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网

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

  • traceroute
  • ping
  • dig
  • who

traceroute 命令让你追踪网络数据包的路由途径
who 命令显示关于当前在本地系统上的所有用户的信息
dig 命令是一个用于询问 DNS 域名服务器的灵活的工具

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

  • mv -100 log
  • grep -100 log
  • cat -100 log
  • tail -100 log

tail 尾巴的意思,tail 命令可以从指定点开始将文件写到标准输出

13、Firefox 浏览器插件 HackBar 提供的功能?

  • POST 方式提交数据
  • base64 编码和解码
  • 代理修改 Web 页面内容
  • 修改浏览器访问 Referer

上面讲过火狐的插件:Tamper Data(拦截修改) 和 Modify Headers(修改头部)

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

  • Metasploit
  • HackBar
  • SQLMap
  • BurpSuite

BurpSuite 是常用的抓包改包工具

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

  • HackBar
  • AWVS
  • IBM AppScan
  • Nmap

只有 HackBar 是一个火狐的插件而已,其余都可以

16、黑客控制了一台 Windows 服务器,发现 IE 浏览器使用了代理,可以访问外网,执行如下命令发现
ping www.baidu.com -n 1
请求超时
telnet www.baidu.com 80
在端口80:连接失败
通过如上信息判断,以下哪些反弹 Shell 操作会失败

  • windows/meterpreter/reverse_http
  • icmp 协议的后门(√)
  • windows/meterpreter/reverse_https
  • windows/meterpreter/reverse_tcp(√)

ping 是 ICMP 协议, telnet 是 TCP 协议,故此二者不会成功

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

  • 部分 Android 产品也受到影响(√)
  • 应用程序开发者使用了包含有后门插件的 IDE(√)
  • 当手机被盗时才会有风险(×)
  • 苹果官方回应 AppStore 上的应用程序不受影响(×)

百度实验室发现 Unity-4.X 版本的多平台游戏开发工具也存在类似后门,所以 Android 系统也会受到影响

18、Android 应用中导致 HTTPS 中间人攻击的原因有?

  • 没有对 SSL 证书进行校验(√)
  • 没有对主机名进行校验(×)
  • SSL 证书被泄露(√)
  • 使用 WIFI 连接网络(√)

19、以下是 AES 加密的明文和密文字符串,请问该加密使用了哪种分组模式?

加密前:
0000000000000000
0000000000000000
000000000000000
加密后:
fbcd723ec4f10sf24a9472349f722954
fbcd723ec4f10sf24a9472349f722954
13d7ffbfe87a41c1fef1f429af20babo
  • ECB(√)
  • CBC
  • CFB
  • OFB

分组密码有五种工作体制:
1.电码本模式(Electronic Codebook Book (ECB))
2.密码分组链接模式(Cipher Block Chaining (CBC))
3.计算器模式(Counter (CTR))
4.密码反馈模式(Cipher FeedBack (CFB))
5.输出反馈模式(Output FeedBack (OFB))

这应该是最简单的电码本模式,不能隐藏明文的模式也是 ECB 的缺点之一

20、下面这段代码存在安全问题,会产生什么安全漏洞?


%username = $_GET['username'];
echo $username;
mysql_query("select * from orders where username = ".$username." or dir(mysql_error()));
  • 命令注入漏洞
  • SQL 注入漏洞(√)
  • 文件包含漏洞
  • 反射 XSS 漏洞

不知道会不会产生其他漏洞,PHP 不太懂

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

  • 检查 HTTP Referer 字段是否同域(√)
  • 限制 Session Cookie 的生命周期
  • 使用验证码(√)
  • Cookie 关键字段设置 HTTP Only 属性

常见的 CSRF 防御方案有如下三种:
验证 HTTP Referer 字段
添加 Token
添加验证码/再次输入密码

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

  • android:allowbackup=”true”
  • android:name=”com.tsrc”
  • android:debug=”true”
  • android:targetSdkVersion=”17”

个人认为允许备份和允许调试会存在泄露风险,如果错误请指正

23、以下哪些工具可以抓出 Windows 明文密码?

  • WCE
  • mimikatz(√)
  • Quarks PwDump
  • CAIN

讲道理,这四款工具都能得到 HASH 值,但是明文密码似乎只有 mimikatz 才能做到
Windows Server 2012 用户密码 HASH 抓取
mimikatz 也有轻量调试器的功能,感兴趣的同学可以去试一试

24、如果一个网站存在有 CSRF 漏洞,可以通过 CSRF 漏洞做下列哪些事情?

  • 获取网站用户注册的个人资料信息
  • 修改网站用户注册的个人资料信息
  • 冒用网站用户的身份发布信息
  • 以上都可以(√)

25、以下关于 CC 攻击说法正确的是?

  • cc 攻击需要借助代理进行(√)
  • cc 攻击利用的是 tcp 协议的缺陷(√)
  • cc 攻击难以获取目标机器的控制权(√)
  • cc 攻击最早在国外大面积流行(√)

CC 攻击是攻击者借助代理服务器生成指向受害主机的合法请求,实现 DDOS

两台机器通信要进行一个所谓的三次握手,首先是客户机发出一个请求 (SYN) ,服务器收到该请求后,填写会话信息表 (TCB,保存在内存中),并且向客户机反馈一个回应包 (SYN-ACK) ,此时连接处于 TIME_WAIT 状态,如果最终没有收到客户机的 ACK 信息包,会尝试隔一段时间再发送一次回应包 SYN-ACK,这样经过多次重试后,客户机还没有回应的话,服务器才会关闭会话,并从 TCB 中删除掉该会话。这个等待过程大约为 30 秒。当攻击者同时发起十万计的请求时 (SYN) 到服务器开放的端口,并且本身拒绝发送 SYN-ACK 回应时,服务器的的 TCB 将会很快超过负荷,并且攻击者可以伪造包中的源 IP 地址,这样攻击者还不会被服务器返回的包堵住

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

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

27、iOS 平台上常用的 HOOK 框架有?

  • Xposed
  • IntentFuzzer
  • Drozer
  • Substrate

可以看出,前三个工具都是针对安卓平台的,只有 Substrate 是针对 iOS 的
详细了解安卓上的利用工具可以看这盘博文:Android 漏洞挖掘工具总结

28、PHP 提供以下哪些函数来避免 SQL 注入?

  • mysql_real_escape_string(√)
  • escapeshellarg
  • htmlentities
  • addslashes(√)

escapeshellarg 是用来防范命令执行的,htmlentities 是用来防范 XSS 的,只有打勾的那两个才是防范注入的
详情请参考乌云相关文章:PHP安全编码 及 命令执行

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

  • 21
  • 3389
  • 8080
  • 1024

这道题····· 的指令····· nmap 都不认,这就很尴尬
猜测是打错了,可能想考默认扫描的端口范围,1-1024 这样的话就会选 AD

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

  • XSS
  • CSRF
  • 越权
  • 以上都不可以(√)

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

32、Linux 上查看用户 SSH 登陆历史记录的指令 last ,它读取的日志文件名是什么?、
/var/log/wtmp
常见的日志文件:

/var/log/wtmp,一个用户每次登录进入和退出时间的记录
/var/log/btmp,记录登录失败的记录
/var/run/utmp,记录当前登录的每个用户 

who 命令查询 utmp 文件并报告当前登录的每个用户
w 命令查询 utmp 文件并显示当前系统中每个用户和它所运行的进程信息
last 命令查询 wtmp 来显示自从文件第一次创建以来登录过的用户
users 命令用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话

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

[root@localhost root]# history -c //清空历史执行命令
root@localhost root]# echo > ./.bash_history //或清空用户目录下的这个文件即可

bash 执行命令时不是马上把命令名称写入 history 文件的,而是存放在内部的 buffer 中,等 bash 退出时会一并写入,可以使用 history -w 命令要求 bash 立即更新 history 文件

34、国内历史最久的黑客安全技术峰会是
XCon安全焦点信息安全技术峰会是国内历史最悠久、最知名、最权威、举办规模最大的信息安全会议之一

35、2015 年百度被曝出的 WormHole 漏洞的原理是
应用程序开启了 40310/6259 端口作为后门
详细分析请看乌云文章WormHole虫洞漏洞分析报告

36、ASLR 是对抗_攻击的技术
ASLR 是位址空间布局随机化技术,是一种针对缓冲区溢出的安全保护技术,随机分配布局可以有效提高恶意软件预测目的地址的难度,从而提升阻止缓冲区溢出的成功率,目前主流操作系统已经全部采用

37、Windows 下查看系统用户列表的命令是什么?
Windows 系统,在命令行下执行net user
Linux 系统,在命令行下执行cat /etc/passwd

38、当访问 Web 网站某个资源不存在时,返回的 HTTP 状态码是什么?
HTTP Status Code 404

39、被称为“ XSS 终结者”的使用 HTTP 头部来限制资源的策略是
同源策略,应对办法是“跨域”

40、C语言中字符串“学习C”所占的内存空间大小可能是_字节
一个汉字占两个字节,存储字符串本身需要五个字节,字符串结束符\0也要计算,故为六个字节
以后要做个测试才能确定这样想是否正确

41、zmap 单次执行可以对多个端口同时扫描(√)

42、TCP 和 UDP 协议对比,TCP 传送数据更安全(√)

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

44、Redis 常用的默认端口是 873(×)
Redis 默认监听端口是 6379

45、DES、RC4均属于对称加密算法
对称加密算法是加解密使用相同的密钥,常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6

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

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

你可能感兴趣的:(读书笔记,Hack学习,信息安全笔试题集)