2.检查skb是否被共享,如果被共享需要用skb_clone拷贝一份,因为后面要对skb的内容进行变更
3.常规检测:如果报文的长度小于ip首部最小长度,丢弃;如果ip协议字段不等于4丢弃;若ip首部长度字段小于5,丢弃;若ip首部长度小于ip首部 长度字段*4,丢弃;如果ip首部校验和出错,丢弃;如果skb->len(此时len为整个ip报文长度)小于ip首部总长字段,丢弃;如果ip 首部总长字段小于ip首部长度字段,丢弃;
4.注意第三步中skb->len是可以小于ip首部的总长字段的,因为根据代码注释,传输介质有可能在末尾添加了padding,在这种情况下, 会调用pskb_trim_rcsum将多余的结尾部分砍掉(通过把skb->tail往前移),并且还要将检查和无效化
总结,ip_rcv主要进行的常规检查,唯一对skb进行操作的就是将结尾的填充字段砍掉。
标保存了各个协议的处理结构。这两个数组就像是L4层的ptype_base,根据本层的协议号来决定处理函数
(其实这里并不是简单调用copy_to_user,还要处理很多情况,比如用户使用的msghdr可能包含多个iovec,skb可能有多个frags 等等)
这样,一个udp数据包就从网卡到达了用户的缓冲区
鉴于曾经做过某厂招聘-安全技术笔试题目,故留此一记,以作怀念。
此外,网上也有公布的相关的答案,但是其中有些题目稍有错误或者解释不全,当然我也有可能解释有误,希望大家多多在评论区中指出,所以趁机写上一记。
2016年4月2日晚上7:00到9:00,某厂2016实习招聘-安全技术的笔试题确实考到很多基础知识。该笔试题有两部分。第一部分是30道不定项选择题、10道简答题和5道判断题,题量是45,限时80分钟。第二部分是2道分析题,限时40分钟。有下面统一给出答案和为每一题做出解释。
A 在程序代码中打印日志输出敏感信息方便调式
B 在使用数组前判断是否越界
C 在生成随机数前使用当前时间设置随机数种子
A 为日志包含敏感信息,容易泄露账号密码接口数据等信息,可能产生安全漏洞。
B 为数组大小问题,数组不越界,可防止溢出安全漏洞。因此是安全的。
C 用当前时间来作为随机数种子的话,随着时间的不同,生成的随机数也会不同。因此是安全的。
D 为配置文件的权限问题,rw为可以读取可以写入。第一个rw-为文件所属用户、第二个rw-为用户所在组、第三个rw-为其它用户的读写。可以导致非法写入和越权访问,可能产生安全漏洞。
A Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。可以进行拦截和修改HTTP数据包。
B Hackbar 是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能拦截和修改HTTP数据包。
C Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。可以进行拦截和修改HTTP数据包。
D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能不能拦截和修改HTTP数据包。
XSS漏洞是获取用户cookie的,即是获得用户cookie等敏感信息。
A 偷取Q币。需要用户进行确认或者输入密码,具有很强的交互性。因此无法进行。
B 控制用户用户摄像头。因为开启摄像头,需要用户手动确认。因此无法进行。
C 劫持微信用户。因为微信登录会验证手机信息甚至短信验证,并且只能同时在一个设备上登录一个微信账号。因此无法进行。
D 进入QQ空间。 因为登录QQ空间是不需要用户交互操作的,并且使用cookie获得用户身份后,就好像正常用户一样可以查看QQ空间,QQ资料等。
A Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。因此是可以HTTP数据包。
B Wireshark是监听网络接口数据的,可以设置监听某个网卡来监听各种网络数据包。因此是可以抓取HTTP数据包。
C Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。因此是可以抓取HTTP数据包。
D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能抓取HTTP数据包。
B 主流的Iphone手机内置了AES及RSA硬件加速解密引擎
版本)。回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。
因此xcodeghost是一种可以直接远程控制手机控制权的攻击方式。
A Apache解析漏洞。它 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.
D who 。该命令为查询登录linux系统的用户数目。
A mv -100 log 。该为mv命令,是移动文件或者文件夹的,与查看日志无关。
B grep -100 log 。该为grep命令,是筛选或者匹配关键词的,与查看日志无关,但是可以配合其他命令进行查看日志。
C cat -100 log 。该命令为顺序查看命令,查看log的前一百行数据(包括空行)。
D tail -100 log。 该命令为倒序查看名,查询log文件的最后100行数据。故选择D
C 代理修改WEB页面的内容
C 代理修改WEB页面的内容。该功能属于插件firebug的。hackbar 无该项功能。
A Metasploit 。 它为集成的漏洞攻击平台,具有多种攻击载荷和shell。但是无法提供拦截和修改http数据包。
B Hackbar 是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能拦截和修改HTTP数据包。
C Sqlmap 是用来进行sql注入,获取数据库信息和获操作系统信息,甚至注入后门webshell的,但是不能拦截和修改HTTP数据包。
D Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。可以进行拦截和修改HTTP数据包。
A hackbar 是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能自动化web 漏洞扫描
B AWVS 是业界非常推荐的漏洞扫描神器,它拥有数目非常多而且最强大的漏洞检测脚本,国内多数人使用破解版,它可以进行自动化web漏洞扫描。
C IBM appscan 是国外IBM安全公司的一款非常厉害的安全漏洞扫描产品,能够扫描各种生产环境的WEB,也就是说它也可以进行自动化web 漏洞扫描。
D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是系统漏洞检测,从它的NSE脚本可以看到它也可以进行WEB漏洞扫描,但是需要复杂的配置命令,故它不能进行自动化web漏洞扫描。
解释:IE浏览器使用了代理,可能HTTP协议会受到防火墙限制。ping不通百度说明ICMP协议也受影响。故http、https、icmp协议的反弹shell都会失败
B 应用程序开发使用了包含后门插件的IDE
C 当手机被盗时才有风险
D苹果官方回应APPSTORE上的应用程序不受影响
解释:通过Xcode从源头注入病毒XcodeGhost,是一种针对苹果应用开发工具Xcode的病毒。于2015年9月被发现。它的初始传播途径主要是通过非官方下载的Xcode 传播,通过CoreService 库文件进行感染。当应用开发者使用带毒的Xcode工作时,编译出的App 都将被注入病毒代码,从而产生众多带毒APP。用户在iOS设备上安装了被感染的APP后,设备在接入互联网时APP会回连恶意URL地址,并向该URL上传敏感信息(如设备型号、iOS 版本)。回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。苹果官方当时下架相关的应用。
故XcodeGhost,是一种针对苹果应用开发工具的病毒,它是应用程序开发使用了包含后门插件的IDE,手机下了含有XCODE病毒的应用就会受到影响,苹果官方回应,APPSTORE上的应用程序是受到影响,并且下架了一部分受影响的应用。
A 没有对SSL证书校验
B 没有对主机名进行校验
1)中间人攻击漏洞位置:
2) 漏洞触发前提条件:
或实现的自定义HostnameVerifier不校验域名接受任意域名;
由于客户端没有校验服务端的证书,因此攻击者就能与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
客户端不校验SSL证书(包含签名CA是否合法、域名是否匹配、是否自签名证书、证书是否过期)包含以下几种编码错误情况:
个人水平有限,难免有纰漏,欢迎各位多多指导!!^^^_^^^