1.拿到一个待检测的站,你觉得应该先做什么?
(1)信息收集
1.获取域名的 whois 信息,获取注册者邮箱姓名电话等。
2.查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁 站有没有通用性的 cms 或者其他漏洞。
3.查看服务器操作系统版本,web 中间件,看看是否存在已知的漏洞,比 如 IIS,APACHE,NGINX 的解析漏洞
4.查看 IP,进行 IP 地址端口扫描,对响应的端口进行漏洞探测,比如 rsync, 心脏出血,mysql,ftp,ssh 弱口令等。
5.扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如 php 探针
6.google hack 进一步探测网站的信息,后台,敏感文件
(2)漏洞扫描
开始检测漏洞,如 XSS,XSRF,sql 注入,代码执行,命令执行,越权访问, 目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传, 编辑器漏洞,暴力破解等 。
(3)漏洞利用
利用以上的方式拿到 webshell,或者其他权限 。
(4)权限提升
提权服务器,比如 windows 下 mysql 的 udf 提权,serv-u 提权,windows 低版本的漏洞,如 iis6,pr,巴西烤肉,linux 脏牛漏洞,linux 内核版本漏洞提权, linux 下的 mysql system 提权以及 oracle 低权限提权。
(5)日志清理
(6)总结报告及修复方案
2.owasp top10
1.sql注入
原理:
SQL 注入就是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现对数据库的任意操作。
分类:
1、报错注入
2、bool 型注入
3、延时注入
4、宽字节注入
防御:
1.使用预编译语句,绑定变量
2.使用存储过程
3.使用安全函数
4.检查数据类型
2.失效的身份认证和会话管理
原理:
在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出、密码管理、超时、密码找回、帐户更新等方面存在漏洞。
防御:
1、区分公共区域和受限区域。
2、对最终用户帐户使用帐户锁定策略。
3、支持密码有效期。
4、能够禁用帐户。
5、不要存储用户密码。
6、要求使用强密码。
7、不要在网络上以纯文本形式发送密码。
8、保护身份验证 Cookie。
9、使用 SSL 保护会话身份验证 Cookie。
10、对身份验证 cookie 的内容进行加密。
11、限制会话寿命。
12、避免未经授权访问会话状态。
3.跨站脚本攻击 XSS
XSS是跨站脚本攻击,原理是攻击者向有XSS漏洞的网站中输入恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。
分类:反射型(非持久型)XSS、存储型(持久型)XSS、DOM型XSS.
区别:
DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。
什么是 HttpOnly?
如果您在 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无法读取到cookie 信息,这样能有效的防止 XSS 攻击。
预防:
1.使用XSS Filter,即跨站脚本过滤器,用于分析用户提交的输入,并过滤可能存在的脚本攻击及恶意的THML或简单的HTML格式错误等。
2.输入过滤
输入是否仅仅包含合法的字符;
输入字符串是否超过最大长度限制;
输入如果为数字,数字是否在指定的范围;
输入是否符合特殊的格式要求,如E-mail地址、IP地址等
3.输出编码
<(小于号) 转成 <
> (大于号)转成 >
& (和号)转成 &
" (双引号)转成 "
' (单引号)转成 '
4.黑名单和白名单
5.内容安全策略(csp):CSP用于限制浏览器查看您的页面,以便它只能使用从受信任来源下载的资源。
4.直接引用不安全的对象
定义:
不安全的直接对象引用(IDOR)允许攻击者绕过网站的身份验证机制,并通过修改指向对象链接中的参数值来直接访问目标对象资源,这类资源可以是属于其他用户的数据库条目以及服务器系统中的隐私文件等等。
出现的原因:
Web应用往往在生成Web页面时会用它的真实名字,且并不会对所有的目标对象访问时来检查用户权限,所以这就造成了不安全的对象直接引用的漏洞。
服务器上的具体文件名、路径或数据库关键字等内部资源被暴露在URL或网页中,攻击者可以尝试直接访问其他资源。
防御措施:
1.使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击未授权资源
2.访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查
3.避免在url或网页中直接引用内部文件名或数据库关键字
4.验证用户输入和url请求,拒绝包含./ …/的请求
5.安全配置错误
定义:
安全配置错误可以发生在一个应用程序堆栈的任何层面,通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。
影响:
攻击者能够通过未修复的漏洞、访问默认账户、不再使用的页面、未受保护的文件和目录等来取得对系统的未授权的访问或了解。
防御措施:
1、 配置所有的安全机制
2、 最小原则,关掉或限制不使用的服务
3、 更改默认账户信息
4、 使用日志和警报
5、 回显信息不显示任何与实际错误相关的信息
6、 检查和修复安全配置项
6.敏感信息泄露
漏洞描述:
由于管理员或者技术人员等各种原因导致敏感信息泄露。许多web应用程序和app都无法正确保护敏感数据,攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、存储的数据以及浏览器的交互数据。
检测方法:
1、手工挖掘,查看web容器或网页源码代码,可能存在敏感信息。比如访问url下的目录,直接列出了目录下的文件列表,错误的报错信息包含了网站的信息。
2、工具挖掘,像爬虫之类的工具可以扫描到敏感文件路径,从而找到敏感数据。
防范措施:
1、 对系统处理、存储或传输的数据进行分类,根据分类进行访问控制。
2、 对用户敏感信息的传输和存储进行加密
3、 强化安全意识
7.缺少功能级的访问控制
原理:
大多数Web应用程序的功能在UI页面显示之前,会验证功能级别的访问权限。但是,应用程序需要在每个功能被访问时在服务器端执行相同的访问控制检查。如果请求没有被验证,攻击者能够伪造请求从而在未经适当授权时访问功能。
测试方法:
1、 保证合法授权用户可以访问成功
2、 限制非法未授权用户的访问
防御措施:
1、 设计严格的权限控制系统,对于每个请求和URL都要进行校验和权限确认,防止非法请求被执行
2、 对于每个功能的访问,都要有明确的角色授权,采用过滤器的方式校验每个请求的合法性
3、 实现Web访问的IP白名单列表,禁止不可信的IP访问Web系统
8.跨站请求伪造 CSRF
CSRF概念:
CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
攻击原理:
CSRF攻击攻击原理及过程如下:
1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。
分类:
GET型和POST型。
防御手段:
1、验证 HTTP Referer 字段。
根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。
2、在请求地址中添加 token 并验证
在HTTP请求中以参数的形式加入一个随机产生的token(随机字符串),并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。
3、二次验证
在转账等关键操作之前提供当前用户的密码或者验证码。二次验证可以有效防御CSRF 攻击。
9.使用含有已知漏洞的组件
原理:
大多数的开发团队并不会把及时更新组件和库当成他们的工作重心,更不关心组件和库的版本,然而应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,可能导致严重的数据丢失或服务器接管。
防御措施:
1.标识正在使用的所有组件和版本,包括所有依赖项。
2.及时关注这些组件的安全信息并保证他们是最新的。
3.建立使用组件的安全策略,禁止使用未经安全评估的组件。
4.在适当情况下,对组件进行安全封装,精简不必要的功能,封装易受攻击部分。
10.未验证的重定向和转发
重定向:
重定向是服务端根据逻辑,发送一个状态码(通常为3xx),告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。(重定向是在客户端完成的)
转发:
转发是在服务器内部将请求转发给另一个资源,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程是在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址。(转发是在服务器端完成的)
两者的区别:
1、重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址。
2、重定向有两次请求,不共享数据,转发是有一次请求且共享数据。
3、重定向后地址栏会发生变化,转发不会。
4、重定向的地址可以是任意地址,转发的地址只能是当前应用类的某一个地址。
预防措施:
1、重定向外部网站需要验证是否在白名单。
2、转发内部网站要验证是否有权限,有权限才转发。
3.拿到一个 webshell 发现网站根目录下有.htaccess 文件,我们能做什么?
可以插入解析信息:
<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php </FilesMatch>
这样就制造了个apache解析漏洞,.jpg 文件会被解析成.php 文件。
4.在某后台新闻编辑界面看到编辑器,应该先做什么?
查看编辑器的名称版本,然后搜索公开的漏洞。
5.3389 无法连接的几种情况?
没开放3389 端口
端口被修改
防护拦截
处于内网(需进行端口转发)
6.如何手工快速判断目标站是 windows 还是 linux 服务器?
linux大小写敏感,windows大小写不敏感。
7.上传大马后访问乱码时,有哪些解决办法?
浏览器中修改编码
8.HTTP状态码
301 URL 重定向,永久移动。
302 URL 重定向,临时移动。
400 客户端请求有语法错误,不能被服务器理解。
401 请求未经授权。
403 服务器收到请求,但是拒绝服务。
500 服务器内部错误。
503 服务器当前不能处理客户端请求,一段时间后可能恢复正常。
9.SSRF漏洞
定义:
是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统。正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统
原因:由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。
①如何寻找SSRF漏洞
从 Web 功能上寻找
1、分享:通过URL地址分享网页内容
2、图片加载与下载:通过URL地址加载或下载图片
3、图片、文章收藏功能
②从 URL 关键字寻找
大致有以下关键字:
share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain
防御方法
@ 限制协议
仅允许http和https请求。
@ 限制IP
避免应用被用来获取内网数据,攻击内网。
@ 限制端口
限制请求的端口为http常用的端口,比如,80,443,8080,8090。
@ 过滤返回信息
验证远程服务器对请求的响应是比较简单的方法。
@ 统一错误信息
免用户可以根据错误信息来判断远端服务器的端口状态
10.XXE漏洞的原理、危害、防御方法
原理:
XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。
危害:
1、读取任意文件
2、执行系统命令
3、探测内网端口
防御方法:
1、使用开发语言提供的禁用外部实体的方法。
2、过滤用户提交的XML数据
关键词:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC。
XSS除了获取cookies还能做什么?
获取管理员ip
xss蠕虫
钓鱼攻击
前端JS挖矿
键盘记录
屏幕截图
11.CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
(1)XSS 是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃
取用户信息等攻击。
修复方式:对字符实体进行转义、使用 HTTP Only 来禁止 JavaScript 读取Cookie 值、输入时校验、浏览器与 Web 应用端采用相同的字符编码。
(2)CSRF 是跨站请求伪造攻击,XSS 是实现 CSRF 的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。
修复方式:筛选出需要防范 CSRF 的页面然后嵌入 Token、再次输入密码、检验 Referer
(3)XXE 是 XML 外部实体注入攻击,XML 中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。
修复方式:XML 解析库在调用时严格禁止对外部实体的解析。
12.CSRF、SSRF 和重放攻击有什么区别?
(1)CSRF 是跨站请求伪造攻击,由客户端发起
(2)SSRF 是服务器端请求伪造,由服务器发起
(3)重放攻击是将截获的数据包进行重放,达到身份认证等目的
13.说出至少三种业务逻辑漏洞,以及修复方式?
1、密码找回漏洞中存在
密码允许暴力破解
存在通用型找回凭证
可以跳过验证步骤、
找回凭证可以拦包获取
等方式来通过厂商提供的密码找回功能来得到密码。
2、身份认证漏洞中最常见的是
会话固定攻击
Cookie 仿冒
只要得到Session 或 Cookie 即可伪造用户身份
3、验证码漏洞中存在
验证码允许暴力破解
验证码可以通过 Javascript 或者改包的方法来进行绕过
14.IIS 服务器应该做哪些方面的保护措施
1. 保持 Windows 升级:
2. 使用 IIS 防范工具
3. 移除缺省的 Web 站点
4. 如果你并不需要 FTP 和 SMTP 服务,请卸载它们
5. 有规则地检查你的管理员组和服务:
6. 严格控制服务器的写访问权限
7. 设置复杂的密码
8. 减少/排除 Web 服务器上的共享
9. 禁用 TCP/IP 协议中的 NetBIOS:
10. 使用 TCP 端口阻塞
11. 仔细检查*.bat 和*.exe 文件: 每周搜索一次*.bat
12. 管理 IIS 目录安全:
13. 使用 NTFS 安全:
14. 管理用户账户
15. 审计你的 Web 服务器:
15.常用的一句话木马
编辑
16.简述 Linux 系统安全加固需要做哪些方面?
1.密码安全策略
2.关闭不必要的端口和服务
3.文件权限的设置等
4.弱口令检测
17.IIS服务器的安全保护措施
1.保持windows升级
2.使用windows服务器防护软件
3. 移除缺省的Web站点
4.严格控制服务器的写访问权限
5.设置复杂的密码
6.使用TCP端口阻塞
7.仔细检查*.bat和*.exe 文件: 定期搜索一次*.bat
8.管理IIS目录安全
9.使用NTFS安全
10.审计你的Web服务器
18.判断出网站的CMS对渗透有什么意义?
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
19.常见的网站服务器容器
IIS、Apache、nginx、Lighttpd、Tomcat
20.TCP三次握手过程
第一次握手:
建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:
服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
为什么?
为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误
TCP和UDP协议区别
1、tcp面向连接,udp面向报文
2、tcp对系统资源的要求多 udp结构简单
3、tcp保证数据完整性和顺序,udp不保证
21.DDOS是什么?有哪些?CC攻击是什么?区别是什么?
DDOS:
分布式拒绝服务攻击,利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应
主要方式:
SYN Flood
UDP Flood
ICMP Flood
Connection Flood
HTTP Get
UDP DNS Query Flood
CC攻击:
模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费,CPU长时间处于100%,网络拥塞
两者区别:
CC攻击网页,DDOS攻击服务器,更难防御
CC门槛较低,DDOS需要大量服务器
CC持续时间长,DDOS产生的影响大
DDos 预防:
1、限制同时打开SYN半链接的数目
2、缩短SYN半链接的Time out 时间
3、关闭不必要的服务
22.网络安全事件应急响应
断网:条件允许时优先断网,防止黑客进一步操作或删除痕迹
取证:通过分析登录日志、网站日志、服务日志寻找黑客ip,查看黑客进行的操作
备份:备份服务器文件,对比入侵前后产生变化的文件
查漏:通过上述步骤寻找业务薄弱点,修补漏洞
杀毒:清除黑客留下的后门、webshell、管理账号
溯源:通过黑客ip地址,入侵手段等
记录:归档、预防
23.企业内部安全
实名制联网
重要网段隔离
禁止接入任何USB设备
禁用WIFI网络
IP与MAC地址绑定
部署网络监控、IDS、IPS设备
定期培训,提高员工安全意识
24.业务上线前,怎么测试,从哪些角度测试
安全测试:寻找产品漏洞,页面漏洞,服务漏洞,敏感信息泄露,逻辑漏洞,弱口令
性能测试:压力测试
功能完整性测试
25.应用有漏洞,但是无法修复和停用,怎么办?
限制IP白名单访问
使用WAF、IDS、防火墙设备
26.文件上传绕过方法
WAF绕过:
1.修改上传表单字段
2.表单字段大小写替换
3.表单字段增加或减少空格
4.表单字段字符串拼接
5.构造双文件上传表单,同时上传双文件
6.编码绕过
7.垃圾数据填充绕过
8.文件名大小写绕过
服务器检测绕过:
1.MIME类型绕过
2.前端JS检测抓包改包绕过
3.黑名单绕过:php3、asa、ashx、windows特性(test.asp_、流特性)、apache解析漏洞
4.图片内容检测使用图片马绕过
5..htassess绕过
白名单检测绕过:
1.截断上传绕过
2.IIS6/7/7.5解析漏洞,nginx低版本解析漏洞
3.文件包含绕过
27.cookie你会测试什么内容
sql注入
xss
权限绕过
敏感信息泄露
28.谈谈水平/垂直/未授权越权访问的区别?
水平越权:普通用户越权访问普通用户
垂直越权:普通用户越权访问管理用户
未授权访问:权限控制不严,导致无需登录访问已登录用户页面
29.主机疑似遭到入侵,要看哪里的日志
系统登录日志
服务访问日志
网站日志
数据库日志
30.鱼叉式攻击和水坑攻击?
鱼叉攻击:
指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马
水坑攻击:
分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,将网站攻破并植入恶意程序,等待目标访问
31.中间人攻击?
中间人攻击(MiTM)原理:
在同一个局域网中,通过拦截正常的网络通信数据,并进行数据篡改和嗅探。
包括:
嗅探:网络中的数据包嗅探就好像电话中的监听。记住,如果使用正确,数据包嗅探是合法的;许多公司出于“安全目的”都会使用它。
数据包注入:攻击者会将恶意数据包注入常规数据中。
会话劫持:在你登录进你的银行账户和退出登录这一段期间便称为一个会话。这些会话通常都是黑客的攻击目标,因为它们包含潜在的重要信息。
SSL剥离:SSL/TLS证书通过加密保护着我们的通讯安全。在SSL剥离攻击中,攻击者使SSL/TLS连接剥落,随之协议便从安全的HTTPS变成了不安全的HTTP。
防御:
1. 将一些机密信息进行加密后再传输,这样即使被“中间人”截取也难以破解。
2. 通过设备或IP异常检测。如用户以前从未使用某个设备或IP访问系统。
3. 通过设备或IP频率检测:如单一的设备或IP同时访问大量的用户帐号。
4. 进行带外认证,具体过程是:系统进行实时的自动电话回叫,将二次PIN码发送至SMS(短信网关),短信网关再转发给用户,用户收到后,再将二次PIN码发送到短信网关,以确认是否是真的用户。
32.OSI 的七层模型都有哪些?
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
33.PHP代码审计中容易出问题的点?
1、参数拼接方式皆有可能产生SQL注入(老生常谈)
2、全局变量注册导致的变量覆盖
3、fwrite参数未过滤导致的代码执行
4、权限校验疏漏导致的后台功能访问
5、接口任意文件上传
6、unserialize反序列化漏洞
34.中间件漏洞总结?
IIS:
IIS6.0 PUT漏洞
IIS6.0 远程代码执行漏洞
IIS6.0 解析漏洞
IIS启用.net 短文件名漏洞
IIS7.0/7.5 解析漏洞
Apache:
未知扩展名解析漏洞
配合错误导致的解析漏洞、目录遍历
Nginx:
配置错误导致的解析漏洞、目录遍历
35.dns是什么?dns的工作原理
DNS域名系统,将主机域名转换为ip地址,属于应用层协议,使用UDP传输。
工作过程:
接受客户端的查询消息
根据消息能容返回响应
DNS服务器会从域名与IP地址的对照表中寻找相应的记录,并返回IP地址
36.什么是ARP?工作原理
概括:
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
原理:
每台计算机都需要一个ARP表,用来保存IP地址和MAC地址的映射关系。
访问IP地址的时候就去查ARP表,从而找到对应的MAC地址。
如果ARP表中匹配不到,就会使用广播的方式发送一个ARP请求,目标主机收到请求后会使用单播的方式返回一个ARP响应,告知自己的MAC地址,拿到MAC地址后,会将映射关系缓存到ARP表,而后传递到数据链路层。
37.什么是RARP?工作原理
概括:
反向地址转换协议,网络层协议,RARP与ARP工作方式相反。 RARP使只知道自己硬件地址的主机能够知道其IP地址。RARP发出要反向解释的物理地址并希望返回其IP地址,应答包括能够提供所需信息的RARP服务器发出的IP地址。
原理:
1、网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的MAC地址。主机从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求RARP服务器回复该主机的IP地址。
2、RARP服务器收到了RARP请求数据包,为其分配IP地址,并将RARP回应发送给主机。
3、PC1收到RARP回应后,就使用得到的IP地址进行通讯。
38.GET 和 POST 的区别
1、
get是获取数据。
post是修改数据。
2、
get把请求的数据放在url上,以?分割URL和传输数据,参数之间以&相连,所以get不太安全。
post把数据放在HTTP的包体内(requrest body)。
3、
get提交的数据最大是2k( 限制实际上取决于浏览器)。
post理论上没有限制。
4、
GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据)。
POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
5、
GET请求会被浏览器主动缓存。
POST不会,除非手动设置。
39.Cookie和Session的区别
1,存储的位置不同,
cookie:存放在客户端,
session:存放在服务端。
Session存储的数据比较安全
2,存储的数据类型不同
两者都是key-value的结构,但针对value的类型是有差异的
cookie:value只能是字符串类型,session:value是Object类型
3,存储的数据大小限制不同
cookie:大小受浏览器的限制,很多是是4K的大小
session:理论上受当前内存的限制,
40.LINUX查看当前端口连接的命令有哪些?
netstat -antp ss -l
41.netstat 和 ss 命令的区别和优缺点
1.netstat命令
netstat 命令:用于显示各种网络相关信息,如网络连接,路由表,接口统计状态,无效连接,组播成员 等等。
2.ss是Socket Statistics的缩写
ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。
ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
42.请描述DHCP的工作原理
1)客户机发送DHCP Discovery广播包
客户机广播请求IP地址(包含客户机的MAC地址)
2)服务器响应DHCP Offer广播包
服务器响应提供的IP地址(但无子网掩码、网关等参数)
3)客户机发送DHCP Request广播包
客户机选择IP(也可认为确认使用哪个IP) 4)服务器发送DHCP ACK广播包
服务器确定了租约,并提供网卡详细参数IP、掩码、网关、DNS、租期等
5、DHCP续约
43.cookie与session的区别
存放位置不同
cookie保存在客户端,
session保存在服务端
存取方式不同
cookie只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。
session中能够存取任何类型的数据
安全性不同
cookie存储在浏览器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修改cookie中的内容。
session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。