阿里巴巴20160417春招 安全工程师笔试题

1.水平权限漏洞的定义是什么?可以利用水平权限漏洞来做什么?如何进行测试和修复?


2.现假设32Linux系统上有一个带漏洞的驱动程序,其设备名为/dev/vul_test,并且其对应的ioctl代码如下所示。其中,vul_id变量是一个int类型,它的值是我们用户态可以随意控制的。g_vul_info变量是一个VUL_INFO类型的全局数组。

      1)现假定g_vul_info在内核中的地址为0xC0500000,请用C语言来实现读取0xC0008000地址开始的100字节的功能。

      2)现假定我们不清楚g_vul_info的具体地址,只知道它是在0xC00000000xC1000000之间,请用c语言编程来确定g_vul_info变量在内核中的具体地址,并简述你的思路。

 

typedef struct VUL_INFO_T {

      unsigned int value1;

      unsigned int value2;

      unsigned int value3;

      unsigned int value4;

      unsigned int value5;

      unsigned int value6;

      unsigned int value7;

      unsigned int value8;

      unsigned int value9;

        unsigned int value10;

} VUL_INFO;

 

VUL_INFO g_vul_info[10];

static long vul_ioctl(struct vul_info *info, unsigned int cmd, unsigned long arg)

{

    int r = 0;

 

    switch (cmd)

    {

    case VUL_GET_SOME_INFORMATION:

    {

        int vul_id = 0;

        if (copy_from_user(&vul_id, (void __user *)arg, sizeof(vul_id))) {

            return -EFAULT;

        }

 

        if (copy_to_user((void __user *)arg, &(g_vul_info[vul_id]),  sizeof(VUL_INFO))) {

            r = -EFAULT;

        }

        return (r);

    }

    }

    return (r);

}

3.给你的App做一个手势密码的功能,忽略UI部分的实现,请从安全的角度出发,描述你的实现思路。安全的角度包含但不限于以下几点:1. 存储的安全性;2. 被绕过的风险;3. 被替换的风险


4.网络出问题时,经常听到说看一下下一跳是什么,这里的“下一跳”是指什么?


5.DDoS攻击造成服务不可用的原因是什么?请列举一些对应攻击类型


6如果你发现一个存储XSS漏洞,后台在内网,你会利用这个XSS哪些方式来继续你的渗透测试?


7在浏览器同源策略中,“同源”指的是什么?如果www.taobao.com/crossdomain.xml文件内容如下,是否存在安全问题?会存在什么问题?如何利用和fix?
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>


8.WAF绕过手段有哪些?请列举两个最有效的手段。


9.请写入下面这种漏洞利用方式以及POC
<?php
$cluster = $_REQUEST['test'];
$output=shell_exec("grep ${cluster}_123.cfg /var/log/httpd/logs/access_log |tail -10");
if(empty($output)){
echo 'Error';
}else{
echo '<pre>';
echo $output;
echo '</pre>';
}?>



10.请详细描述androidluncher界面点击按钮启动程序的完整过程,要求从3个角度来描述这次启动

(1) android framework层运行时环境

(2)android虚拟机角度,涉及到dex内存载入,类加载,指令解释等

(3)内核角度,主要涉及与内核之间的通信机制。

注意:如果有相关源码阅读经验,尽量从源码角度来描述该实现原理和运行过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值