持续更新
整理
小鹏汽车-安全工程师
- 自我介绍
- 有没有挖过src?
- 平时web渗透怎么学的,有实战吗?有过成功发现漏洞的经历吗?
- 做web渗透时接触过哪些工具
- xxe漏洞是什么?ssrf是什么?
- 打ctf的时候负责什么方向的题
- 为什么要搞信息安全,对安全这一块有多大的兴趣,以后会不会转行,还是打算一直从事安全方面工作
- 自己平时怎么学安全的,如果让你做一个新的方向(app安全),会投入多少时间去学习,还是说有自己想做的方向
- 聊一聊代码审计的流程
- 平时是怎么做代码审计的
- 有没有审计过开源框架、CMS?
- 怎么判断一个数据库是mysql还是oracle的?
- sql注入的种类,利用方式?
- 聊一聊sql注入的原理及防御思路
- 做开发的时候用的是什么语言
- 做java开发的时候用过什么框架,能不能做java安全开发
- 有没有做过安卓开发
- 有没有用python写过工具?
- msf利用的是哪个漏洞,有没有成功反弹?
- 护网的时候主要做了些什么,聊一聊对安全产品的理解
- 公司现在需要做app安全的人,现在要你做的话,你会去学吗,或者说感兴趣吗,还是说有别的想做的,不想做app安全,能投入多少时间去学
- 内网渗透了解吗?聊一聊内网渗透的思路
阿里巴巴-阿里云安全
一面
- 自我介绍一下,讲一下课题和课外实践?
- WAF管理平台后端API有做过压力测试吗?
- 你现在的论文已经发表了吗?
- 你的毕业论文是什么?
- 在字节跳动训练营最大的收获是什么?
- 在研究生期间或日常生活中有什么可以分享的有意义的事情?
- 快排的时间复杂度是多少?
- 最快的情况下是多少?是什么样的情况?
- 最慢的情况下是多少?是什么样的情况?
- 哈希冲突有哪些解决办法?
- 编程题(easy)
二面
- 自我介绍一下?
- 我们这里是密码管理服务,密码这块你了解多少呢?
- 你未来计划更偏向于安全研究还是安全研发?
- 你对云上PKI的安全,身份认证的能力感兴趣吗?
- 介绍一下字节跳动训练营做了什么?
- Sql注入的原理和防御方案有哪些?
- WAF防护SQL注入的原理是什么?
- 本次训练营中,怎么分工协作的?你的角色是什么?你的贡献是什么?有没有提升效率的可能?
- 漏洞挖掘是纯工具还是有一些手工的?
- WAF管理平台后端API有哪些功能?
- WAF的增删改查数据量大吗?
- Redis解决了什么问题?
- 热点数据怎么保证redis和db中的一致?
- 用户登录认证是怎么做的?
- Token的安全怎么保护?
- Token的内容该如何设计?
- 怎么保证数据不被篡改呢?
- SDN漏洞挖掘的思路?
- 漏洞挖掘有挖掘出RCE漏洞吗?
- 对栈溢出、堆溢出有研究吗?
- 说一下https协议的过程?
- 对C++或C熟悉吗?
- 哈希表的原理和冲突解决办法?(和一面重复了)
- Mysql查询快的原因?
- 事务的四大特性,mysql隔离级别?
- 解释一下乐观锁和悲观锁?
- 多并发编程有涉及过吗?
- 读写锁和互斥锁/排他锁用过吗?有什么区别?为什么会用?
- 有一项软件著作权,做的什么软件?
- 编程题(medium)
三面(交叉面)
- 字节跳动训练营越权问题解决办法?
- 防火墙都是自己写的规则去防御吗?
- 任务都是一样,你们得了第一,你们团队做的好的地方在哪里?
- SDN漏洞挖掘项目,你能列举一个比较有技术含量的漏洞吗?漏洞原理和挖掘过程?
- Python2和Python3的区别?
- 数据库索引的作用?mysql索引的变化?
- 数据库弱口令,登进去后如何提权?
- 你自己写项目的时候,怎么进行的 SQL注入防御?
- 怎么进行CSRF防御?
- Token加密什么东西?
- 校验什么?
- Token为什么需要加密?
- 使用明文随机数可以吗?
- 怎么防重放攻击 ?
- Docker有哪些安全上的好处?
- 个人发展方向?
- 当前在哪里日常实习?
- 实习多久了?为什么想来阿里?
58同城-安全工程师
-
你先做个自我介绍吧
-
假如说有个SQL注入如下
select * from user where userid = {};
- response里面没有返回内容
- 1s就超时了,直接返回404页面
这种情况下如何注入?
-
比如说我写一个安全SDK
-
sql注入的修复, 怎么写(伪代码)
答:我倾向于使用预编译的方式
-
但是预编译的话, 研发可能不会用怎么办呢, 就是说如果他觉得改起来太麻烦了能不能更方便一点. 因为预编译的话, 我每条SQL每条查询都得去改.
答:那设计一个白名单怎么样呢
-
那你大概写一下怎样设计一个白名单. 你可以分场景, 比如说什么场景什么场景的SQL注入, 或者是参数里面应该做什么操作
-
xss的修复, 怎么写(伪代码) 答: 用实体化转义
-
但是我们有一个场景啊, 你看我们上传简历这里, 有时候会支持上传html的简历, 对吧. 他本身业务就需要用到html, 如果用html实体化转义的话, 他全都会被转义, 那这样的话业务就崩了嘛, 对不对. 那这种情况下我们要怎么样去写一个xss的过滤, 或者是说转义, 去解决这个类似于简历这个场景. 你可以想一想, 写不出来代码也没关系.
答:白名单限制, 黑名单过滤.
-
其实我们自己是这样做的, 对于这种情况, 我们第一是会做一个html标签的白名单, 第二是事件的白名单. 黑名单我们就不搞了.
-
rce的修复, 怎么写(伪代码)(java或者python的命令执行) 答: 白名单限制, 只允许需要的函数. 但RCE的话我感觉在业务场景当中, 一般来说也不是很容易出现 面试官: 欸, 我们就出现了很多. 尤其是运维部门.
我: 我打CTF比较多, 我了解的RCE都是PHP方面的. 比如说system, popen之类的. 一般来说都是直接做过滤
-
那PHP中这些函数全部被黑名单了, 你还有什么方法
答: 字符串拼接 $a=p.h.p.i.n.f.o()
-
你有没有用过php里面的反引号啊
答: 还有用 chr()
函数来绕过
-
面试官: 编码是吧
-
xxe的修复, 怎么写(伪代码) 答: 对XXE来说, 我只了解他的攻击方式, 对他的防御不是很了解. 攻击方式就是做XML的外部实体化注入. 一个攻击模板, 可以读文件, 可以做命令执行
-
XXE怎么做命令执行呢, 就拿php来说, XXE怎么做命令执行
-
XXE这个命令执行是要他的服务端本身支持某些特殊的协议, 一般来说是不行的
-
了解过自动化代码审计的工具吗, 类似于fortify这种
答: 我只用过那个一个比较老的那个, 我想不起来了(指seay)
-
没关系, 那你有没有了解过他的一些原理, 大概怎么做的
我: 他原理一般都是通过匹配一些特殊函数, 去定位可能出现漏洞的函数的位置
-
但这种的话他误报很高欸, 就像我这种RCE的话, 你直接匹配的话他很多都是误报了, 很多他都不是web思路的
我: 还有一种是, 给他加一些自定义规则
-
那有没有更好的办法呢, 误报太多了我们没办法接受啊
我: 我有一个想法就是, 他自己匹配了之后, 能不能从前端从一个黑盒的层面再去验证一遍
-
那黑盒验证, 我就有需求是, 首先我得知道, 首先我php里面我这个函数到底是哪个入口传进来的, 对吧. 但这个有可能经过了层层调用, 甚至有可能是include()
这种, 那这种的话, 对于我来说 , 我并不知道他影响到了哪一些入口, 这种情况怎么办呢
-
你们学校有学编译原理吗
-
其实我觉得安全专业还是要学一下编译原理
-
有没有搞过linux的这种后渗透相关的
- 面试官: 比如这个linux被我攻陷了, 我想去拿到更多的信息, 比如说一些横向的信息, 那种有没有搞过 我: 这种不是很了解, 但windows的会一点
- 面试官: 那你可以简单讲一下, 比如你先攻陷一台windows的机器, 然后我想在这个windows的域内去做一些横向移动, 我想把这个windows的域的权限给拿到, 这种你该怎么做 我: 通过票据伪造, 白银票据和黄金票据 面试官: 你这个票据伪造要怎么做呢 我: 一般用mimikatz就可以了吧
- 面试官: 你mimikatz抓取的是内存里面的密码和一些他的票据, 那我如果本身是低权限的呢, 就我本身抓不了密码, 或者我抓到的用户密码并不是域账号的, 是一个低权限账号呢. 因为大部分渗透进来都是个应用, 应用他可能并没有域权限 我: 从低权限往上提
- 面试官: 那你一般会怎么提权 我: 一般windows的漏洞吧 面试官: 那现在就用这个windows系统的提权, 我现在就一个webshell, 那我怎么样去提权
- 面试官: 你可以这样嘛, 你上传一个提权的脚本或者exe嘛, 你webshell去跑这个exe, 他就把这个web应用权限提权了
-
那你最后有什么想问我的吗
360-安全工程师
- 自我介绍
- WAF及其绕过方式
- IPS/IDS/HIDS
- 云安全
- 怎么绕过安骑士/安全狗等
- Gopher扩展攻击面
- Struct2漏洞
- UDF提权
- DOM XSS
- 数据库提权
- 怎么打Redis
- 内网渗透
- 容器安全
- k8s docker逃逸
- linux、windows命令:过滤文件、查看进程环境变量
- 站库分离怎么拿webshell
360
红队&&企业蓝军方向
以下都是同一场面试提的问题,两个面试官,一个代审一个红队,时长接近两小时
- shiro 如何绕 waf
- weblogic 如果在打站的时候,一旦遇到了 waf,第一个 payload 发过去,直接被拦截了, ip 也被 ban 了,如何进行下一步操作
- jboss 反序列化原理
- weblogic 反序列化原理,随便说一个漏洞,然后说触发原理
- fastjson 怎么判断是不是有漏洞,原理是什么
- fastjson 判断漏洞回显是怎么判断的,是用 dns 做回显还是其他的协议做,为什么
- fastjson 高版本,无回显的情况,如何进行绕过,为什么可以这样绕过
- 代码审计,做过哪些,主流的代码审计 java 框架请简述
- 泛微,致远,用友这三套系统代码框架简述
- 泛微的前台漏洞触发和后台漏洞触发,如何通用性的挖泛微的洞,泛微能反序列化吗, 怎么挖
- php 代码审计如果审计到了一个文件下载漏洞,如何深入的去利用?
- php 里面的 disable_function 如何去进行绕过,为什么可以绕过,原理是什么
- 假如说,在攻防的时候,控下来一台机器,但是只是一台云主机,没有连接内网,然后 也没有云内网,请问怎么深入的对这台云主机进行利用?
- redis 怎么去做攻击,主从复制利用条件,为什么主从复制可以做到拿 shell,原理是什 么,主从复制会影响业务吗,主从复制的原理是什么?
- becl 利用链使用条件,原理,代码跟过底层没有,怎么调用的?
- 假如我攻击了一台 17010 的机器,然后机器被打重启了,然后重启成功后,机器又打成 功了,但是无法抓到密码,为什么无法抓到,这种情况怎么解决这个问题?
- 内网我现在在域外有一台工作组机器的权限,但是没有域用户,横向也不能通过漏洞打 到一台域用户的权限,但是我知道一定有域,请问这种情况怎么进入域中找到域控?
- jboss 反序列化漏洞原理
- 内网拿到了一台 mssql 机器的权限,但是主机上有 360,一开 xpcmdshell 就被拦截了, 执行命令的权限都没有,这种情况怎么进行绕过。
- 什么是 mssql 的存储过程,本质是什么?为什么存储过程可以执行命令?
- 如果想通过 mssql 上传文件,需要开启哪个存储过程的权限?
- 内网文件 exe 落地怎么去做,用什么命令去执行来落地,如果目标主机不出网怎么办?
- 内网域渗透中,利用 ntlm relay 配合 adcs 这个漏洞的情况,需要什么利用条件,responder 这台主机开在哪台机器上,为什么,同时为什么 adcs 这个漏洞能获取域管理员权限,原理 是什么
- 内网域渗透中,最新出的 CVE-2022-26923 ADCS 权限提升漏洞需要什么利用条件,原理 是什么,相比原来的 ESC8 漏洞有什么利用优势?
- 内网渗透中,如果拿到了一套 vcenter 的权限,如何去进一步深入利用?db 文件如何解 密?原理是什么?
- vcenter 机器拿到管理员密码了,也登录进去了,但是存在一个问题,就是内部有些机 器锁屏了,需要输入密码,这个时候怎么去利用?
- 内网权限维持的时候,360 开启了晶核模式,怎么去尝试权限维持?计划任务被拦截了 怎么办?
- mssql 除了 xpcmdshell,还有什么执行系统命令的方式?需要什么权限才可以执行?
- 如果 net group “Domain Admins” /domain 这条命令,查询域内管理员,没法查到,那么 可能出现了什么问题?怎么解决
- 查询域内管理员的这条命令的本质究竟是去哪里查,为什么输入了之后就可以查到?
- 免杀中,如何去过国内的杀软,杀软究竟在杀什么?那么国外的杀软比如卡巴斯基为什 么同样的方法过不了呢?
- 免杀中,分离免杀和单体免杀有啥区别,为什么要分离,本质是什么?
- 打点常用什么漏洞,请简述
- 内网横向中,是直接进去拿一台机器的权限直接开扫,还是有别的方法?
- 钓鱼用什么来钓?文案思路?如何判断目标单位的机器是哪种协议出网?是只做一套来钓鱼还是做几套来钓鱼?如何提高钓鱼成功率?
- 钓鱼上线的主机,如何进行利用?背景是只发现了一个域用户,但是也抓不到密码,但是有域
快手-安全实习生
一面
- 自我介绍
- 问项目
- 针对项目问了很多详细的问题,不便透露,通用问题如下:
- 做项目的时候有没有遇到什么问题,怎么解决
- 做项目学到了什么东西
- 项目中有没有什么地方自己做过优化
- 有没有对网站做过渗透测试
- Linux操作熟悉吗,怎么看进程PID
- 用过什么数据库,答:sqlite,mongodb,面试官好像不太了解没咋问
- 为什么用mongodb
- 了解ES吗(Elasticsearch)
- HTTPS建立过程
- python怎么管理内存
- 深拷贝和浅拷贝区别
- python多进程、多线程、协程有用到吗,都在什么地方用到
- python可以实现真正的多线程吗
- 代码题:ip排序
(转成元组排序就行了,记得把str转成int,不然192会比50大)
输入:iplist = ["1.1.1.1","192.168.1.110","10.192.2.4","10.50.2.3","10.50.2.10","111.120.12.1","172.18.5.112"]
输出:
1.1.1.1
10.50.2.3
10.50.2.10
10.192.2.4
111.120.12.1
172.18.5.112
192.168.1.110
- 写Web API的时候怎么防止SQL注入
- 怎么防XSS
- 了解越权漏洞么,有没有挖过越权漏洞
- 有没有什么比较擅长的我还没问到的
二面
-
问项目
-
项目哪一块时间花的比较多
-
怎么溯源攻击
-
举一个溯源攻击的例子
-
怎么检测webshell
-
sql注入在mysql和sqlserver中有什么区别
-
想找安全开发的岗位还是安全研究的岗位
-
代码题:手机九宫格键盘,输入数字,输出所有的字母组合
如输入23,输出[‘ad’,‘ae’,‘af’,‘bd’,‘be’,‘bf’,‘cd’,‘ce’,‘cf’]
-
讲一下DNS协议的作用、解析过程
-
DNS协议的安全问题
-
实习时间
快手-安全工程师
- 自我介绍
- 介绍项目
- Linux提权方式,脏牛提权原理
- 公司中了勒索病毒怎么办、分哪几步,勒索病毒原理,勒索病毒是怎么传播的
- 如何绕过waf
- SQL注入的种类,怎么防御SQL注入,业务层面防止SQL注入的方法
- 哪些情况SQL预编译无效
- 怎么判断服务器是Windows还是Linux,能不能用ping命令判断
- 了解的安全论坛有哪些
- 平时有什么兴趣爱好
- 学习过程中遇到的最大的挑战或困难
- 反问
快手-安全实习生
一面
- 自我介绍
- 问项目
- 针对项目问了很多详细的问题,不便透露,通用问题如下:
- 做项目的时候有没有遇到什么问题,怎么解决
- 做项目学到了什么东西
- 项目中有没有什么地方自己做过优化
- 有没有对网站做过渗透测试
- Linux操作熟悉吗,怎么看进程PID
- 用过什么数据库,答:sqlite,mongodb,面试官好像不太了解没咋问
- 为什么用mongodb
- 了解ES吗(Elasticsearch)
- HTTPS建立过程
- python怎么管理内存
- 深拷贝和浅拷贝区别
- python多进程、多线程、协程有用到吗,都在什么地方用到
- python可以实现真正的多线程吗
- 代码题:ip排序(转成元组排序就行了,记得把str转成int,不然192会比50大)
- 写Web API的时候怎么防止SQL注入
- 怎么防XSS
- 了解越权漏洞么,有没有挖过越权漏洞
- 有没有什么比较擅长的我还没问到的
二面
- 问项目
- 项目哪一块时间花的比较多
- 怎么溯源攻击
- 举一个溯源攻击的例子
- 怎么检测webshell
- sql注入在mysql和sqlserver中有什么区别
- 想找安全开发的岗位还是安全研究的岗位
- 代码题:手机九宫格键盘,输入数字,输出所有的字母组合
- 如输入23,输出[‘ad’,‘ae’,‘af’,‘bd’,‘be’,‘bf’,‘cd’,‘ce’,‘cf’]
- (我就模拟做)
- 讲一下DNS协议的作用、解析过程
- DNS协议的安全问题
- 实习时间
快手-安全工程师
技术类:
1,自我介绍
2,根据简历逐步问技术,问工具的具体使用
3,SQL注入漏洞,类型,可以造成什么危害
MSSQL与Oracle
SQL注入写入Shell的具体命令
4,XSS,存储型怎么利用,有哪些危害,除了钓鱼
带外COKIES的时候,遇到WAF怎们
5,AWVS登录扫描怎么操作,SQLMAP怎么用,有那几个级别,分别有什么区别,参数
SQLMAP如何扫数据包,本地读文件,指定参数,这些的具体命令
6,如何绕过WAF
7,如何入侵快手
视频上传点、社工,钓鱼邮件
供应链攻击
8,钓鱼邮件你会用那些恶意木马、shellcode
9、NMAP如何静PING扫描,如何看端口开放,如何看系统版本信息,具体的命令是什么
编程题:比较version号不同,写了大概思路,但是细节没处理好,直接给面试官说放弃了,面试官问了思想,然后又问特殊情况,想了一下,实在想不错
经历类:
1,你挖到的比较有意思的漏洞
2,你最近学习的东西,比较有意思的
反问:
1,甲方安全与乙方安全有啥不同,
2,感觉自己答得磕磕绊绊的,希望面试官能给一些后续的学习建议
总结:
面试体验非常好,中间说了好多不会,面试官也没有非常生气,还是完整的走完流程,最后给了很好的学习建议。
对于工具的使用问题问的很细致,但是最近都在手工渗透,复测,自然没有经常用工具,哎,反正感觉每场面试问的都很不一样。
快手-安全工程师
自我介绍
2、介绍下项目
3、介绍实习
4、信息收集
5、给你一个网站,你会怎么去挖掘漏洞
6、sql注入修复意见
7、XSS修复意见
8、弱口令修复意见
9、数据库操作
10、手撕代码,我代码真不行,题目:给你几个版本号如:1.3.2,2.1.4,1.0,让你判断版本号大小
11、操作系统查看最近登陆的用户
12、查看文件的最后300行
13、文件的权限777之类的
14、osi7层
15、tcp3次握手
16、反问