字节跳动 渗透测试实习生 技术面面经

0x00 前言

这几天面了字节跳动的渗透测试实习生岗位,前前后后三场技术面加起来 大概 2个多小时的样子

面试用的是牛客网,第一次这么正式的面试所以面试还是蛮紧张的,至此记录一下

大致面试内容是这样的 也有可能有遗漏的,问的太久了hh 有的问题都忘记了

0x01 一面

cors & jsonp

简单的说一下同源策略

说说cors 和 jsonp分别是干什么的 为什么会出现这两个漏洞,以及如何进行修复

cors 和 jsonp 在修复过程中 token 是如何传递token的

cors如果是不允许的域发起了请求,cors会进行怎样的返回

jsonp的token跟在哪个位置

jsonp referr校验能否百分百防护吗,我说的是不能 其实是可以的 orz

SQL注入

给了一个url http://www.example.org?id=1 这个网站要让他爆出version有哪些办法,分别将payload写出来

(联合注入,布尔注入,报错注入,时间盲注,dns数据带出注入,堆叠注入)

dns数据带出要满足哪些条件

如果给你一个网站你如何判断后端是什么数据库

SQL注入如何进行修复,预编译能百分百修复吗 (在order by 处就不能使用预编译)

那么order by 处如何修复

XSS

简单介绍一下xss,说一下xss的三种类型,分别是干嘛用的?有什么区别?

xss的如何进行防御

xss 后端如何修复像script复写的情况 (我这里回答的是将script替换成 __ 等其他特殊符号让其无法构成完整的标签)

xss对用户的输入进行实体转义一定能够防御吗?(不能,需要考虑用户输入在script中的情况)

用户输入在script标签中应该如何进行防御

svg标签利用图片xss有了解过吗

xss中httponly secure 和csp分别是干什么用的,如何实现的

SSRF

简单说一下SSRF ,漏洞原理和漏洞危害

SSRF的DNS重绑定有了解吗,如何修复

SSRF的利用手段,哪些协议可以利用

结合内网redis 如何利用,getshell的手法

redis getshell中什么样的操作比较危险

如果dnslog接受到了dns请求能确保有ssrf吗,请说出为什么

代码

一个代码题,json里面的数值替换,有 [] 的 有{} 有字符串的,如何将url参数对应的数值进行替换

这里使用递归算法

0x02 二面

问了一些经历,怎么接触安全的

看了看我的博客,问了我想做什么方向

给你一个站点你会怎么做 (这里可以说很多当时陆陆续续写了很多,大致就是从信息搜集这些开始说起 巴拉巴拉说了一大堆)

说一下redis中getshell的点

前端加密是如何实现的,以及前端加密的过程是怎么样的

SSRF 如何进行修复

如果给你一个cms,如何给开发人员一些建议 (也是巴拉巴拉一大堆,基本把所有漏洞修复和原因全说了一遍)

cookie和session有什么区别 ,后段session是如何进行保存的

jwttoken知道吗,jwttoken是什么,有什么安全上的风险,以及jwttoken中每一段分别代表了什么

app,逆向有了解过吗

了解gopher协议吗,说说看gopher协议

代码

[1.2,1.12,3,5.5] 这里 1.12 比 1.2 大如何排序

0x03 三面

三面问的不多

首先问了一下之前实习的时候做的事情,做了哪些

如果现在要你写一个检测命令注入的脚本,你会怎么写,有哪些要注意的地方,如果别人的脚本检测出来了你的脚本没检测出来你觉的你的脚本会存在什么问题,脚本检测过程中如果没有回显你会怎么做

(这里在写脚本注意的地方会追问的比较多 会一直问 还有呢)

如果你发现这个地方能进行命令执行,有哪些符号是可以的

当你利用命令执行进行反弹shell的时候如何做比较隐蔽,如果不能用bash python 还能用什么,如果写定时任务反弹shell不成功你会怎么做

看到我简历上有写挖过src,于是问了关于逻辑漏洞那块的信息,支付漏洞、越权漏洞、敏感信息泄露,如何发现的

0x04 总结

最后三面技术面都通过了,面试官人都很nice ,遇到稍微卡壳的地方都会给你时间让你思考。

总体来说问的还是web漏洞那块,就是有些地方问的比较细致,估计是实习生 总体问的其实不算很难

但是在面试过程中感觉自己的技能栈太过于单一,还是得继续学习!

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像