这次面试是厂商在项目上的安服老哥面的,难度适中吧,上来直接问技术也没让自我介绍
1.Q:有没有做过应急,有相关经历吗?
问什么问题一律回答会,和知道,就算不知道也要往你擅长的方向拐,比如你本来没有经历,那么你看过这篇文章那这个经历就是你的了。
A:做过,被0day穿过,被确认攻击后的及时的反应断网,减小损失,0Day的特征就是(这个是我的例子)设备上什么没有突然有一个冰蝎的webshell链接成功的告警,是晚上被穿的,当天晚上加班在白天之前出了处置报告,追回很多的分。
2.Q:XSS漏洞的类型和原理以及修复方案
A:(1)DOM,存储型,反射型,区别是,反射一次性,存储型是保存在后端任何用户访问都能触发。
(2)转义,前后端验证,安全的编码规范,避免使用eval()、new Function()等危险函数, 使用安全的编码库,csp
3.Q log4j的原理,修复
A:(1)Apache Log4j2 框架中存在一个名为 JNDI Lookup 的功能,它允许通过配置文件中的 JNDI 名称引用外部资源。攻击者构造一个特殊的日志消息,其中包含恶意的 JNDI 名称,并通过网络发送给受影响的应用程序。当应用程序使用 Log4j2 框架解析日志消息时,它会尝试查找和引用该 JNDI 名称。如果恶意的 JNDI 名称指向一个恶意的远程资源,例如恶意的 LDAP 服务器或 RMI 服务,攻击者可以控制该远程资源的内容和行为。攻击者可以在恶意的远程资源中注入恶意代码,并在目标系统上执行任意命令或获取敏感信息。(2)修复禁用Log4j的JNDI Lookups功能,升级版本 (3)问的这些中间件的洞,你都可以在流量层面拓展,说一下他的流量特征,比如log4j的${jndi:ldap
4.Q :Linux查看登录日志的命令
A:last ,就是var/log/wtmp目录 可以后面跟 username参数 last -username
5.Q:Windows日志2624和2625是什么事件
A: 前者登录成功后者登录失败,登录事件的1-8标识着登录类型,比如本地登录远程登录。
6.Q:Struts2命令执行漏洞,影响版本
A:Struts2的action:、redirect:和redirectAction:前缀参数在实现其功能的过程中使用了Ognl表达式,并将用户通过URL提交的内容拼接入Ognl表达式中,从而造成攻击者可以通过构造恶意URL来执行任意Java代码,进而可执行任意命令
7.Q:redis未授权访问的利用方式
A: 在创建redis的时候默认0.0.0.0:6379 端口开发redis服务,被ssrf扫描发现,可以利用gopher协议伪造请求访问,可以写公钥,或者提权。
8.Q:看你简历处理过内存马,简单说一下。
A:有遇到过php的不死马,和配合shiro反序列化打进来的java的内存马。php的不死马可以创建个同名的文件,这样他再创建的时候就会失败了,java的内存马查杀复杂一些,可以借助git上的内存马查杀工具,也可以用河马的shellpub来扫,扫不到的话可以用arthas看java虚拟机运行的可以的类,电脑上没有对应的class文件可能是内存马shellpub找到后去找他的哪个内存马的执行目录,把内存马删掉重启服务,蝎内存马是servlet型,哥斯拉是filter,反编译后会有明显的AES加密的key,classloader有明显特征冰蝎的马无论如何hook但是内存里面肯定有的,访问的时候是有路由映射的。那么内存dump出来的文件肯定会有记录。(参考我之前文章)
9.MySQL5.7和以往版本的区别
A:随机 root 密码,默认 SSL 加密st 数据库,用户锁
早上九点面的,面试完和我闲聊又问了设备的问题,熟不熟悉,聊完当时就通知我过了,说我能力可以的(虽然我不一定去)也有一些面试题记不清了,基础漏洞啥的比如sql注入的修复,写到最后才想起来。。