|
1、php爆绝对路径方法?
- 单引号引起数据库报错
- 访问错误参数或错误路径
- 探针类文件如phpinfo
- 扫描开发未删除的测试文件
- google hacking
- phpmyadmin报路径:/phpmyadmin/libraries/lect_lang.lib.php
- 利用漏洞读取配置文件找路径
- 恶意使用网站功能,如本地图片读取功能读取不存在图片,上传点上传不能正常导入的文件
2、你常用的渗透工具有哪些,最常用的是哪个?
burp、nmap、sqlmap、awvs、蚁剑、冰蝎、dirsearch、御剑等等
3、xss盲打到内网服务器的利用
4、鱼叉式攻击和水坑攻击?
- 鱼叉攻击:指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马
- 水坑攻击:分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,将网站攻破并植入恶意程序,等待目标访问
5、什么是虚拟机逃逸?利用虚拟机软件或者虚拟机中运行的软件的漏洞进行攻击,以达到攻击或控制虚拟机宿主操作系统的目的
6、中间人攻击?原理:在同一个局域网中,通过拦截正常的网络通信数据,并进行数据篡改和嗅探防御:
- 在主机绑定网关MAC与IP地址为静态
- 在网关绑定主机MAC与IP地址
- 使用ARP防火墙
7、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状态,完成三次握手
8、七层模型?应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
9、对于云安全的理解融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,传送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端
10、了解过websocket吗?WebSocket是一种在单个TCP连接上进行全双工通信的协议,最大特点是服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。
11、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产生的影响大
12、land攻击是什么局域网拒绝服务攻击,DDOS攻击的一种,通过发送精心构造的、具有相同源地址和目标地址的欺骗数据包,致使缺乏相应防护机制的目标设备瘫痪
13、你会如何进行信息收集?
- 服务器信息:ip、中间件、操作系统
- 域名whois、ipwhois、网段归属
- 子域名探测
- 网站目录扫描、接口信息扫描
- 端口扫描
- 各大引擎搜索相关信息
14、什么是CRLF注入攻击?通过“回车”和“换行”字符注入HTTP流,实现网站篡改、跨站脚本、劫持等。
15、防止XSS,前端后端两个角度?前端:
- 用户输入特殊字符过滤转义为html实体
- 用户输出编码
后端:
16、如何防护一个端口的安全?
- 利用WAF、IDS、IPS等设备
- 危险服务端口禁止对外访问或限制IP访问
- 服务定期更新版本
17、webshell检测思路?
- 静态检测:匹配特征码,特征值,危险函数
- 动态检测:WAF、IDS等设备
- 日志检测:通过IP访问规律,页面访问规律筛选
- 文件完整性监控
19、GPC是什么?开启了怎么绕过GPC:php.ini配置文件中的magic_quotes_gpc,实现为get、post、cookie传入的单引号、双引号、反斜线、NULL字符添加反斜线 \绕过:
- PHP5的GPC对$_SERVER的忽略,可在http请求头注入
- 二次注入
- 宽字节注入
20、web常用的加密算法有什么
- 单向散列加密 MD5、SHA、MAC
- 对称加密 AES、DES
- 非对称加密 RSA、RSA2
21、XSS除了获取cookies还能做什么?
- 获取管理员ip
- xss蠕虫
- 钓鱼攻击
- 前端JS挖矿
- 键盘记录
- 屏幕截图
22、dns 是什么?dns 的工作原理将主机域名转换为 ip 地址,属于应用层协议,使用 UDP 传输。(DNS 应用层协议,以前有个考官问过)
23、rip 协议是什么?rip 的工作原理
- RIP 动态路由选择协议(网络层协议)
- RIP 是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的路由距离。RIP 通过 UDP 报文进行路由信息的交换,使用的端口号为 520
24、TCP 与 UDP 区别总结?
- TCP 面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP 是无连接的,即发送数据之前不需要建立连接,;UDP 尽最大努力交付,即不保证可靠交付。(由于 UDP 无需建立连接,因此 UDP 不会引入建立连接的时延,TCP 需要在端系统中维护连接状态,比如接受和发送缓存,拥塞控制,序号与确认号的参数等,故 TCP 会比 UDP 慢)
- UDP 具有较好的实时性,工作效率比 TCP 高,适用于对高速传输和实时性有较高的通信或广播通信。
- 每一条 TCP 连接只能是一对一的;UDP 支持一对一,一对多,多对一和多对多的交互通信
- UDP 分组首部开销小,TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。
- TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的(一次交付一个完整的报文,报文不可分割,报文是 UDP 数据报处理的最小单位)。
- UDP 适合一次性传输较小数据的网络应用,如 DNS,SNMP 等
25、sql 注入 的分类?Boolean 盲注、Union 注入、文件读写、 报错注入{ floor 报错注入、ExtractValue 报错注入、UpdataXml 报错注入、时间盲注、REGEXP 正则匹配、宽字节注入、堆叠注入、二次注入、User-Agent 注入、Cookie注入、过滤绕过、万能密码
26、sql 注入的预防?
27、序列化与反序列化的区别
- 序列化:把对象转化为可传输的字节序列过程称为序列化。
- 反序列化:把字节序列还原为对象的过程称为反序列化。
28、内网渗透思路?
- 代理穿透
- 权限维持
- 内网信息收集
- 口令爆破
- 凭据窃取
- 社工
- 横行和纵向渗透
- 拿下域控
29、OWASP Top10 有哪些漏洞
- SQL 注入
- 失效的身份认证
- 敏感数据泄露
- XML 外部实体(XXE)
- 失效的访问控制
- 安全配置错误
- 跨站脚本(XSS)
- 不安全的反序列化
- 使用含有已知漏洞的组件
- 不足的日志记录和监控
30、正向代理和反向代理的区别
- 正向代理,当客户端无法访问外部资源的时候(比如 Google、YouTube),可以通过一个正向代理去间接地访问。
- 正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
- 反向代理,客户端是无感知代理的存在,以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端。此时代理服务器对外就表现为一个服务器。
31、蚁剑/菜刀/C 刀/冰蝎的相同与不相同之处
- 相同:都是用来连接 Web Shell 的工具
- 不同:相比于其他三款,冰蝎有流量动态加密
32、正向 SHELL 和反向 SHELL 的区别
- 正向 Shell:攻击者连接被攻击者机器,可用于攻击者处于内网,被攻击者处于公网的情况。
- 反向 Shell:被攻击者主动连接攻击者,可用于攻击者处于外网,被攻击者处于内网的情况。
- 正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.
- 反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端
33、Windows 提权
提权可分为纵向提权与横向提权:
- 纵向提权:低权限角色获得高权限角色的权限;
- 横向提权:获取同级别角色的权限。
34、Windows 常用的提权方法
- 系统内核溢出漏洞提权
- 数据库提权
- 错误的系统配置提权
- 组策略首选项提权
- WEB 中间件漏洞提权
- DLL 劫持提权
- 滥用高危权限令牌提权
- 第三方软件/服务提权等
35、Linux 提权有哪些方法
- Linux 内核漏洞提权
- 低权限用户目录下可被 Root 权限用户调用的脚本提权(SUID)
- 环境变了劫持高权限程序提权
- sudoer 配置文件错误提权
36、邮件钓鱼的准备工作有哪些?
- 确定邮件钓鱼的形式:链接、文件
- 收集目标相关邮箱
- 编写钓鱼邮件文案
- 匿名邮箱
- 木马免杀测试、钓鱼站点搭建
- 反溯源
37、什么是XSS攻击
跨站点脚本攻击,指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
38、如何防范XSS攻击
- 前端,服务端,同时需要字符串输入的长度限制。
- 前端,服务端,同时需要对HTML转义处理。将其中的”<”,”>”等特殊字符进行转义编码。
防 XSS 的核心是必须对输入的数据做过滤处理。
39、什么是CSRF攻击
跨站点请求伪造,指攻击者通过跨站请求,以合法的用户的身份进行非法操作。
可以这么理解CSRF攻击:攻击者盗用你的身份,以你的名义向第三方网站发送恶意请求。
CRSF能做的事情包括利用你的身份发邮件,发短信,进行交易转账,甚至盗取账号信息。
40、如何防范CSRF攻击
安全框架,例如Spring Security。
token机制。在HTTP请求中进行token验证,如果请求中没有token或者token内容不正确,则认为CSRF攻击而拒绝该请求。
验证码。通常情况下,验证码能够很好的遏制CSRF攻击,但是很多情况下,出于用户体验考虑,验证码只能作为一种辅助手段,而不是最主要的解决方案。
referer识别。在HTTP Header中有一个字段Referer,它记录了HTTP请求的来源地址。如果Referer是其他网站,就有可能是CSRF攻击,则拒绝该请求。但是,服务器并非都能取到Referer。很多用户出于隐私保护的考虑,限制了Referer的发送。在某些情况下,浏览器也不会发送Referer,例如HTTPS跳转到HTTP。
- 验证请求来源地址;
- 关键操作添加验证码;
- 在请求地址添加 token 并验证。
41、什么是文件上传漏洞
- 文件上传漏洞,指的是用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。
- 许多第三方框架、服务,都曾经被爆出文件上传漏洞,比如很早之前的Struts2,以及富文本编辑器等等,可被攻击者上传恶意代码,有可能服务端就被人黑了。
42、如何防范文件上传漏洞
文件上传的目录设置为不可执行。
- 判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。
- 对上传的文件类型进行白名单校验,只允许上传可靠类型。
- 上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本,同时向shell.php.rar.ara这种文件,因为重命名而无法成功实施攻击。
- 限制上传文件的大小。
- 单独设置文件服务器的域名。
43、什么是DDos 攻击
客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认,没有彻底根治的办法,除非不使用TCP
44、如果进行DDos 预防
- 限制同时打开SYN半链接的数目
- 缩短SYN半链接的Time out 时间
- 关闭不必要的服务
45、常见的Web漏洞有哪些?大概描述一下这些漏洞
- 数据溢出
- webshell
- 密码暴力破解
- sql注入
- XSS漏洞
- CSRF
- 文件上传漏洞
- 文件包含漏洞
- SSRF漏洞
- XXE漏洞
- 反序列化漏洞
46、作为网站管理者应当如何防范XSS?
防御的总体思路:对输入(和URL参数)进行过滤,对输出进行编码,白名单和黑名单结合
- 过滤:根据业务需求过滤、在留言板或论坛等,则可以过滤掉特殊字符或命令字符。开启浏览器的HTTPonly,使得无法通过js获取cookie。
- 转义:所有输出到前端的数据都要做转义。
47、OSPF协议?OSPF的工作原理
- OSPF(Open Shortest Pass First,开放最短路径优先协议),是一个最常用的内部网管协议,是一个链路状态协议。(网络层协议,)
- 原理:OSPF组播的方式在所有开启OSPF的接口发送Hello包,用来确定是否有OSPF邻居,若发现了,则建立OSPF邻居关系,形成邻居表,之后互相发送LSA(链路状态通告)相互通告路由,形成LSDB(链路状态数据库)。再通过SPF算法,计算最佳路径(cost最小)后放入路由表。
48、OSI 的七层模型都有哪些?
- 物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
- 数据链路层:接收来自物理层的位流形式的数据,并封装成帧,传送到上一层
- 网络层:将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。
- 传输层:在源端与目的端之间提供可靠的透明数据传输
- 会话层:负责在网络中的两节点之间建立、维持和终止通信
- 表示层:处理用户信息的表示问题,数据的编码,压缩和解压缩,数据的加密和解密
- 应用层:为用户的应用进程提供网络通信服务
49、主机被入侵了怎么办?
- 主机被入侵,优先看自己开放的服务。从而排查出可能的攻击点。
- 比如开放http服务,可能是被web渗透进入。
- 比如开放ssh,可能是被弱口令进入。
- 在确定服务后,可以去相应服务日志下面排查,看看能不能找到攻击IP。
50、作为网站后台管理员,怎样防止后台页面被别人搜到?
- 最简单的是写一个过滤器,判断该用户是否为管理员,如果是则可以跳到管理员页面,如果不是,则调回首页(只要在users 表增加一个 role 字段来判断就行了。
- 第二种就是建立一个权限系统(基于多个过滤器实现),如果你是使用 java 的,可以选择使用 spring security,参照官方的文档,配置一个简单的文件即可。
- 复杂一点可以建立几个数据库表,用户表,权限表,资源表,用户-权限表,权限-资源表,权限组表,这样就可以实现一套很基础的权限系统了
|
|