阿里巴巴2014校园招聘安全工程师笔试题

首先非常感谢Hack0nAir的2013阿里巴巴安全工程师实习生招聘笔试小结,昨天才回到学校,今天花了半上午加一下午的时间好好看了下,就去参加笔试了,心虚啊。到东大九龙湖校区参加笔试,目测一个考场180+人,一大半都是研发,投安全的就9个人,去的貌似就只有6个。心想人少有戏啊~~~

废话不多说,上题。首先五个名词解释,XSS,0day,脱壳,人肉搜索,synflood,最讨厌这种题,知道是什么意思,但就是说不清楚。不过都还是蛮基础的,不懂的问度娘吧。

下面是问答题,最近出现的漏洞有哪些,及其原理。我就扯了暑假比较火的struts2漏洞,和wordpress跑用户密码漏洞,不过好像写的不好。

第二题是说一下出现安全漏洞的原因,这种比较宽泛的题就随便写啦。

第三题是列出Linux当前的网络连接状态,包括端口和pid关联,好久没玩Ubuntu,忘得差不多了,就写了个ps -aux,也不知道对不对。

第四题是解释ring3和ring0的区别,以及从win2K升级到win7,ring3进入ring0的变化。只会前半个,后半个虽然知道可能要加载驱动等等,不过没写。

第五题解释栈溢出的原理。又是说了个大概……

第六题写一句话木马,任何语言。我就写了个<%eval request("value")%>

第七题问用户从PC访问taobao.com的过程,(包括DNS解析)。这个正好下午看到,http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/,就巴拉巴拉说了个大概。

第八题问搭建一个WEB论坛应用,框架为APACHE+Linux+Mysql,用Java语言开发,存在哪些安全风险,以及解决方案。又是开放性题目,从各个角度随便写写。

第九题问什么是手机”越狱“,对系统和应用软件产生的危害。这个还是比较简单的,随便扯扯。

最后五题是代码题,给你一段代码,找出其中的漏洞并给出解决方案。为什么要在文章开头感谢Hack0nAir呢,因为这五题和他那篇日志中写道的一模一样,虽然我没有写的很完整,不过应该也答了个大概。抄录如下:

第一题php,从cookie中获取uid这个值,然后update(uid , $_POST['email'])。问题一是通过修改cookie的uid值修改任意用户的email地址,二是email的内容没有验证。修复方法可以在update前验证当前用户身份,email加个re判断。
第二题一段 jsp + html ,get参数msg,然后判断msg中是否有“<”“>”,有就报错,没有则执行println(“”)。这个应该是想考XSS吧,不过我没能把如何弹窗的代码写出来,只能随便扯了。修复方法是不是构造更变态的过滤- -
第三题是C语言,代码大概如下:

问题应该就是没有判断OldName的长度,大于30就溢出了。修复加个长度判断就好。

第四题php+sql,$_POST两个参数username和pw,然后带入sql语句:

$sql = “select (*) from users where username = ‘”.username.”‘ and pw = ‘”.pw.”‘ limit 1″;

$result = mysql_query($sql);

闭合单引号,直接让sql返回1,具体是什么不太清楚。后来查阅资料:在GPC或者addslashes的影响下,变量被放在一对单引号中,进行SQL注入攻击时首先就是要闭合单引号才能继续构造查询语句,这时单引号会被转义成\’导致攻击失败,由于urldecode函数对变量的解码处理导致我们给变量赋值%2527,浏览器会把%25解码为%,然后%27被带入urldecode函数处理,再解码为’,这样的话,单引号就被顺利带入并绕过了GPC或者addslashes,这样攻击者构造用户信息为%2527 and 1=1就会在urldecode函数作用下顺利闭合单引号,实现SQL注入攻击username=” and 1=1″

第五题的代码应该是jsp吧(没玩过,我猜的- -),意思是从请求中获取pdf_file参数,然后download(“/xxx/pdf/”+pdf_file)。这个我想到的是服务器任意文件下载(权限允许的前提下),修复应该就是执行函数前过滤一下敏感字符吧。。

由于看到些题目,答得不好不坏,希望能收到面试通知吧~~~

明天还要去南大参加趋势的笔试,过两天还有华为的面试,累啊……

你可能感兴趣的:(笔试,2014各大网络公司校招笔试题)