0x1 前言
下面呢主要是给师傅们分享自己一、二面面试的经验和面试题,以文字的形式给大家展示一下(可能有些地方描述和解答的不是很正确,希望大佬们勿喷!)
通过邮箱联系,然后安排时间腾讯会议面试
目前到二面了,从投递简历到一面过了差不多10天左右,然后开始的一面,一面主要是某科技的安服工程师和那边的一个项目经理一起面试我。
面试开始那边也是直接先介绍了下他们自己,然后再让我自我介绍下,我也就提前准备的面经,然后进行面试前的一个熟练背,再加上自己的一些随机发挥,看面试官他们问什么然后自我介绍再适当的回答(这里给师傅们点建议,得学会自我介绍的时候吹牛逼),然后就是吧啦吧啦的介绍了,也没什么特别需要给师傅们分享的了。
0x2 一面面试官的问题
1、面试官开始就问了我,为什么要学网络安全?
这里我就不给师傅们回答了,这个看自己的发挥了(尽量显的自己特别热爱安全,把安全当成自己的一个兴趣)
后面我就开始给师傅们介绍下面试的问题吧,然后最后面我也会给师傅们一些面试的经验,然后从投递简历到面试再到面试通过选择去哪家公司的一个建议(大佬勿喷)
2、什么是sql注⼊
攻击者通过在输⼊的SQL查询中注⼊恶意代码,来执⾏他们想要的操作,⽐如获取敏感信息、删除或篡改数据
等。这种攻击通常发⽣在⽤户输⼊没有经过充分验证和清理的情况下,例如在⽹站的登录表单或搜索框中输⼊
SQL语句。为了防⽌SQL注⼊,开发者应该使⽤参数化查询和预编译的查询,对⽤户的输⼊进⾏严格的验证和清
理。
3、关于sql注⼊,都分为那些?
有回显和⽆回显
⽆回显称为盲注,包括布尔盲注或者dnslog外带来探测
有回显可以union联合查询、报错注⼊、宽字节注⼊、堆叠注⼊、⼆次注⼊
4、如果在实战中遇到了防护,⽐如sql注⼊过滤掉了空格怎么办?
将空格URL编码,例如%20 %0a
5、什么是csrf?
tomcat⽇志默认路径:在安装⽬录下的logs⽂件夹下
apache /etc/httpd/conf/httpd.conf
nginx的⽇志主要分为access.log、error.log两种,可通过查看nginx.conf⽂件来查找相关⽇志路径
6、简单讲解下内存⻢?
tomcat的servletAPI型内存⻢为例
创建了⼀个恶意的servlet,然后获取当前的StandardContext,然后将恶意servlet封装成wrapper添加
到StandardContext的children当中,最后添加ServletMapping将访问的URL和wrapper进⾏绑定。
7、讲下内存⻢排查思路?
首先判断是什么方式注入的内存马
可以通过查看web日志,以及看是否有类似哥斯拉、冰蝎的流量特征
如果web日志中没有发现,那么我们就可以排查中间件的error.log日志
8、平常有对APP、小程序渗透测试嘛?
有的
9、你是用什么工具对app进行抓包?
我是使用的雷电模拟器然后使用burpsuit配合进行抓取app数据包的
10、针对apache的⽂件上传,可以使⽤什么?
上传.htaccess
apache解析漏洞,如果上传.htaccess,那么当前⽬录就会按照htaccess中的配置执⾏
11、关于图⽚⻢的制作你知道那些⽅法?
命令⾏⽅式:copy 1.png/b+1.php/a 2.png
在⽂件头中加⼊GIF98a
BurpSuite抓包修改图⽚body
打开图⽚⽂件属性,在详细信息那⾥写⼊⼀句话
12、蚁剑和冰蝎的区别?
冰蝎的流量进⾏了aes加密,相对于蚁剑更加难以被检测,webshell免杀性好。冰蝎更新了4.0更加安全和易注⼊。
13、平常有挖企业src嘛?可以说说你的资产收集过程嘛?
1、首先确定我们要挖的公司资产
2、使用wps,新建一个exec表格,里面新建好几个表格,备注比如:根域名、子域名、小程序、app以及漏洞提交进度等情况
3、上爱企查看这个企业的知识产权,然后看网站备案,然后看这个公司的股权穿透图,这里有一个找边缘资产的好方法,就是看股权穿透图找下面的子公司,但是不同的企业src收录标准不一
4、使用小蓝本查该公司的一个小程序、app,然后保存在exec表格里面
5、使用oneforall工具进行子域名挖掘,然后保存到一个txt里面,再使用灯塔进行子域名挖掘,再汇总,然后使用无影工具里面的辅助模块进行资产分类
6、使用灯塔ARL自动化跑,去找一些文件泄露的漏洞
14、有自己的技术博客嘛,在先知、freebuf等平台发表过文章嘛?
都有,自己一直有保持写技术博文的习惯
15、关于代码审计你知道那些,说说看?
我主要是对Java代码审计⽐较熟悉,例如⼀般Spring Boot项⽬中,
使⽤mybatis框架处理sql语句,其中${包裹的参数如果是⽤户可控的就可能存在sql注⼊。
Java中的命令执⾏函数,Runtime类的exec⽅法和ProcessBuilder类
反序列化函数和类加载函数,例如readObject、Classload.defineClass类加载⽅法等。
通过pom.xml排查引⼊的框架版本是否存在漏洞。
还有⽂件上传/⽂件读取接⼝是否有充⾜限制,是否存在任意⽂件上传和⽂件任意读取
还了解⼀些例如codeql、Fortify SCA⾃动化代码审计⼯具
16、Shiro-550 反序列化漏洞有了解嘛,简单讲下?
shiro反序列化漏洞的特征:cookie里有remember字段
在整个漏洞利用过程中,比较重要的是AES加密的密钥,该秘钥默认是默认硬编码的,所以如果没有修改默认的密钥,就自己可以生成恶意构造的cookie了。
检测的话,利用burp抓包,更改cookie,可以看到响应包中的rememberMe=deleteMe字段
17、如果⽹站有CDN,你如何查看他的真实IP地址
多地ping主域名、⼦域名,利⽤冷⻔国家的服务器来ping
查询cdn解析历史
利⽤cdn⼯具
通过ping错误的⼦域名,如果⽬标服务器开启了模糊域名,就可以直接看到真实ip
ddos打光cdn流量,再ping就是真实IP
通过ssrf绕过cdn
通过反弹shell直接得到IP
敏感信息泄露,例如phpinfo中就有ip
社⼯,进⾏邮件往来,邮件头上就会有IP
18、在校期间打过什么比赛,介绍下,再讲下让你印象最深刻的比赛?
(这里师傅们就靠自己脑补了)自己就把自己打过的比赛和获奖说下,大公司还是蛮注重你在大学期间的比赛成绩的。
0x3 一面总结
给大家的建议:
开始也是跟师傅们说了,最后面给师傅们分享下面试的一些小技巧,因为最近也是蛮多师傅们问我面试找工作的一些事情,然后也算是给师傅们分享下了。
首先,我们再进行投递简历的时候,得海投,多去招聘网站,比如BOSS、牛客网、猎聘等进行投递简历,然后简历呢多学会吹吹牛逼,因为hr会先进行一次简历的筛选(你说你面试都没有面都被淘汰了,是不是很可惜)
其次,就是面试笔记,也就是面经的重要性了,包括我认识的好几个师傅人家技术水平虽然说不是那么厉害,但是人家面试不论是护网还是找工作面试官都对他的印象很好的,所以说面试笔记得多看多背
最后,就是有些师傅问我面过了好几家公司,拿到了好几家公司的office,怎么选择呢,这里我的建议是得看师傅自己的未来一个规划,然后要是能像国企那样的,比较稳定的那种优先,因为目前行业不是很好,然后就是能提升学历就提升学历去,现在裁员也越来越严重。
0x4 二面面试官的问题:
1、问了我最近在做什么,学什么方向的东西?
这个我就是正常回答嘛,说最近在找实习,然后前段事件在面你们渗透测试岗位,然后目前也是在准备面试相关的事情。
然后学习的话,平常主要还是以src漏洞挖掘和一些攻防演练的课程进行学习,跟着别的师傅一起学。
2、问了我简历上面写着有过培训经历,问我有过哪方面的培训?
这个主要是大学期间给学校的信安小组啊,还有就是跟着别的安全团队搞过比赛的培训,还有就是有过简单的SRC漏洞挖掘的培训
3、问对Windows和linux系统了解多少?
回答的是对windows、Linux系统熟悉,然后也对windows、linux系统进行过相关的测试、攻击
4、windows和linux查看计划任务⽤那些命令?
windows:
at 只⽤与windows server
schtasks
linux:
at添加⼀次性计划任务。
cat /etc/crontab 查看系统任务
5、Linux后台有⼀个进程,你需要找到他的程序执⾏⽂件,该怎么找?
已知程序名称:ps -aux | grep name
已知端⼝:netstat -anp |grep port
已知pid:ps -aux | grep pid
6、在渗透测试中,你知道常见的端口有哪些?
我这里给师傅们汇总了下(蛮全的,需要面试的可以看看我这个)
21端口:FTP
22端口:ssh
23端口:Telent服务
25端口:邮件
80端口:HTTP服务
443端口:HTTPS服务
445端口:公共文件系统
1433端口:sql server
1521端口:Oracle
3306端口:mysql
27017端口:MongoDB
3389端口:远程桌面端口
6379端口:redis
7001端口:weblogic
8080端口:8080端口是被用于WWW代理服务的,可以实现网页浏览,比如tomcat
7、你知道那些web中间件漏洞?
tomcat put写任意⽂件和远程代码执⾏
log4j2 远程代码执⾏
nginx 解析漏洞
activeMQ 反序列化
fastjson 反序列化
jenkins 远程命令执⾏
8、假如现在给你⼀个⽹站,你会怎么样去进⾏渗透测试,说⼀下你的思路
1、首先确定我们要挖的公司资产
2、使用wps,新建一个exec表格,里面新建好几个表格,备注比如:根域名、子域名、小程序、app以及漏洞提交进度等情况
3、上爱企查看这个企业的知识产权,然后看网站备案,然后看这个公司的股权穿透图,这里有一个找边缘资产的好方法,就是看股权穿透图找下面的子公司,但是不同的企业src收录标准不一
4、使用小蓝本查该公司的一个小程序、app,然后保存在exec表格里面
5、使用oneforall工具进行子域名挖掘,然后保存到一个txt里面,再使用灯塔进行子域名挖掘,再汇总,然后使用无影工具里面的辅助模块进行资产分类
6、使用灯塔ARL自动化跑,去找一些文件泄露的漏洞
9、如何判断是否CDN?
多地ping
nslookup
nmap端⼝扫描出来特别多的web⽹站也可能是,有⼀次扫出来4000多nginx
全局cdn通过查as号判断(不确定,不主动提及)
10、要是ping都⼀样就能判断真的没有CDN了吗?
有可能使⽤的是全局CDN,通过查as号判断
11、要是给你⼀个登陆框,可能存在什么样的漏洞?
弱⼝令、空⼝令
sql注⼊
⽤户枚举
登陆认证绕过,例如Nacos的cookie=Nacos-Server
短信轰炸
短信验证码爆破
框架漏洞,例如shiro、struts2
12、你漏洞挖掘中,比较熟悉的几个框架可以讲下嘛?
若依框架
spring-boot还有就是spring二次开发的框架
jeecg框架
bladex框架
Nacos系统
然后上面的框架系统的话有很多的nday漏洞,还有一些可以利用工具执行的漏洞,比如常见的若依框架登录系统,常见的弱口令很多,ry:admin123和admin:admin123,进去以后就有很多的nday可以打,然后没登陆进去还有就是druid协议,可以使用弱口令druid:druid,还有就是shiro默认密钥。
13、⽐较喜欢⽤哪⼏种⼯具,它们的优势是什么?
sqlmap⾃动化的sql注⼊,速度快准确度⾼,可以直接getshell
nmap扫描端⼝,轻量级软件,好⽤效率⾼。
xray漏扫,扫描漏洞速度快⽽且⽐较准确
burpsuite抓包⼯具,好⽤,可以重放请求和爆破。
14、你了解spring框架漏洞吗
CVE-2018-1260 Spring Security Oauth2 远程代码执⾏
CVE-2018-1271 Spring MVC ⽬录穿越漏洞
CNVD-2016-04742 Spring Boot 框架 SPEL 表达式注⼊漏洞
CVE-2014-3578 Spring Framework ⽬录遍历漏洞
CVE-2022-22947 Spring Cloud Gateway SpEL表达式注⼊命令执⾏
15、说⼀下你最难忘的挖洞经历?
第一次挖出漏洞是在漏洞盒子的公益项目中提交的,第一次是出的存储型XSS漏洞,给了一个低危,然后挖的edusrc第一个是弱口令,在企业src和众测中挖出来的第一个漏洞都是未授权,比如nacos、druid未授权,直接拼接路径即可
16、常⻅的中间件解析漏洞有哪些
解析漏洞是指web服务器因对http请求处理不当导致将⾮可执⾏的脚本,⽂件等当做可执⾏的脚本,⽂
件等执⾏。
该漏洞⼀般配合服务器的⽂件上传功能使⽤,以获取服务器的权限。
漏洞:
IIS 5.x/6.0解析漏洞
IIS 7.0/IIS 7.5/nginx0.8.3解析漏洞
Nginx
0x5 二面总结
今天呢,给师傅们分享下杭州某科技渗透测试岗位二面的过程,主要是给师傅们分享下面试的一个过程和感触,面试题不是重点,因为面试过程也没有录音,所以有些面试的问题也不是记得特别全(主打一个总结)。
开始一面不是跟师傅们说了嘛,一面主要是某科技的安服工程师和那边的一个项目经理一起面试我。二面就是那边某那边的一个级别应该那边负责人吧,也是一个技术面试,我猜测三面应该就是他们那边的HR面试了,三面应该就是谈薪资的一个过程了。这篇面试分享的文章呢,其实之前就已经想给师傅们分享了,但是呢前段时间一直有别的事情比较忙,又是护网,又是工作方面的一些事情,所以拖到今天给师傅们分享下了