需要准备的几个方向
- 简历
- 自我介绍
- 计算机网络
- 操作系统(操作系统原理,Linux,Windows)
- 数据库
- 算法(Leetcode)
- 编程语言(Python,C++,go等)
- 安全知识(很多很杂,建议根据自己擅长的方向和所投递的岗位进行针对性学习)
安全岗职位要求
-
熟悉osquery等开源HIDS工具,阅读过工具部分源码或进行过二次开发
-
有过实战经验(包括src、众测、护网等)
-
了解Redis/docker/MySQL/Java框架等常见中间件高危漏洞原理
-
精通 PoC、Exp、规则、指纹等编写的能力
-
熟练掌握Cobalt Strike、Empire、Metasploit等后渗透工具的使用;
-
入侵检测
-
熟悉某一安全细分领域,如内网渗透、移动安全、恶意软件分析、CTF竞赛等
-
掌握白帽子攻击流程及常用白帽子工具,熟悉攻击技术,具有渗透常见服务器的经验
-
熟悉热门流行的攻击工具,能够灵活运用各类小工具,并能开发相关的小工具
-
熟悉web、内网、iot方面的渗透流程和攻击技术,有过渗透测试、攻击模拟经验
-
实践落地过完整SDL威胁建模方面的项目经验
-
有实际用过机器学习算法解决过实际问题的项目经验
-
有实践过云安全落地解决实际问题的项目经验
-
熟悉windows、Linux系统及常用命令,熟悉WEB服务器常见配置
-
了解Owasp Top10漏洞原理,具备渗透测试的实施和交付能力,熟悉渗透测试的步骤和方法
-
了解常见企业安全防御技术,有防护绕过实践经验
-
了解基本的Linux、Mysql、Redis、Nginx、DDOS等技术知识
-
参与各类CTF安全竞赛获奖者优先,参与各大SRC、众测平台并排名靠前者优先
-
网络安全法律
-
独立挖掘到 k8s、容器逃逸、虚拟机逃逸相关漏洞的研究者优先;
-
熟悉白盒审计,能对python、go、php代码进行审计;
-
快手招聘要求
-
1、熟练使用SQLmap、Burp Suite、Metasploit等常见安全测试工具,了解原理,熟悉代码并且对其进行过二次开发
-
2、在安全社区比较活跃,提交过高质量安全漏洞或者安全分析文章
-
3、开发社区活跃,有开源过安全相关代码
-
4、有互联网安全团队实习经验
-
-
字节招聘要求
-
linux环境开发能力
-
shell
-
有 Windows/Linux 客户端安全攻防的经验,或了解 Android/iOS 移动安全
-
对安全合规,安全管理有了解
-
数据分析,挖掘,机器学习
-
React/Vue前端
-
对 Web 安全、服务端安全、客户端安全、移动安全、无线安全、物联网安全等其中一项或几项有深入研究
-
面试技巧
面试的节奏最好把握在自己手里,我们不可能每个方面都会,让面试官随便问的话,很大概率要挂。可以在自我介绍的时候,将你的学习历程讲清楚,让面试官知道你会什么,接触过什么,让他知道你大概会的东西的方向。其次,基础要扎实,漏洞的原理、种类、防御方式、应用等都应该十分熟悉,而且最好准备一些比较深的内容,开始的时候不说,等他问了再说,效果更好。然后,就是项目的经验了,这种东西要你确实做过且了解很深的才行,不然很容易给面试官留下差印象。还有就是HR,技术面你可以和面试官扯蛋、闲聊、开些玩笑也无所谓,但HR最好就不要了,正经点,别什么真话都往外说,别给他理由把你pass了
优快云大礼包:《面试题资源包》点击免费领取https://mp.weixin.qq.com/s/Twl2n5QmhrIgQZK877s64A
安全相关面试题
1.渗透测试执行标准的7个阶段
-
前期交互
-
信息收集
-
威胁建模
-
漏洞分析
-
漏洞利用
-
后渗透
-
编写报告
2.SQL注入的无回显形式是怎样的?
时间盲注
布尔盲注
在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显,我们在读取文件、执行命令注入等操作时无法明显的确认是否利用成功,这时候就要用到我们的DNSlog注入。
DNS log注入(利用DNS在解析的时候会留下有用的日志)DNSlog注入只能用于windows系统
作为攻击者,提交注入语句,让数据库把需要查询的值和域名拼接起来,然后发生DNS查询,我们只要能获得DNS的日志,就得到了想要的值。所以我们需要有一个自己的域名,然后在域名商处配置一条NS记录,然后我们在NS服务器上面获取DNS日志即可。
不论是bool型盲注还是时间型盲注,都需要频繁的跑请求才能够获取数据库中的值,在现代WAF的防护下,很可能导致IP被ban。我们可以结合DNSLOG完美快速的将数据取出。如遇到MySql的盲注时,可以利用内置函数load_file()来完成DNSLOG。
3.请简述下XSS和CSRF的区别?
4.Json劫持
5.验证码绕过
6.访问控制
7.恶意代码的检测技术
8.简述ARP欺骗的原理及防范措施
9.缓冲区溢出攻击是通过向程序的缓冲区写入超过预定长度的数据,从而破坏程序的堆栈,导致程序执行流程改变
10.端口转发的原理
11.中间人攻击
12.内网渗透的流程
13.sql注入写马有哪些方式?
14.同源策略的绕过方式?
15.后渗透
16.WAF及绕过
18.webshell:就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
19.域名劫持:通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站的目的或者蓄意或恶意要求用户访问指定IP地址(网站)的目的。
20.shell:客户端连接服务器端,想要获取服务器端的shell,那么称为正向shell,如果是客户端连接服务器,服务器端想要获取客户端的shell,那么称为反向shell.
21.OWASP TOP10
22.宽字节注入?
23.上传webshell步骤
-
进入后台寻找上传点
-
尝试正常上传
-
木马上传
-
使用菜刀连接
24.图片上传拿webshell
-
正常上传头像并抓包
-
将数据包中图片的内容部分删掉
-
将大马压缩并写入到原本图
-
上传之后返回包中得到绝对路径
25.代码审计
26.mysql 5.0版本前后有什么区别
MySQL 5.0以上版本存在一个存储着数据库信息的信息数据库--INFORMATION_SCHEMA ,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。 而5.0以下没有。
28.谈谈在WEB类安全问题的应急处置过程中web日志溯源攻击路径的思路?
29.心脏滴血漏洞产生的原因,危害都有哪些?
30.Apache,IIS,Nginx的文件解析漏洞都是如何解析和利用的?
31.linux主机留后门的各种方式
32.sqlmap源码
33.WAF分类
-
云WAF
-
主机防护软件
-
硬件IPS/IDS
判断:
-
SQLmap: sqlmap.py -u "URL" --identify-waf --batch
-
手工:?aaa=1 union select 1,2,3%23
绕过方式:
-
判断是什么WAF
-
判断规则
-
绕过
34.IDS入侵检测、IPS入侵防御
35.getshell方法
36.一句话木马
37.判断是否能进行UDF提权
38.检测ssh日志
39.Arp欺骗
40.00截断
41.漏洞等级分类
42.CDN(内容分发网络)的绕过
-
扫描网站测试文件
-
子域名所在IP段
-
国外访问
-
查询域名历史解析记录
-
邮箱反弹
-
不同DNS域名解析(nslookup www.example.com 8.8.8.8)
-
敏感文件泄露
-
APP抓包
43.同源策略
44.几种安全概念
(PoC通常是无害的,Exp通常是有害)
POC:全称 ' Proof of Concept ',中文 ' 概念验证 ' ,常指一段漏洞证明的代码。
EXP:全称 ' Exploit ',中文 ' 利用 ',指利用系统漏洞进行攻击的动作。
Payload:中文 ' 有效载荷 ',指成功exploit之后,真正在目标系统执行的代码或指令。
Shellcode:简单翻译 ' shell代码 ',是Payload的一种,由于其建立正向/反向shell而得名。
45.Tamper脚本
46.SQL注入中
substr() 截取字符
concat() 连接字符串
查询用户updatexml(1,concat(0x7e,(select user()) ,0x7e),1)--+
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值
改变XML_document中符合XPATH_string的值
@@datadir——数据库路径
和 -- (有个空格)表示注释,可以使它们后面的语句不被执行。
原因是url中#号是用来指导浏览器动作的(例如锚点),对服务器端完全无用。所以,HTTP请求中不包括#
将#号改成url的编码%23就可以了
-
SQL注入原理
-
SQL注入的种类?
-
SQL注入的绕过有了解过吗?有绕过那些WAF?绕WAF的方法有哪些?
-
介绍一下你的SQL注入流程
-
SQL注入一开始用来判断数据库类型的语句是什么?
-
讲一下sql写入webshell的条件,如果你在的目录没有执行权限怎么办
-
讲讲sql注入的条件
-
SQL注入里面有一个into outfile函数有什么作用?
-
xp_cmdshell有了解过吗?能用来做什么
-
你有了解过那些数据库的sql注入?简单说一下,你是怎么快速判断它属于那个数据库的呢?
-
时间延时注入的原理?sleep()函数不能用你一般会怎么处理
-
HTTP头注入了解过吗?注入点一般存在于那些地方
-
SQL注入的防护方法有哪些呢?预编译的原理是什么呢?
-
Orderby注入了解吗
-
讲一下Get型和Post型的sqlmap语句
47.awvs和appscan
-
扫描器的工作原理
-
两者有何不同
48.burpsuite常使用那些模块 尝试过burpsuite和其他工具联动吗
49.给你一个登录框,可能存在什么样的漏洞?
50.假如现在给你一个网站,你会怎么样去进行渗透测试,多说一下你的思路
1)信息收集, 1,获取域名的whois信息,获取注册者邮箱姓名电话等。 2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。 3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞 4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。 5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针 6,google hack 进一步探测网站的信息,后台,敏感文件
2)漏洞扫描 开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等 3)漏洞利用 利用以上的方式拿到webshell,或者其他权限 4)权限提升 提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linu***牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
由于篇幅原因无法完全展示所有的面试题,但是这份完整版的面试题PDF资料已经上传,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】