那些年走过的信安面试路终:我的面试秘籍

那些年走过的信安面试路终:我的面试秘籍

前言

一年春好处,2021写下了这篇文章。

本文适合毕业生找工作,也适合从业者跳槽选下家,更适合面试官选面试题。

甲方,乙方offer拿过很多,分享一下我的经验。

选择

公司分甲方跟乙方,同时还分大公司和小公司。

做过管理的应该知道,团队管理大公司靠管理,小公司靠感情。

大部分人,很多时候不是你选公司,而是公司选你,所以这里也不多bb了。

现在的安全岗位,作为全栈工程师的我们往往也会经历,面试拧螺丝,工作造飞机的尴尬局面。

所以从技术面试来说,面试的问题需要多角度,多方面来考察我们的应聘者。

当然那些招驻场,随便问问的面试,当我没说。

最重要的一点就是,人品,很重要。

面试中自我介绍

无论是哪种面试,第一个肯定是自我介绍。一个优秀的面试官,应该能从应聘者的自我介绍中,判断出这个人的基本层次定位和价值。

如何自我介绍。

直接给个万能公式:

在xx安全论坛投稿过xx篇文章,获得xx元稿费。
在xx众测,提交过xx漏洞,获得过xx元奖金。
有x年以上的Web/App漏洞挖掘、业务逻辑漏洞挖掘经验。
精通xx,xx,xx语言,能独立开发poc和exp。
获取xx张CNVD证书 和 xx CVE编号。
在xx安全会议上进行过xx演讲。

如果问你离职原因:可以回答在公司个人发展受限,别整出“公司不被允许员工过年回家”的烂借口。

精选面试题

问:

攻防实战中有哪些优秀案例

答:

红队:参加xxx第x,xxx第x,xxx第x
主要做的是:外网打点,扩大资产,上免杀,横向=》vlan内网、域控组策略gpo。(这里简单给几个关键词)

蓝队:参加xxx

主要做的是:

1.反打扫描IP,分析肉鸡,找攻击者的利用工具,配置文件,连接ip
2.微步查询得到该IP,找到注册人邮箱,利用邮箱社工
3.蜜罐,通过跟厂家的蜜罐设备捕捉的指纹,来找到社交id
4.溯源钓鱼邮件,分析附件木马回连地址,邮件头找到真实发件人,利用邮件信息及id去社工,寻找博客,企业信息,社交信息等
获取id之后,百度,谷歌,src,微博,微信,支付宝,豆瓣,贴吧,知乎,脉脉,钉钉,CSDN,facebook,领英,github等进行查询绘制攻击者画像

问:

挖过SRC吗

答:

挖过,很早之前在乌云提交过xx漏洞,在补天,漏洞盒子都有熟人,先知众测,360众测等各种众测获得过xx现金。

问:

写过工具吗,熟悉什么语言

答:

python java go ruby...

具体看个人github(别回答没传过github、码云之类的低级借口,low到爆炸)

问:

xss攻击方式和防护

答:

反射XSS攻击、DOM型XSS攻击、储存型XSS

防护

1)httpOnly 防止读cookie

2)实体化编码输出

问:

sql注入原理,类型,防护方式

答:

把用户输入的数据当作代码来执行、联合注入 布尔盲注 时间型盲注 报错注入 宽字节注入等

防护方式:

1)设备方式:增加waf,cdn等

2)代码方式:一般推荐用框架,比如mybatis中使用 %获取参数是直接进行拼接  #获取参数是进行预编译

问:

渗透测试流程

答:

1) 确定资产范围

ip、域名、内外网、测试账户,客户的需求,比如需要拿到内网的权限,有些客户不允许进内网
2) 信息收集

利用搜索引擎开放搜索,各种工具探测子域名、端口、应用、指纹、操作系统、版本、中间件、人员信息、waf等
3)漏洞探测

对目标的端口,web服务进行目录扫描,探测poc、常规的checklist逻辑漏洞测试
4) 绕waf

绕waf进行漏洞利用( 1 注释替换空格 2 字符集绕过3 chunked绕过4 上传请求 multipart 绕过 5.参数污染 6.垃圾数据污染)

5)内网入侵,横向敏感目标,清理痕迹
6)提权
windows:1.systminfo根据系统补丁提权 2.第三方服务提权 3.数据库提权
linux:1.利用系统内核漏洞进行提权 2.泄漏密码提权 3.sudo提权 4.SUID提权

问:

app安全测试怎么做

答:

安卓:drozer审计安卓app adb来操作drozer,四大组件 Activity、Service、Broadcast Receiver、Content Provider
反编译:如果加固可以尝试用github上的frida-dexdump脱壳 
防御机制:信任证书即可,APK的安全机制,自签名证书(Xposed - JustTrustMe,SSLUnPinning),用proxifier代理工具。Hook技术(只需要Hook 证书校验失败的处理方法,让其继续加载页面并保持通讯即可。)
客户端内置代理,hook "system.setproperty" 设置代理到本地,客户端检测是否开启代理(修改smail代码绕过,或者nop掉检测方法。)

双向认证绕过:做了双向验证的apk,反编译后在APK的 assets 中就可以找到客户端证书 .p12 和.cer 的文件,导入时会需要一个证书密码,一般可以通过静态分析代码,搜索 KeyStore 或者 逆向分析客户端的.p12 来找到密码。

答到上面几个点就够了

问:

iot安全测试怎么做

答:

一般测试wireshack抓包

从硬件体系、软件结构、通信协议来看。

常见漏洞:后门,硬编码、逆向固件(官方下载)

问:

如果让你设计开发一款漏扫工具,你会如何设计开发

答:

一般使用框架来开发代码:

前端用Vue
后端用SpringBoot

子域名扫描调用oneforall
端口服务扫描调用nmap(精准识别)、masscan(快速识别)

判断ip数据库及CDN、waf放弃自动化扫描,仅做URL可用收集
驱动浏览器爬虫采集数据:crawlergo
被动漏洞扫描:针对域名进行扫描,直接调用 xray 、awvs、w13scan 等进行漏扫

问:

在实际攻防中,蜜罐越来越多,详细聊聊你对蜜罐的认知。

答:

Github上有很多Python版蜜罐Opencanary的二次开发源码。
蜜罐刻画的黑客肖像主要原理是使用众多的jsonp接口来获取攻击者的信息。
最方便的就是直接购买安全厂家的蜜罐,依赖厂家的资源来识别攻击者。

问:

应急响应怎么策划,怎么做?

答:

主要遵守应急响应PDCERF模型

Prepare(准备)
Detection(检测):

紧急事件监测:包括防火墙、系统、web服务器、IDS/WAF/SIEM中的日志,不正常或者是执行了越权操作的用户,甚至还有管理员的报告
Containment(抑制):

首先先控制受害范围,不要让攻击的影响继续蔓延到其他的IT资产和业务环境,切记不要直接一股脑的投入全部精力到封堵后门。紧接着要做的是去寻找根源原因,彻底解决,封堵攻击源,把业务恢复到更张水平
Eradication(根除)
Recover(恢复)
Follow-Up(跟踪)

主机被入侵
优先提取易消失的数据
内存信息 free -m `htop
系统进程 ps top netstat ss
路由信息 tracert
ifconfig查看网卡流量,检查网卡的发送、接收数据情况
NetHogs实时监控带宽占用状况
查看Linux系统日志 /var/log
ClamAV杀毒软件

问:

PHP代码审计,你是如何审计的,说说你比较熟悉的函数。

答:

代码审计方式,分3种。

1.全文通读

2.业务功能点

3.工具扫描复验

PHP中:

1)代码执行:
eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function
2)文件读取:
file_get_contents(),highlight_file(),fopen(),read
file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等
3)命令执行:
system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()

问:

如何绕过waf?

答:

大小写转换法
干扰字符 /!/
编码 base64 unicode hex url ascll
复参数
分块传输

问:

容器安全有了解吗?

答:

探测是否为容器环境

如/.dockerenv是否存在

(1)dockerfile泄漏
dockerfile指定user
dockerfile存储了固定密钥对外发布
dockerfile服务攻击面(ssh,telnet)
(2)供应链攻击
镜像漏洞、恶意后门、镜像仓库
(3)隔离问题
容器隔离问题,共同挂载的文件系统
(4)容器逃逸
共享操作系统内核,不允许采用特权模式运行

结尾

随着时间的推移,想做的事情越来越多,此篇文章将是我最后一篇面试系列文章,我的github是:https://github.com/tangxiaofeng7

欢迎志同道者交流。

发布时间:2021-03-09 08:02:28

修改时间:2021-03-09 08:02:28

查看次数:250

评论次数:0