web安全岗面试题收集

以下转自vivo安全工程师岗面试题:
  1. tcp/udp区别
tcpudp
是否面向连接
是否可靠
传输字节流传输udp报文
首部复杂,利用率不高
  1. 堆和栈的区别
    3.** 进程和线程的区别**
    进程是资源分配的单位,比较大,而线程是执行单位,比较轻量级
  2. arp欺骗与预防
    在同一个局域网内,主机之间是通过mac地址来相互识别的,但是网络层过来的数据包是ip地址标识的,所以我们会调用arp协议将ip地址转换为mac地址,然后根据这个mac地址进行数据包的转发,而arp协议原理大概可以理解为去查一份ip-mac地址映射表,通常情况下,这个表时没有问题的,但是只要某一个主机发送特定的广播,这个表就会出现错乱,就会将某一个主机ip地址(通常为网关)绑定到攻击者的mac地址上,那么受害者的所有数据包都会经过攻击者,对了通常攻击者还会做一个流量转发,这样被攻击者才不会察觉到被攻击。
    预防的话就是可以设置ip-mac静态绑定
  3. sql注入
    sql注入产生的原因其实还是没有对输入输出进行安全过滤的问题,后台的直接将用户的输入当做了sql语句的一部分,然后就直接执行了,导致用户对sql语句可控。
  4. xss,csrf攻击的目标原理
    xss其实也算是注入的一种,只不过属于html/js注入,注入类漏洞的都是没有对用户输入输出进行安全处理导致的。而csrf的话更有一种隐藏在黑暗中的刺客的感觉,而且是借刀杀人的那种,这里借的刀就是用户的会话状态(或者说cookie?),举一个例子,比如你请求了一个带有csrf漏洞的普通页面,可能这个页面中就有这么一段代码<img src=http://www.xxx.com?action=del&id=2>这段代码就悄悄地去请求了你的博客(www.xxx.com),并且删除了id为2的文章
  5. rop攻击
以下转自360企业安全面经

作者:薛定谔的offer箱
链接:https://www.nowcoder.com/discuss/139226
来源:牛客网

  1. 平时用什么软件测试(BP)
  2. 你觉得BP哪里特别好用
  3. 你有没有看过测试工具的源码(没有)
  4. 给你一个网站,你怎么找漏洞,举个例子
    答:首先问面试官是漏洞挖掘还是奔着渗透测试去的,如果是普通挖洞,个人比较喜欢先找输入点,以此来测试可能存在的各种注入情况(包括xss),然后登陆处的逻辑,(验证码绕过,登陆流程可绕过,越权等),如果是渗透,首先就是扫目录,查旁站,判断cms等信息收集工作,当然端口也是会扫的判断操作系统以及搭建的服务…
  5. 你说验证码绕过,说说看怎么检测验证码绕过漏洞
    验证码绕过,我现在立马想到的有三种,验证码不变(等于没有验证码),验证码位数太少且规律简单,这样可以通过爆破突破,还有一种就是短信验证码特有的逻辑漏洞,即使直接把短信验证码返回到响应中。
  6. 你知道csrf吗,解释一下
  7. csrf怎么防御知道吗
    加随机token,判断referer(很容易被绕过),验证码
  8. 看你写过poc,你能举一个例子吗
  9. 你比较了解哪些漏洞
    sql注入与xss
  10. 说一说怎么发现sql注入
    当然情景还是挺多的(登陆框处、url、http头中)
    手工挖掘利用单引号,or 1等方式判断普通的一些注入,如果是时间盲注则需要用sleep这种结合if判断进行,利用工具一般都是用sqlmap测试一个url。
  11. 听过盲注吗,解释一下
    盲注重点就是突出在盲字上,就是不像普通的报错注入可以在页面中回显处数据库错误信息,当然盲注还分为时间盲注与布尔盲注,布尔盲注相对于时间盲注挖掘起来又要相对便利一点,布尔盲注理解起来就是有变化与没变化这么一个01判断,比如当我们在一处参数后加了一个单引号
  12. 我看你会用python,会的多吗
  13. 代码注入能讲一下吗
    我对php的代码注入要熟悉一点,一般都是用于调用了一些危险的函数并且组合了在这个函数中有些参数用户可控就很容易导致代码注入,例如php中的array_map()函数,如果这个函数中的函数名是用户可控的,那么久很容易导致代码注入。
  14. owasp top 10 哪些你比较了解的说一下吧
  • sql注入
  • xss
  • 不安全的配置
  • 逻辑漏洞
  • csrf
  • 越权
  • 弱口令
海康威视

作者:薛定谔的offer箱
链接:https://www.nowcoder.com/discuss/139226
来源:牛客网

海康威视似乎没有笔试,突然就来了电话。一开始就直入主题,没有自我介绍。所有面试中问的问题最多(30几个?)的面试,中途还换了个面试官接着问(接力嘛??)面试全称围绕简历进行,同样针对项目的细节和实习的工作问了很多问题。
面试问题大致如下(省略了项目和实习相关的问题):<--------------------------问题看这(๑‾ ꇴ ‾๑)

  1. 我看你简历上说会bp和sqlmap,能说一下你觉得bp有什么优点吗,你觉得哪里好用
  2. 你觉得哪个功能最好用
  3. sqlmap用的多吗,了解sqlmap的高级使用吗,比如使用插件和一些条件过滤
  4. sql注入有哪些类型说一下
  5. 盲注知道吗
  6. 有写过sql注入的插件吗
  7. 看你写了解主流web漏洞,你说一下主流的有哪些
  8. 能讲一下xss的原理吗
  9. 怎么防御xss呢
  10. 听过富文本吗?
  11. 黑名单要怎么设置过滤?
  12. 你写了些什么脚本,是自己定义了策略吗
  13. 说一下你渗透一个网站是怎么样的思路
  14. 你见过最有意思的一个漏洞是什么。
各处收集的
  1. 对称加密非对称加密?
  2. 什么是同源策略?
  3. cookie存在哪里?可以打开吗
  4. xss如何盗取cookie?
  5. tcp、udp的区别及tcp三次握手,syn攻击?
  6. 证书要考哪些?
  7. DVWA是如何搭建的?
  8. 渗透测试的流程是什么
  9. xss如何防御
  10. IIS服务器应该做哪些方面的保护措施:
  11. 虚拟机的几种连接方式及原理
  12. xss有cookie一定可以无用户名密码登录吗?

  1. 什么是WebShell?
  2. 什么是网络钓鱼?
  3. 你获取网络安全知识途径有哪些?
  4. 什么是CC攻击?
  5. Web服务器被入侵后,怎样进行排查?
  6. dll文件是什么意思,有什么用?DLL劫持原理
  7. 0day漏洞
  8. Rootkit是什么意思
  9. 蜜罐
  10. ssh
  11. DDOS
  12. 震网病毒
  13. 一句话木马
  14. Https的作用
  15. 手工查找后门木马的小技巧
  16. 描述OSI(开放系统互联基本参考模型)七层结构
  17. TCP和UDP的区别
  18. 脱壳
  19. “人肉搜索”
  20. SYN Flood的基本原理
  21. 什么是手机”越狱“
  22. 主机被入侵,你会如何处理这件事自查解决方案:
  23. NAT(网络地址转换)协议
  24. 内网穿透
  25. 虚拟专用网络
  26. 二层交换机
  27. 路由技术
  28. 三层交换机
  29. IPv6地址表示

在这里插入图片描述

### 大厂中高级 Java 开发工程师面试题 #### JVM 和类加载机制 JVM 加载 Class 文件的过程遵循特定的原理和机制。当应用程序启动时,JVM 使用类加载器来加载所需的类文件并将其转换为运行时数据结构[^1]。 #### 类加载器及其分类 类加载器负责将字节码加载到内存中,并对其进行验证、准备、解析和初始化。主要分为以下几种: - **BootstrapClassLoader**: 负责加载核心库中的类。 - **ExtensionClassLoader (PlatformClassLoader)**: 负责加载扩展目录下的类。 - **ApplicationClassLoader (SystemClassLoader)**: 负责加载应用级别的类[^2]。 #### Tomcat 的类加载机制 Tomcat 采用了一种特殊的类加载层次结构,确保 Web 应用程序能够独立于其他应用程序而工作。其类加载顺序是从顶层到底层依次尝试加载所需资源[^3]。 #### 双亲委派模型 双亲委派模型规定了类加载器之间的父子关系,在查找某个类之前先委托给父级加载器处理,只有找不到才会自己去加载该类。这种设计提高了安全性,防止恶意代码篡改标准库的行为[^4]。 #### Java 内存管理 Java 运行时环境由多个不同的内存区域组成,主要包括堆区(Heap)、栈区(Stack)、方法区(Method Area)以及本地方法栈等部分。其中堆用于存储对象实例,非堆则保存线程私有的变量信息和其他临时数据[^5]。 ```java // 创建新对象时会在堆空间分配内存 Object obj = new Object(); ``` #### 垃圾回收机制 为了自动管理和释放不再使用的对象所占用的空间,引入了垃圾收集算法。通过标记清除法或复制算法等方式识别无用的对象,并适时清理它们以腾出更多可用内存。此外还包括可达性分析、分代收集理论等内容[^6]。 #### 对象存活判定 判断一个对象是否仍然活着通常有两种方式:一是基于引用计数的方法;二是根搜索算法,即从GC Roots出发遍历整个图结构直到无法继续为止,期间未被访问过的节点即视为可回收状态[^7]。 #### 浅拷贝与深拷贝的区别 浅拷贝仅创建一个新的对象并将原始对象的内容逐位复制过去,但如果原对象内部含有引用类型的成员,则两者仍共享同一份副本;相比之下,深拷贝不仅会重新构建所有属性值还会递归地克隆嵌套对象,从而实现完全独立的新实体[^8]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值