601 lines
32 KiB
Markdown
601 lines
32 KiB
Markdown
# 网安经典面试题
|
||
|
||
#### **php爆绝对路径方法?**
|
||
|
||
> 单引号引起数据库报错 访问错误参数或错误路径 探针类文件如phpinfo 扫描开发未删除的测试文件 google hacking phpmyadmin报路径:/phpmyadmin/libraries/lect_lang.lib.php 利用漏洞读取配置文件找路径 恶意使用网站功能,如本地图片读取功能读取不存在图片,上传点上传不能正常导入的文件
|
||
|
||
#### **你常用的渗透工具有哪些,最常用的是哪个?**
|
||
|
||
> burp、nmap、sqlmap、awvs、蚁剑、冰蝎、dirsearch、御剑等等
|
||
|
||
#### **xss盲打到内网服务器的利用**
|
||
|
||
> 钓鱼管理员 信息收集
|
||
|
||
#### **鱼叉式攻击和水坑攻击?**
|
||
|
||
> 鱼叉攻击:指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马 水坑攻击:分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,将网站攻破并植入恶意程序,等待目标访问
|
||
|
||
#### **什么是虚拟机逃逸?**
|
||
|
||
> 利用虚拟机软件或者虚拟机中运行的软件的漏洞进行攻击,以达到攻击或控制虚拟机宿主操作系统的目的
|
||
|
||
#### **中间人攻击?**
|
||
|
||
原理:
|
||
|
||
> 在同一个局域网中,通过拦截正常的网络通信数据,并进行数据篡改和嗅探
|
||
|
||
防御:
|
||
|
||
> 在主机绑定网关MAC与IP地址为静态 在网关绑定主机MAC与IP地址 使用ARP防火墙
|
||
|
||
#### **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状态,完成三次握手
|
||
|
||
#### **七层模型?**
|
||
|
||
> 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
|
||
|
||
#### **对于云安全的理解**
|
||
|
||
> 融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,传送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端
|
||
|
||
#### **了解过websocket吗?**
|
||
|
||
> WebSocket是一种在单个TCP连接上进行全双工通信的协议,最大特点是服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。
|
||
|
||
#### **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产生的影响大
|
||
|
||
#### **land攻击是什么**
|
||
|
||
> 局域网拒绝服务攻击,DDOS攻击的一种,通过发送精心构造的、具有相同源地址和目标地址的欺骗数据包,致使缺乏相应防护机制的目标设备瘫痪
|
||
|
||
#### **你会如何进行信息收集?**
|
||
|
||
> 服务器信息:ip、中间件、操作系统 域名whois、ipwhois、网段归属 子域名探测 网站目录扫描、接口信息扫描 端口扫描 各大引擎搜索相关信息
|
||
|
||
#### **什么是CRLF注入攻击?**
|
||
|
||
> 通过“回车”和“换行”字符注入HTTP流,实现网站篡改、跨站脚本、劫持等。
|
||
|
||
#### **防止XSS,前端后端两个角度?**
|
||
|
||
前端:
|
||
|
||
> 用户输入特殊字符过滤转义为html实体 用户输出编码
|
||
|
||
后端:
|
||
|
||
> 实体化编码 函数过滤 限制字符长度
|
||
|
||
#### **如何防护一个端口的安全?**
|
||
|
||
> 利用WAF、IDS、IPS等设备 危险服务端口禁止对外访问或限制IP访问 服务定期更新版本
|
||
|
||
#### **webshell检测思路?**
|
||
|
||
> 静态检测:匹配特征码,特征值,危险函数 动态检测:WAF、IDS等设备 日志检测:通过IP访问规律,页面访问规律筛选 文件完整性监控
|
||
|
||
#### **发现IIS的网站,怎样试它的漏洞?(根据版本)**
|
||
|
||
**https://****mp.weixin.qq.com/s/5XV9****84kErF2Zhh-P5aoUwQ**
|
||
|
||
#### **SQL注入问题总结**
|
||
|
||
**https://****mp.weixin.qq.com/s/frwK****49IatUqUoT-4DR08GQ**
|
||
|
||
#### **GPC是什么?开启了怎么绕过**
|
||
|
||
GPC:
|
||
|
||
> php.ini配置文件中的magic_quotes_gpc,实现为get、post、cookie传入的单引号、双引号、反斜线、NULL字符添加反斜线
|
||
|
||
绕过:
|
||
|
||
> PHP5的GPC对$_SERVER的忽略,可在http请求头注入 二次注入 宽字节注入
|
||
|
||
#### **web常用的加密算法有什么**
|
||
|
||
> 单向散列加密 MD5、SHA、MAC 对称加密 AES、DES 非对称加密 RSA、RSA2
|
||
|
||
#### **XSS除了获取cookies还能做什么?**
|
||
|
||
> 获取管理员ip xss蠕虫 钓鱼攻击 前端JS挖矿 键盘记录 屏幕截图
|
||
|
||
#### **运营商(或其他)网络劫持**
|
||
|
||
> 运营商劫持:广告投放 DNS劫持:通过各种手段篡改DNS,劫持网络
|
||
|
||
#### **DNS欺骗是什么**
|
||
|
||
> 攻击者冒充域名服务器的一种欺骗行为
|
||
|
||
#### **缓冲区溢出原理和防御**
|
||
|
||
原理:
|
||
|
||
> 当写入缓冲区的数据量超过该缓冲区所能承受的最大限度时,发生缓冲区溢出,溢出的数据被黑客加以利用,形成远程代码执行漏洞。
|
||
|
||
防御:
|
||
|
||
> 基于操作系统防御 缓冲区边界检查 安全编程
|
||
|
||
#### **网络安全事件应急响应**
|
||
|
||
> 断网:条件允许时优先断网,防止黑客进一步操作或删除痕迹 取证:通过分析登录日志、网站日志、服务日志寻找黑客ip,查看黑客进行的操作 备份:备份服务器文件,对比入侵前后产生变化的文件 查漏:通过上述步骤寻找业务薄弱点,修补漏洞 杀毒:清除黑客留下的后门、webshell、管理账号 溯源:通过黑客ip地址,入侵手段等 记录:归档、预防
|
||
|
||
#### **企业内部安全**
|
||
|
||
> 实名制联网 重要网段隔离 禁止接入任何USB设备 禁用WIFI网络 IP与MAC地址绑定 部署网络监控、IDS、IPS设备 定期培训,提高员工安全意识
|
||
|
||
#### **业务上线前,怎么测试,从哪些角度测试**
|
||
|
||
> 安全测试:寻找产品漏洞,页面漏洞,服务漏洞,敏感信息泄露,逻辑漏洞,弱口令 性能测试:压力测试 功能完整性测试
|
||
|
||
#### **应用有漏洞,但是无法修复和停用,你怎么办**
|
||
|
||
> 限制IP白名单访问 使用WAF、IDS、防火墙设备
|
||
|
||
#### **CSRF怎么防护?**
|
||
|
||
> 验证HTTP Referer字段 添加Token字段并验证 添加自定义字段并验证
|
||
|
||
#### **文件上传绕过方法?**
|
||
|
||
WAF绕过:
|
||
|
||
> 修改上传表单字段 表单字段大小写替换 表单字段增加或减少空格 表单字段字符串拼接 构造双文件上传表单,同时上传双文件 编码绕过 垃圾数据填充绕过 文件名大小写绕过
|
||
|
||
服务器检测绕过:
|
||
|
||
> MIME类型绕过 前端JS检测抓包改包绕过 黑名单绕过:php3、asa、ashx、windows特性(test.asp_、流特性)、apache解析漏洞 图片内容检测使用图片马绕过 .htassess绕过
|
||
|
||
白名单检测绕过:
|
||
|
||
> 截断上传绕过 IIS6/7/7.5解析漏洞,nginx低版本解析漏洞 文件包含绕过
|
||
|
||
#### **验证码相关利用点**
|
||
|
||
> 验证码复用 验证码可识别 验证码失效 验证码DDOS
|
||
|
||
#### **cookie你会测试什么内容**
|
||
|
||
> sql注入 xss 权限绕过 敏感信息泄露
|
||
|
||
#### **说出几个业务逻辑漏洞类型?**
|
||
|
||
> 任意用户密码重置 短信轰炸 订单金额修改 忘记密码绕过 恶意刷票 验证码复用
|
||
|
||
#### **简述文件包含漏洞**
|
||
|
||
> 调用文件包含函数时,未严格限制文件名和路径,如include()、require()等函数
|
||
|
||
#### **业务逻辑漏洞,用户任意密码重置有什么例子,因为什么因素导致的?**
|
||
|
||
> 普通用户重置管理用户密码 普通用户重置普通用户密码 未设置用户唯一Token,导致越权
|
||
|
||
#### **渗透测试过程中发现一个只能上传zip文件的功能,有什么可能的思路?**
|
||
|
||
> shell压缩上传,程序自解压getshell 尝试解析漏洞getshell 寻找文件包含漏洞 木马钓鱼管理员
|
||
|
||
#### **为什么aspx木马权限比asp大?**
|
||
|
||
> aspx使用的是.net技术,IIS中默认不支持,ASPX需要依赖于.net framework,ASP只是脚本语言 入侵的时候asp的木马一般是guest权限APSX的木马一般是users权限
|
||
|
||
#### **只有一个登录页面有哪些思路?**
|
||
|
||
> SQL注入、万能密码 暴力破解 权限绕过 目录扫描 敏感信息泄露
|
||
|
||
#### **请求头中哪些是有危害的?**
|
||
|
||
> COOKIE注入 user-agent注入 X-Forwarded-For注入 Referer注入
|
||
|
||
#### **谈谈水平/垂直/未授权越权访问的区别?**
|
||
|
||
> 水平越权:普通用户越权访问普通用户 垂直越权:普通用户越权访问管理用户 未授权访问:权限控制不严,导致无需登录访问已登录用户页面
|
||
|
||
#### **xss有什么?执行存储型的xss的危害和原理**
|
||
|
||
> 存储型、反射型、DOM型 存储型XSS是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在XSS代码的情况下,便将其存入数据库
|
||
|
||
存储型XSS危害:
|
||
|
||
> 窃取用户Cookie XSS钓鱼攻击 XSS蠕虫攻击 获取键盘记录 获取用户信息 获取屏幕截图
|
||
|
||
#### **主机疑似遭到入侵,要看哪里的日志**
|
||
|
||
> 系统登录日志 服务访问日志 网站日志 数据库日志
|
||
|
||
#### **python常用的标准库**
|
||
|
||
> 正则表达式 re 时间模块 time 随机数 random 操作系统接口 os 科学计算 math 网络请求 urlib http库 requests 爬虫库 Scrapy 多线程库 threading
|
||
|
||
#### **reverse_tcp 和 bind_tcp 的区别?**
|
||
|
||
> reverse_tcp:攻击机设置一个端口和IP,Payload在测试机执行连接攻击机IP的端口,这时如果在攻击机监听该端口会发现测试机已经连接 白话就是让受控机主动连接我们 bind_tcp:攻击机设置一个端口(LPORT),Payload在测试机执行打开该端口,以便攻击机可以接入 白话就是我们主动连接受控机 使用reverse_tcp较为安全,一般不会被防火墙发现
|
||
|
||
#### **oauth认证过程中可能会出现什么问题,导致什么样的漏洞?**
|
||
|
||
> CSRF redirect_uri校验不严格 错误的参数传递
|
||
|
||
#### **做了cdn的网站如何获取真实IP**
|
||
|
||
> 全球ping 查询历史解析记录 探针文件如phpinfo等 利用命令执行连接我们的服务器或DNSlog 寻找网站配置 通过二级域名 全网扫描,title匹配
|
||
|
||
#### **如何实现跨域?**
|
||
|
||
> jsonp CORS跨域资源共享 代理跨域请求 Html5 postMessage 方法 修改 document.domain 跨子域 基于 Html5 websocket 协议 http://document.xxx + iframe
|
||
|
||
#### **jsonp跨域与CORS跨域的区别?**
|
||
|
||
> jsonp浏览器支持较好,CORS不支持IE9及以下浏览器 jsonp只支持GET,CORS支持所有类型的HTTP请求 jsonp只发一次请求,复杂请求CORS发送两次
|
||
|
||
#### **算法?了解过什么排序?**
|
||
|
||
> 冒泡排序 选择排序 插入排序
|
||
|
||
#### **SSRF漏洞利用?**
|
||
|
||
> 本地文件读取 服务探测、端口扫描 攻击内网redis、mysql、fastcgi等服务
|
||
|
||
- 利用到的协议有:http/s、file、gopher、tftp、dict、ssh、telnet
|
||
|
||
#### **常见后门方式?**
|
||
|
||
Windows:
|
||
|
||
> 注册表自启动 shift后门 远控软件 webshell 添加管理用户 影子用户 定时任务 dll劫持 注册表劫持 MBR后门 WMI后门 管理员密码记录
|
||
|
||
Linux:
|
||
|
||
> SSH后门 SUID后门 Crontab计划任务 PAM后门 添加管理员账号 Rootkit
|
||
|
||
#### **open_basedir访问目录限制绕过方法?**
|
||
|
||
> 使用命令执行函数绕过 使用symlink()函数绕过 glob伪协议绕过
|
||
|
||
#### **PHP代码审计中容易出问题的点?**
|
||
|
||
> 参数拼接方式皆有可能产生SQL注入(老生常谈) 全局变量注册导致的变量覆盖 fwrite参数未过滤导致的代码执行 权限校验疏漏导致的后台功能访问 接口任意文件上传 unserialize反序列化漏洞
|
||
|
||
#### **红蓝对抗中蓝队反杀红队场景和姿势?**
|
||
|
||
> 钓鱼、蜜罐、蚁剑RCE
|
||
|
||
#### **linux计划任务,黑客隐藏自己的计划任务会怎么做?**
|
||
|
||
> 临时任务:at、batch命令
|
||
|
||
#### **Redis未授权常见getshell的几种方式?**
|
||
|
||
> web绝对路径写shell 写入ssh公钥获取服务器权限 主从复制getshell
|
||
|
||
#### **JWT的攻击手法?(头部、负载、签名)**
|
||
|
||
> 加密算法置为空绕过身份验证 爆破弱密钥 kid参数:任意文件读取、SQL注入、命令注入 未校验签名,内容重新编码
|
||
|
||
#### **JAVA中间件的漏洞,举几个例子?**
|
||
|
||
> JBoss反序列化 WebLogic反序列化 Tomcat任意文件写入、弱口令+后台getshell
|
||
|
||
#### **DNS外带可以用在哪些漏洞?**
|
||
|
||
> SQL盲注 无回显的命令执行 XXE盲打 SSRF盲打
|
||
|
||
#### **HTTP-Only禁止的是JS读取cookie信息,如何绕过这个获取cookie**
|
||
|
||
> 劫持登录页面钓鱼绕过
|
||
|
||
#### **中间件漏洞总结?**
|
||
|
||
> 这里只写常利用的漏洞
|
||
|
||
IIS:
|
||
|
||
> IIS6.0 PUT漏洞 IIS6.0 远程代码执行漏洞 IIS6.0 解析漏洞 IIS启用.net 短文件名漏洞 IIS7.0/7.5 解析漏洞
|
||
|
||
Apache:
|
||
|
||
> 未知扩展名解析漏洞 配合错误导致的解析漏洞、目录遍历
|
||
|
||
Nginx:
|
||
|
||
> 配置错误导致的解析漏洞、目录遍历
|
||
|
||
Tomcat:
|
||
|
||
> 配置错误导致的任意代码执行、任意文件写入漏洞 弱口令+管理后台war包部署getshell manager/html 管理后台弱口令爆破
|
||
|
||
JBoss:
|
||
|
||
> 5.x/6.x反序列化漏洞(CVE-2017-12149) JMXInvokerServlet反序列化 EJBInvokerServlet反序列化 JMX Console未授权访问 弱口令+管理后台war包部署getshell
|
||
|
||
WebLogic:
|
||
|
||
> XMLDecoder 反序列化漏洞(CVE-2017-10271 & CVE-2017-3506) wls9_async_response,wls-wsat 反序列化远程代码执行漏洞(CVE-2019-2725) WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628) 弱口令+管理后台war包部署getshell
|
||
|
||
#### **谈一谈Windows系统与Linux系统提权的思路?**
|
||
|
||
Windows:
|
||
|
||
> 数据库提权:mysql、sqlserver 第三方软件提权:serv-u DLL劫持 系统内核溢出漏洞提权:cve系列
|
||
|
||
Linux:
|
||
|
||
> sudo提权 suid提权 redis 内核提权
|
||
|
||
#### **python有哪些框架,其中出现过哪些漏洞**
|
||
|
||
> Django、Flask、Scrapy Django任意代码执行 Flask模板注入
|
||
|
||
#### **小程序的渗透和普通渗透的差异**
|
||
|
||
> 渗透过程不变,依旧是抓包修改参数渗透 不同点是小程序会将包下载到本地,可以使用逆向还原工具反编译
|
||
|
||
#### **app本身的漏洞测试 四大组件**
|
||
|
||
Activity组件:
|
||
|
||
> activity绑定browserable与自定义协议 ActivityManager漏洞
|
||
|
||
Service组件:
|
||
|
||
> 权限提升,拒绝服务攻击
|
||
|
||
Broadcast Receiver组件:
|
||
|
||
> 权限管理不当 BroadcastReceiver导出漏洞 动态注册广播组件暴露漏洞
|
||
|
||
Content Provider组件:
|
||
|
||
> 读写权限漏洞 Content Provider中的SQL注入漏洞 Provider文件目录遍历漏洞
|
||
|
||
#### **IDS/IPS防护原理及绕过思路**
|
||
|
||
原理:
|
||
|
||
> IDS工作在网络层,旁路部署,通过抓取和分析网络流量来发现攻击 IPS一般也是在网络层旁路,可以理解为具备阻断能力的IDS,是IDS的升级版(也有IDS检测到攻击通知阻断设备执行阻断动作的设备联动模式),可以覆盖网络层和应用层
|
||
|
||
绕过:
|
||
|
||
> TCP分片:拆分出两个TCP包 IP分片:原理同TCP分片,但是丢包严重 程序bug/性能问题:发送大量无效包,消耗IPS性能 伪造TCP状态:绕过基于状态追踪的IPS IPV6绕过:使用IPV6地址绕过
|
||
|
||
#### **json的csrf的利用**
|
||
|
||
> 使用XMLHttpRequest、fetch构造出JSON请求,利用Flash的跨域与307跳转来绕过http自定义头限制
|
||
|
||
#### **json格式的数据包可以测哪些漏洞**
|
||
|
||
> csrf json劫持 xss
|
||
|
||
#### **简述xxe漏洞原理与利用方式**
|
||
|
||
原理:
|
||
|
||
> XML外部实体注入,在应用程序解析XML输入时,当允许引用外部实体时,可构造恶意内容,产生漏洞
|
||
|
||
利用:
|
||
|
||
> DTD Document Type Definition DTD 内部声明 DTD 外部引用 引用公共DTD ENTITY
|
||
|
||
> 图片来自网络
|
||
|
||
#### **内网服务器,如何进行信息收集?**
|
||
|
||
> 使用脚本收集:端口信息、服务信息 系统命令收集:域内用户可使用域命令收集域信息,等 端口扫描工具全段扫描 本机信息收集:管理密码、登录日志看管理员ip、服务密码收集、网段信息查看、历史记录查看 内网DNS域传送漏洞
|
||
|
||
#### **如果拿下了内网边界层的某一个机器,如何对内网其他进行探测?**
|
||
|
||
> 首先使用代理进入内网reg、ew等 第二在本机进行信息收集,包括管理员ip、端口服务、账号密码、路由信息、网段信息等 第三扩展到收集到的网段进行渗透,利用常用服务:SMB、MYSQL、SQLserver、ftp、telnet等 借助轻量化脚本或扫描器扫描,但一般不这么做,动静太大容易被管理员发现
|
||
|
||
#### **内网黄金票据、白银票据的区别和利用方式**
|
||
|
||
> 图片来自网络
|
||
|
||
黄金票据:
|
||
|
||
> 一旦攻击者拥有管理员访问域控制器的权限,就可以使用Mimikatz来提取KRBTGT帐户密码哈希值。
|
||
|
||
> 生成票据
|
||
|
||
> 普通域账户,利用黄金票据,创建域管账户
|
||
|
||
> 此时域管账号创建成功
|
||
|
||
![img](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/640eb2579f956b232bb6b75109a260e8dd37dfd5.jpg%401192w.webp)
|
||
|
||
白银票据:
|
||
|
||
> 获取SID和NTLM
|
||
|
||
> 伪造票据
|
||
|
||
> 针对服务名伪造
|
||
|
||
![img](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/27134dac4ab99adcddff804cabb1fcdb6d0d4235.jpg%401192w.webp)
|
||
|
||
成功获取域管账号
|
||
|
||
金票银票区别:
|
||
|
||
> 获取的权限不同 金票:伪造的TGT,可以获取任意Kerberos的访问权限 银票:伪造的ST,只能访问指定的服务,如CIFS 认证流程不同 金票:同KDC交互,但不同AS交互 银票:不同KDC交互,直接访问Server 加密方式不同 金票:由krbtgt NTLM Hash 加密 银票:由服务账号 NTLM Hash 加密
|
||
|
||
#### **简述一下目前主流编程语言的相关漏洞**
|
||
|
||
答:
|
||
|
||
- 这个题的相关思路就是聊一聊目前主流语言的漏洞,你可以从两个方面进行阐述:
|
||
- ThinlkPHP的远程代码执行
|
||
- PHP的反序列化
|
||
- ThinkPHP文件包含
|
||
- PHP不安全函数: chroot、exec、一句话木马、proc_open等
|
||
- Java最著名的就是反序列化漏洞,反序列化漏洞出现在WebLogic、JBoss等常见Web容器;
|
||
- Structs2就是任意代码执行
|
||
- Log4j2 也是很火的漏洞
|
||
- Shiro 的身份验证绕过、远程代码执行;
|
||
- 注入:Django 2022新的SQL注入漏洞,即使Django采用参数化查询和ORM的防范SQL注入也存在字典注入的方式,2022最新的CVE漏洞利用QuerySet.annotate()、aggregate()和extra()方法进行注入;
|
||
- XML: XML的读取会造成DoS攻击;XXE 攻击的利用;
|
||
- assert 语句: 不要使用 assert 语句来防止用户访问特定代码段。默认情况下,Python 以 **debug** 为 true 来执行脚本,但在真实环境中,通常使用优化运行,这将会跳过 assert 语句并直接转到安全代码,而不管用户是否是 is_admin 。
|
||
- site-package: 伪造官方库进行代码注入和代码伪造;
|
||
-
|
||
- Python的漏洞:
|
||
- Java漏洞:
|
||
- PHP漏洞:一抓一大把
|
||
|
||
1. Java 、Python、PHP(漏洞大户)的相关漏洞,其实也是那几个;
|
||
2. 聊聊你知道的框架 - 比如Apache基金会框架、PHPAdmin、Python主流Web架构 - jinjia2、Django等;
|
||
|
||
|
||
|
||
#### **如何发现目前在运行的相关系统正在遭受DDoS攻击?**
|
||
|
||
答:
|
||
|
||
- 问题背景:
|
||
- 首先现在大多数企业已经不自己购买抗DoS的相关防御设备了,或者只是简单部署DoS流量防御设备系统,因为如果企业遭受到DoS攻击指望那几台互联网出口的抗D设备已经无法满足需求,如果互联网出入口出现高峰流量就会直接将设备打挂,从而设备流量被绕过,还是无法做到流量清洗和DoS的相关防御;
|
||
- 本身这种攻击就没有有效的防御方法,最好的方法是在运营商上就做好流量清洗和流量黑洞,才能更有效的防范,因此最为省事和有效的办法是购买运营商的流量清洗服务;
|
||
- CDN其实也是一个很有效的防范DoS攻击的途经,也是成本低廉的解决问题的方式;
|
||
|
||
- 如何发现系统正在遭受攻击?
|
||
- netstat -npt | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
|
||
- net.ipv4.tcp_max_syn_backlog = 4096 ``#表示SYN队列的长度,加大队列长度可以容纳更多等待连接的网络连接数net.ipv4.tcp_syncookies = 1 ``#表示开启SYN Cookies功能。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭,1表示打开;net.ipv4.tcp_synack_retries = 2 ``#下面这两行表示定义SYN重试次数net.ipv4.tcp_syn_retries = 2 #提高TCP连接能力net.ipv4.tcp_rmem = 32768net.ipv4.tcp_wmem = 32768net.ipv4.tcp_sack = 0 ``#打开tcp_sack功能,1表示"关闭",0表示"打开"
|
||
- DDoS deflate 也是一个控制 netstat 和 iptables 有效的工具,通过 netstat 监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP;
|
||
- 利用分布式多核硬件技术,基于深度数据包检测技术(DPI)监测、分析网络流量数据,快速识别隐藏在背景流量中的攻击包,以实现精准的流量识别和清洗。恶意流量主要包括 DoS/DDoS 攻击、同步风暴(SYN Flood)、UDP 风暴(UDPFlood)、ICMP 风暴(ICMP Flood)、DNS 查询请求风暴(DNS Query Flood)、HTTP Get 风暴(HTTP Get Flood)、CC 攻击等网络攻击流量。
|
||
- 首先,可以在现网中部署流量监视系统或者流量审计系统,从而对业务流量进行监视,进行业务正常流量和IP地址的追踪和观察,形成自身的业务流量安全相关模型,明确内网服务器或者自身应用系统对于服务流量的上限,设立相关的警戒阈值,超过该阈值需要考虑是否遭受DoS攻击;
|
||
- 其次,Linux服务器对于CC攻击和DoS攻击有自身的日志记录,dmesg 和 message 日志都会有相关的Flood的日志记录,这个日志的记录是由于:net.ipv4.tcp_max_syn_backlog 参数设置的,Linux也有其他参数来防止DoS攻击,主要思路是控制连接数;
|
||
- 一些框架,例如Apache的Web框架就记录了:access log 来记录访问;
|
||
- 此外,可以检查Linux服务器的相关进程资源使用情况,通过 top命令查看监视系统进程的资源使用情况,对系统的资源使用进行监控,这里涉及到主机的监控的相关技术;或者通过 netstat 查看目前系统正在连接数;
|
||
- 也可以直接抓取网络流量进行分析,使用的相关工具有:tcpdump 和 tshark 可以抓取网络流量进行分析;
|
||
|
||
#### **简述TLS的加密过程**
|
||
|
||
答:
|
||
|
||
- 首先必须明确,TLS目前的版本已经从1.0到1.3版本,目前比较流行的版本是1.2,TLS的运作的OSI模型在传输层,SSL/TLS综合运用了密码学中的对称密码,消息认证码,公钥密码,数字签名,伪随机数生成器等,可以说是密码学中的集大成者。
|
||
- 应用数据协议负责将TLS承载的应用数据传达给通信对象的协议。
|
||
- 警告协议负责在发生错误的时候将错误传达给对方
|
||
- 密码规格变更协议负责向通信对象传达变更密码方式的信号
|
||
- 握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。
|
||
- 握手协议;
|
||
- 密码规格变更协议;
|
||
- 警告协议;
|
||
- 应用数据协议;
|
||
- TLS记录协议;**TLS加密原理**请简述什么是企业安全运营 / 在企业内部中如何推行安全运营建设答:
|
||
- 合规性建设和企业自身安全制度体系建设:
|
||
- 企业组织架构建设方向:
|
||
- 安全运营的服务体系建设方向:
|
||
- 安全管理服务建设:
|
||
- 首先对于任何企业,合规、合法是企业生存的生命线,必须要牢记这一点,相关安全规范可以参考GB/T或者ISO的相关概念和规章制度或者是已经公开的电子政务数据、安全标准、指导法规,有非常大的建设参考意义;
|
||
- 开展等级保护和风险评估流程、合规检查和评估指导、合规整改内容;
|
||
- 明确内部安全管理的要求、安全技术标准以及运营标准;
|
||
- 明确现状确立组织架构
|
||
- 专家应急响应、安全事件检测、安全事件抑制、安全事件根除、安全事件恢复、安全事件总结;
|
||
- 安全运维管理:对身份、访问、权限控制;
|
||
- 角色与权限 RBAC模型等
|
||
- 安全审计日志的审计和分析:运维操作产生网络访问日志、安全运维日志、操作日志、产品运行日志、网络流量数据;这些日志中隐藏着网络攻击行为或者未发现的相关攻击行为,安全审计通过这些信息进行审计和发掘,发现相关攻击行为特征;
|
||
- 服务交付成果审计
|
||
- 网络设备安全配置基线 - ARP污染等常见攻击方式
|
||
- 安全设备安全配置基线
|
||
- 操作系统安全配置基线
|
||
- 数据库与中间件安全基线
|
||
- 安全配置核查系统和检查脚本工具
|
||
- 开展安全基线评估加固
|
||
- 运维管理和安全审计
|
||
- 系统上线检查
|
||
- 安全事件分析
|
||
- 重点时期的攻防演练;
|
||
- 安全事件及态势监测、安全事件应急处理
|
||
- 互联网资产发现
|
||
- 应用失陷资产的检测
|
||
- 安全策略优化服务
|
||
- 安全产品的运行、保障、运维
|
||
- 外部威胁的实时监测
|
||
- 漏洞的全生命周期管理
|
||
- 重大时期的安全检查
|
||
- 重大安全事件的通告
|
||
- 《网络安全法》和等保第三极进行分析,安全管理体系逐步建立和完善
|
||
- 对角色/权限管理、安全制度管理、风险管理、控制执行、绩效评价、威胁评价、威胁情报、工作流程进行统一管理
|
||
- 环境管理 - 设置管理区
|
||
- 资产管理
|
||
- 介质管理
|
||
- 设备管理
|
||
- 安全监控
|
||
- 系统安全管理
|
||
- 恶意代码防范
|
||
- 供应链安全管理
|
||
- 密码管理
|
||
- 变更管理
|
||
- 备份及恢复管理
|
||
- 安全事件处置
|
||
- 应急预案管理
|
||
- 系统定级、安全方案涉及、安全产品采购、自主软件开发、外包软件开发、工程实施、测试验收、系统交付、系统备案、等级测评、安全服务商选择;
|
||
- 安全事件处理流程、安全风险内容评估流程、安全事件应急相应流程、安全事件溯源取证流程、安全设备上线叫个流程;
|
||
- 变更流程
|
||
- 流程发布过程
|
||
- 明确信息安全总方针、安全策略、说明机构安全工作的总体目标、范围、方针、原则;
|
||
- 完善安全中的管理制度;
|
||
- 建立日常管理操作制度、手册;
|
||
- 定期对安全制度进行评审、
|
||
- 成立信息安全领导小组和委员会,由信息安全小组统一负责并组织相关人员指定信息安全管理制度;
|
||
- 按照《网络安全法》等法律法规和等保要求,对各个业务系统进行信息安全设计以及安全运营中心建设;
|
||
- 组织架构的建设需要通过审查;
|
||
- 明确安全职责矩阵;
|
||
- 管理组织建设:
|
||
- 安全制度管理:
|
||
- 安全流程管理:
|
||
- 人员安全管理
|
||
- 安全建设管理
|
||
- 安全运维管理
|
||
- 安全培训管理
|
||
- 安全运营管理
|
||
- 安全咨询管理
|
||
- 底层的安全基础能力不成熟、安全目标不清晰、安全运营工具依赖第三方厂商、没有形成合理的安全体系、安全人才不择;
|
||
- 安全运营被定义为:以资产为核心、以安全事件管理为关键流程,采用安全域的划分思想,建立一套实时的资产风险模型,协助管理员进行事件分析、风险分析、预警管理和应急响应处理的集中安全管理系统;
|
||
- 安全运营以用户网络的最终安全为目的,实现运营过程上的统筹管理;
|
||
- 安全风险不仅仅指的是目前的互联网技术、计算机科学技术,而是将企业整个体系的安全囊括在安全运营建设上,包括:合规安全(监管机构、行业规范)、运营风险管理(在实际运营中的风所有险,例如金融行业的风险控制部门,涉及到业务、产品等);
|
||
- 安全运营本质上就是一个:以技术、流程和人有机结合的复杂系统过程,包含:
|
||
- 其模式:用“服务模式”开展合作,以“安全能力”进行赋能,以“安全数据”提供决策,以“运营能力”作为交付,以运营模式来发现问题、验证问题、分析问题、响应处理、解决问题并持续优化;
|
||
- 产品、服务、运维、研发等,已有安全工具、安全服务产出的数据进行有效分析,持续输出价值,解决安全风险
|
||
- 这个问题真的非常刁钻,需要很强的体系知识以及在企业中的实践经历,甚至对于企业的体系和组织架构有一定的了解,因此是一个20分的大题;必须要对目前的知识进行拆分;
|
||
- 什么是企业的安全运营,安全运营的概念:
|
||
- 企业安全运营存在的问题:
|
||
- 企业安全运营的建设方向和大体内容:
|
||
- 可以采用独立的硬件加密模块的方式进行,非对称对称加密使用的算法需要考虑大数乘法、大因数分解、大数模运算,在计算机中简单的是加法和减法,因此乘法本身就是有损耗;其次,算法对于秘钥的存储需要空间和算法的复杂度,也会影响非对称加密的运行效率;
|
||
- 使用量子计算和椭圆曲线算法来进行加密的方式,椭圆曲线算法涉及到几何学,因此比大数乘法、大因数分解、大数模运算的复杂度要较低;
|
||
-
|
||
- 第一步: 客户端确定随机数,发送支持的密码算法放进到TLS协议中,供服务端进行选择;服务端存储客户端发送的随机数1;
|
||
- 第二步:服务端确定与客户端的加密算法,并确定一个随机数2,以明文的方式发送给客户端,客户端保存随机数2;
|
||
- 第三部:服务端发送数字证书(包括:公钥、签名、服务端主体信息)给服务端,此时服务器也确定了对应公钥的解密私钥;客户端收到后验证数字证书是否有效,并确定随机数3;
|
||
- 第四步:客户端发送经过公钥加密的随机数3,服务端接收并使用保存的私钥进行解密;
|
||
- 第五步:这下服务端和客户端都有了对称密钥生成的三个随机数:随机数1、随机数2、随机数3,使用DH(现在比较流行的是:ECDH算法)秘钥生成算法进行生成对称秘钥,使用对称秘钥进行加密数据进行传输;
|
||
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"
|
||
- DHE-DSS-AES256-SHA256
|
||
- TLS_DHE_DSS_AES_256_CBC_SHA256
|
||
- **数字证书**是一个包含了某个服务站点名字、公钥的文件,该文件由**CA**颁发,能够证明服务站点的真实性。
|
||
- 服务端自己向CA证书申请数字证书,而CA机构怎么获得相关信任呢?这个时候涉及到根证书机构,世界上的根证书机构只有几个,因此CA机构向根CA机构进行申请,整个CA的信任链也是一个逐级链式认证的过程,在这里不再进行详述。
|
||
- 服务端生成非对称秘钥对,私钥自己保存,将公钥明文传输给客户端;
|
||
- 客户端自己生成一个对称秘钥,再将对称秘钥通过公钥加密,通过加密后的秘钥传给服务端,服务端通过自己保存的私钥进行解密,获得客户端指定的对称秘钥;
|
||
- 当前,这种交换密钥的方式也有一个问题,就是明文传输的公钥可能存在被篡改的问题,这个时候必须引出数字证书和CA的概念;
|
||
- TCP建立了两端的连接;建立在TCP连接的基础上,TLS也是通过几次握手来保证应用层的数据安全传输;
|
||
- 要保证数据的安全,就要对两端的传输的报文进行加密,且要防止被中间人攻击所破解。
|
||
- TLS使用非对称加密的方式进行加密,当然这种加密的方式带来的问题就是:非常耗时,加密传输数据会影响效率,这一点非常关键;
|
||
- TLS的秘钥交换规则是:
|
||
- TLS的CA和数字证书(一定要回答这个方面的问题):
|
||
- TLS使用的加密协议:
|
||
- 最后详细的过程如下图:
|
||
|
||
<img src="https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/09f65459a8169d53818eda599d281a2bdf115272.jpg%401192w.webp" alt="img" style="zoom:50%;" /> |