需要看的面试问题
技术问题
-
✅对DNS协议的了解,有哪些不同的解析方式(DNS协议的绑定方式)
- 绑定方式
- A记录:Address
- 直接返回域名的IP
- NS记录:Name Server
- 指定下一级的域名服务器,简单讲是把解析任务交给下一级服务器
- MX记录:Mail eXchange
- 返回接受电子邮件的服务器地址
- CNAME记录:Canonicial Name
- 相当于委托解析,a.com 指向 b.com,现实场景下,类似于CDN的过程
- PTR记录:Pointer Record
- 逆向查询记录,用于从IP查询域名
- A记录:Address
- 查询方式
- 递归查询
- 客户端请求——>根——>顶级——>次级——>主机名——>次级——>顶级——>根——>客户端请求
- 迭代查询
- 客户端请求——本地(本地不行)——根(根没有)——顶级(顶级没有)——次级(次级没有)——主机名——客户端请求
- 递归查询
- 追踪工具:
dig +trace y1ng.org - 解析流程:本地DNS缓存+递归查询+迭代查询
- 补充,域名的构成:主机名 + 次级域名 + 顶级域名 + 根域名
- 绑定方式
-
mysql各版本区别
-
CDN原理,以及安全性问题,如何进行CDN绕过
-
✅隐蔽信道
- DNS端口:UDP53端口
- DNS隐蔽隧道的原理:将其他的协议的内容封装在DNS协议中,借由DNS请求和响应完成数据的通信
- DNS隐蔽隧道的具体实现方法:
- 直连
- 直接和被控制的DNS服务器进行通讯
- 高速但隐蔽性差,且容易被防护(限制只连接受信任的DNS服务器)
- 中继
- 通过DNS迭代查询而实现的中继DNS隧道[1]
- 直连
- DNS隐蔽隧道实现的要点
- 对DNS缓存机制的绕过
- 利用DNS查询类型以及对载荷的编码[1]
- 如何对域名系统采用的C/S机制进行处理,即Server只能响应,但不能发送信息[1]
- DNS隧道工具[1]
- dns2tcp:支持直连模式的DNS隧道,只实现了简单的DNS隧道,相关命令和控制服务需要自行搭建,且已在kali系统中直接集成
- iodine:最活跃、速度最快、支持直连和中继模式,且支持丰富的编码、请求类型选择
- Dnscat2:封装在DNS协议中的加密C&C信道,直接运行工具即可实现数据传输、文件操作等命令和控制功能
- DNS隐蔽隧道的检测方法
- 使用字符频率分析的DNS隧道检测方法
- 异常特征检测
- BotDAD工具
- 在网络边界上进行单点Bot检测[2]
- 通过观察主机在一段时间内的DNS指纹,尝试寻找域正常的主机行为相当不同的异常行为,从而识别受感染的主机[2]
- 行为特征[2]
- 每小时DNS请求的数量
- 每小时不同的DNS请求
- 单个域的最大请求
- 每分钟平均的请求数
- ...
- 工具特征
- BotDAD工具
-
✅如何防范羊毛党(有猫池)?
- 从统计、规则上来讲
- 手机号黑名单
- IP画像
- 设备指纹的分析分析
- 频率纬度的统计
- 从行为上来讲
- 缺少其他平台的活跃动作
- 群体具有黑产团伙特征
- 群里有历史的注册、登入相关的黑产团伙特征
- 从真实世界的信息出发
- 地址
- 为虚拟相似的地址
- 与区域快递合作,地址中包含暗号
- 地址中包含实际的收货人信息等,包含非常规情况地址信息
- 地址
- 从统计、规则上来讲
-
如果 SRC 上报了一个 XSS 漏洞,payload 已经写入页面,但未给出具体位置,如何快速介入?
-
看是否什么类型的XSS,XSS反射型看提交的地址,指的参数是哪个位置,通过这个页面进行fuzzing测试。如果是存储型页面查找关键字。[3]
-
-
发现一个大范围影响的新漏洞,如何快速排查公司资产?
-
如果你是安全运营的负责人,简要介绍你对安全方面采取的措施
-
谈谈XSS
- 主要的原理
- 在Web端的输入输出点没有做到过滤和
- 类型
- 不同类型的原理
- 反射型
- 存储型
- DOM型
- 基于DOM文档对象的一种漏洞类型
- 特殊之处在于,DOM型是基于客户端JS的,不需要与服务端通讯,因此在很大程度上可以绕过WAF和服务端的安全检测
- 原理:通过JS脚本对文档对象进行编辑,从而修改页面的元素,将这种恶意构造的数据在客户端本地执行,从而起到攻击的效果
- 利用方式
- DOM型
- 从效果角度和利用方式的角度上来看,更偏于一种反射性XSS,但特殊之处就是全部在客户端执行,不与Web服务器进行交互
- 也是构造一个恶意的URL链接,诱骗用户点击,在用户访问时,URL中包含的XSS代码(JS代码)会在用户侧(客户端)对网页中的文档对象进行编辑,修改页面中的元素,执行恶意的JS代码(Webshell)
- DOM型
- 危害
- 窃取Cookie信息
- 不同类型的原理
- 绕过方式[5]
- 关键字过滤
- 特殊符号过滤
- 字符串长度过滤
- 转义编码防护
- 大小写绕过
- 双写绕过
- 尝试其他的注入标签
- 添加定位符
# - 扩展:七字命令执行:大体上的想法就是通过重命名文件绕过,然后通过ls来将文件名写入到文件中[6]
- 检测
- 响应/修复
- 对反射型:找路径和参数
- 对存储型:找关键词
- 主要的原理
- ✅同源策略
- 相同的协议(http和https被认为是不同源的),主机,端口
- 规避同源策略的方法[4]
- 设置document.domain
- 对两个window或者iframes设置相同的
document.domain,可以实现一个跨域的资源共享- 例如之前墨化师傅问的问题,网页中使用iframe标签来调用百度地图的脚本显示地理位置,来规避跨域问题
- 补充,可跨域调用资源的标签有:
<script><img><iframe>
- 对两个window或者iframes设置相同的
- 跨域资源共享
- 使用请求头和响应头信息来设置可请求的文件
- 例如,
Origin请求头和Access-Control-Allow-Origin响应头(服务端设置)
- 跨文档通讯
- 在一个window对象上调用
postMessage()会异步的触发window上的onmessage事件,然后触发定义好的事件处理方法。[4] - 简单讲,就是两个不同源的网页,可以使用文档间的消息通信来实现一个文本数据的“沟通”
- 在一个window对象上调用
- 使用JSONP
- 一种非官方协议,本质上是对可跨域标签的调用 e.g.
<script><img><iframe>
- 一种非官方协议,本质上是对可跨域标签的调用 e.g.
- 使用Websocket
- 现代浏览器允许脚本直连一个WebSocket地址而不管同源策略,但WebSocket服务器必须设置白名单
- 设置document.domain
HR面的问题
1. 薪资
您期望的薪资是多少?
```text HR: 您期望的薪资是多少? 你: 就我的面试表现,贵公司最高可以给多少薪水? HR: 这个暂且没法确定,要结合您几轮面试结果和用人部门的意见来综合评定。
怎么跟 HR 谈薪资? - 范蠡的回答 - 知乎 https://www.zhihu.com/question/34557602/answer/536713556 ```
2. 想问的问题
- 请问我这边岗位的薪资构成是怎么样呢?
- 基本工资 + 绩效 + 年终
-
绩效如何评定,年终是怎么发的呢?
-
公司还有什么福利呢?
- 餐补、车补、通讯补贴、加班费等等
-
五险一金怎么交,是按照基本工资交还是按照含绩效薪资交
- 公积金交的话是不是公司自己1:1
- 工作时间是弹性工时还是标准工时?
References
[1] 利用DNS隧道构建隐蔽C&C信道, FB客服, https://cloud.tencent.com/developer/article/1474644
[2] 基于DNS隐蔽信道的攻击与检测, DigApis, https://www.freebuf.com/articles/database/210250.html
[3] 2020渗透测试面试问题大全, 黑白之道, https://www.ershicimi.com/p/4c0b970963eb931b0324bc55027cfc3f
[4] xss之同源策略与跨域访问, bmjoker, https://www.cnblogs.com/bmjoker/p/9500374.html
[5] 渗透之路基础 -- 跨站脚本攻击XSS, r0ckysec, https://www.cnblogs.com/r0ckysec/p/11415355.html#xss-%E6%8A%80%E6%9C%AF%E5%88%86%E7%B1%BB
[6] ctf命令执行与绕过, err0rzz, https://err0rzz.github.io/2017/11/13/ctf%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E4%B8%8E%E7%BB%95%E8%BF%87/