2018-03-27-鹅厂2016安全技术笔试题目
1.选择题
1 应用程序开发过程中,下面那些开发习惯可能导致安全漏洞?()
A 在程序代码中打印日志输出敏感信息方便调式
B 在使用数组前判断是否越界
C 在生成随机数前使用当前时间设置随机数种子
D 设置配置文件权限为rw-rw-rw-
答案是A,D,注意配置linux中三种文件权限方式分别是read,write,exec,对应的简称分别是r,w,x,上面的写法是分为文件主-文件所属组-其他用户。
2 以下哪些工具提供拦截和修改HTTP数据包的功能?()
A Burpsuite
B Hackbar
C Fiddler
D Nmap
答案是A,C,B项这个工具用来进行SQL注入,xss攻击和加解密字符串,并可以构造特定的HTTP包请求。但不可以修改包.
3 以下哪些说法是正确的?()
A IOS系统从IOS6开始引入kernelASLR安全措施
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎
C 安卓系统采用了安全引导链(secureboot chain ),而IOS系统则未采用
D Android 4.1 系统默认启用了内存ASLR
答案:ABD
解释:
A IOS系统从IOS6开始引入kernelASLR安全措施。情况属实。因此是正确的。
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎。情况属实。因此是正确的。
C 安卓系统采用了安全引导链(secureboot chain ),而IOS系统则未采用。情况不属实,原因是IOS系统也采用了安全引导链。因此是不正确的。
D Android 4.1 系统默认启用了内存ASLR。情况属实。因此是正确的。
4 以下哪些是常见的PHP ’ 一句话木马“ ? ()
A < ?php assert ($_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
解释:
A assert用来判断一个表达式是否成立,可以远程连接。可为PHP一句话木马。
B execute 用来执行表达式,可以执行某些操作。可为asp一句话木马。
C eval 实现php对表达式的计算和执行,可以用来执行某些操作。可为PHP一句话木马。
D 通过判断执行文件输出写入,故为一句话木马。
关于一句话木马原理可参考https://bbs.ichunqiu.com/thread-26365-1-1.html?from=kx3
5 以下哪个说法是正确的?()
A xcodeghost 是一种可以直接远程控制手机控制权的攻击方式
B wormhole是一种可以直接远程控制手机控制权的攻击方式
C ” 心脏滴血“ 是一种可以直接远程控制手机控制权的攻击方式
D shellshock是一种可以直接远程控制手机控制权的攻击方式
答案:A,B
A项就是开发人员下载带有病毒的xcode开发工具进行开发,从而用该工具编译出来的所有app都带有该病毒,可以直接远程控制手机控制权。
B项就是开发工具包SDK的com.baidu.hello.moplus中存在一些核心代码,这些代码拥有百度自己开发的后门,随时监控着40310/6259端口,任何IP都可以连接该端口。被百度称为immortalservice的HTTP服务监视来自该端口的信息,而且连接时候并没有进行身份认证,因此属于可以直接远程控制手机控制权的一种方式。
C项典型的缓冲区溢出漏洞了,造成的危害属于敏感信息泄露类型。openssl服务出现问题。
D项Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,属于远程代码执行类型,攻击的是服务器。
6.在同一个bash 下依次执行
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
解释:第一次执行whoami 是正常显示 root.。functionwhoami() { echo 1;} 通过定义函数whoami , 使得whoami 是一个函数,而初始化值为echo 1 ,而echo 1 的执行结果是1。也就是说,通过调用函数whoami 并且初始化(执行echo函数),所以输出结果为1。
7以下哪个攻击可用来运行ddos攻击?()
A 菜刀
B WSI
C Dosend
D Chkrootkit
答案:C
解释:A 中国菜刀是一款专业的网站管理软件。
B WSI是PHP注入工具。
C Dosend是一款linux发包攻击工具,可用来实现DDOS攻击。
D chkrootkit是用来检测rootkit的。
8以下哪些服务器曾被发现文件解析漏洞?()
A Apache
B IIS
C nginx
D squid
答案:ABC
A Apache解析漏洞。它 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.
比如upupimage.php.owf.rar “.owf”和”.rar”?这两种后缀是apache不可识别解析,apache就会把upupimage.php.owf.rar解析成php.
B IIS 解析漏洞。一是IIS5.x/6.0中的/xx.asp/xx.jpg ,网站下建立文件夹的名字为.asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。(目录解析漏洞)
二 是123.asp;.jpg会被服务器看成是123.asp,IIS6.0 默认的可执行文件除了asp还包含这三种/upupimage.asa/upupimage.cer /upupimage.cdx(文件解析漏洞)
C nginx解析漏洞。一是nginx默认Fast-CGI开启状况下,黑阔上传一个名字为upupimage.jpg,内容为');?>的文件,然后访问upupimage.jpg/.php,在这个目录下就会生成一句话木马 shell.php。
二是Nginx在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码,影响版:0.5.,0.6.,0.7 <= 0.7.65, 0.8 <= 0.8.37
D Squid爆出来的更多是拒绝服务攻击。它是一个高效的Web缓存及代理程序,最初是为Unix平台开发的,现在也被移植到Linux和大多数的Unix类系统中,最新的Squid可以运行在Windows平台下。
9.以下命令可以用来获取DNS记录的是?()
A traceroute
B ping
C dig
D who
答案:C
解释:
A traceroute 。该命令为追踪路由情况。
B ping 。该命令为检测网络是否通畅。
C dig 。linux下查询域名解析有两种选择,nslookup或者dig,如 dig www.baidu.com
D who 。该命令为查询登录linux系统的用户数目
10.linux 环境下,查询日志文件最后100行数据,正确的方式是?()
A mv -100 log
B grep -100 log
C cat -100 log
D tail -100 log
答案:D
解释:
A mv -100 log 。该为mv命令,是移动文件或者文件夹的,与查看日志无关。
B grep -100 log 。该为grep命令,是筛选或者匹配关键词的,与查看日志无关,但是可以配合其他命令进行查看日志。
C cat -100 log 。该命令为顺序查看命令,查看log的前一百行数据(包括空行)。
D tail -100 log。 该命令为倒序查看名,查询log文件的最后100行数据。故选择D
11.Firefox浏览器插件Hacbar提供的功能()
A POST方式提交数据
B BASE64编码和解码
C 代理修改WEB页面的内容
D修改浏览器访问referer
答案:ABD
12.以下哪几种工具可以对网站进行自动化web漏洞扫描?()
A hackbar
B AWVS
C IBM appscan
D Nmap
答案:BC
解释:
A hackbar 是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能自动化web 漏洞扫描
B AWVS 是业界非常推荐的漏洞扫描神器,它拥有数目非常多而且最强大的漏洞检测脚本,国内多数人使用破解版,它可以进行自动化web漏洞扫描。
C IBM appscan 是国外IBM安全公司的一款非常厉害的安全漏洞扫描产品,能够扫描各种生产环境的WEB,也就是说它也可以进行自动化web 漏洞扫描。
D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是系统漏洞检测,从它的NSE脚本可以看到它也可以进行WEB漏洞扫描,但是需要复杂的配置命令,故它不能进行自动化web漏洞扫描。
答案:BC
13黑客控制一台Windows服务器,发现IE浏览器使用了代理,可以访问外网,执行如下命令发现
C:\Users\test>pingwww.baidu.com-n 1
正在 Pingwww.a.shifen.com[14.215.177.38] 具有32字节的数据:
请求超时
C:\Users\test>telnetwww.baidu.com80
正在链接www.baidu.com...无法打开到主机的连接。
在端口 80: 连接失败。
通过如上信息判断,以下哪些反弹shell操作会失败
A windows/meterpreter/reverse_http
B icmp协议的后门
C windows/meterpreter/reverse_https
D windows/meterpreter/reverse_tcp
答案: ABCD
解析:使用了代理服务器就意味着可能受到防火墙保护,所以http,https的反弹shell可能会失败,然后就是ping不通百度,所以icmp协议也不行,对方挂了代理,因此telnet连不通,只能直接通过代理反弹。
14关于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地址init.icloud-analysis.com,并向该URL上传敏感信息(如设备型号、iOS 版本)。回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。苹果官方当时下架相关的应用。
故XcodeGhost,是一种针对苹果应用开发工具的病毒,它是应用程序开发使用了包含后门插件的IDE,手机下了含有XCODE病毒的应用就会受到影响,苹果官方回应,APPSTORE上的应用程序是受到影响,并且下架了一部分受影响的应用,并且部分android产品也受到影响
15.android manifest.xml中哪项配置可能造成安卓内部文件被窃取?()
A android:allowbackup=“ true "
B Android:name = " con.trsc"
C Android: debug = " true "
D Androidtarget sdkversion = "17"
答案:ABC
A android:allowbackup=“ true "----》》》》允许APP备份,可以导致其他应用非法访问这些信息。
B Android:name = " con.trsc"---》》》》没有设置成私有,可以导致非法越权访问
C Android: debug = " true "---》》》通过调式,可以调用查看其他文件
D Androidtarget sdkversion = "17"----》》》》sdk版本信息
16.以下哪些工具可以抓取windows明文密码?()
A WCE
B minikatz
C Quarks PWdump
D CAIN
D项主要用于网络信息嗅探和密码破解,但无法获取明文密码,C项比minikatz还吊。
17以下关于cc攻击说法正确的是
A cc攻击需要借助代理进行
B cc攻击利用的时tcp协议的缺陷
C cc攻击难以获取目标机器的控制权
D cc攻击最早在国外大面积流行
答案: ACD
解释:攻击者借助代理服务器生成指向受害主机的合法请求,可以通过TCP/IP进行,本质是模拟多个用户不停访问页面,导致该页面的服务无法处理过多请求,从而导致服务器宕机或者拒绝服务。
CC攻击应该理解成ddos攻击的一种,通过代理服务器以及访问那种需要大量数据操作的页面是他的特点。
18.iOS平台上常见的Hook框架有
A Xposed
B Intent Fuzz
C Drozer
D Substrate
答案:D
解释:
A Xposed----》》》这个是android的hook框架,有不少开发者发布了不错的框架。
B Intent Fuzz---》》》这个是android 应用组件模糊测试框架,
C Drozer----》》这个是android 综合渗透测试平台。
D Substrate---》》》这个是IOS平台的hook的框架,而Cydia Substrate是android上的强大而实用的HOOK工具。
19.php提供以下哪些函数来避免sql注入
A mysql_real_escape_string
B escapeshellarg
C htmlentities
D addslashes
答案: AD
解释:
A mysql_real_escape_string-->>>> 该函数通过转义字符串,实现了过滤无效化(消毒)的功能,可以避免sql注入。
B escapeshellarg-->>>> escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数,当然这个是转义shell注入的,和sql注入没有太多联系,和命令执行有关。
C htmlentities--->>>>>>>该函数是字符转换为 HTML 实体,没有避免sqlz注入的功能
D addslashes--->>>addslashes — 使用反斜线引用字符串,返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。实际就是转义。
20.执行nmap 10.5.5.1 默认会扫描以下哪个端口
A 21
B 3389
C 8080
D 1024
答案: AC
解释:nmap 的默认扫描选项是对常规端口和服务进行探测,常规端口是1000个最可能开发的端口
2.简答题
1.sql注入(mysql数据库)中常用的延时函数是:sleep()
2.Linux上查看用户ssh登陆历史的指令last,它读取的日志文件名是:/var/log/wtmp
3.黑客为了清理自己在服务器上操作的指令历史记录,他可以执行什么命令___~/.bash_history history -c
4.国内历史最久的黑客安全技术峰会是__ Xcon
5.2015年百度被曝出的WormHole漏洞的原理是__
答:原理是这样的,wormhole是百度sdk部分更新模块登录验证不够,存在被第三方利用的风险。这些app会时刻检查40310/6259端口,连接端口的ip只需要验证一些头文件就可登录,然后通过url给APP下达命令,从而进行执行控制手机。
6.aslr是对抗_攻击的技术 :缓冲区溢出
ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。
7.windows下查看系统用户列表的命令是__net user
8.被称为“XSS终结者”的使用HTTP头部来限制资源的策略是__同源策略
3.判断题
1. zmap单次执行可以对多个端口同时扫描
答案:对
解释:zmap 的单次执行可以同时扫描多个端口,这也是它号称比nmap 快的原因之一。
2. TCP和UDP协议对比,TCP传送数据更安全
答案:错
解释:TCP只是传输可靠,UDP只是最大地交付。严格来说,两者不存在哪个是否更安全的对比。
3.Redis常用的默认端口是873
答案:错
解释:Redis 默认情况下,会绑定在0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的/root/.ssh 文件夹的authotrized_keys文件中,进而可以直接登录目标服务器。
4.DES、RC4均属于对称加密算法
答案:对
解释:常见的非对称加密算法有;RSA、Diffie-Hellman(DH) 、椭圆曲线算法(ECC). 其中使用最广泛的是RSA算法。常见的对称加密算法有:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。
4.分析题
某应用程序需要完成用户输入密码登陆的操作,通过网络与服务器交互进行校验,请设计一个安全的网络传输方案,并说明原因。(出于性能方面的考虑,不使用https通信)
1.用户输入密码的时候,加入时间戳生成随机数,加入csrf_token等。
2.加密传输数据到服务器后台,并设置同源策略。
3.服务器验证完用户身份后,通过随机安全加密返回session和cookie返回客户端。
4.客户端和服务端建立连接
外部某平台报告,某网站被黑客上传了Webshell并截图证明。老板指定身为安全工程师的你全权协调处理此事,请思考,你需要做些什么?
1.首先检查该webshell存放的路径,并且分析该webshell的行为。
2.清除webshell,根据webshell入侵的方式,修补相应的漏洞。
3.进行安全加固,基线检查等工作。
4.根据上述工作,撰写安全报告(例如出现什么漏洞或者配置不当使得黑客入侵服务器,然后就是分析清楚了那些后门,这些后门有造成了什么影响。为了避免该缺陷再度被利用我做了哪些工作。最后给出定期的安全检查和安全措施。)