今天为大家各大厂面试题
1.深信服面试题
难度系数:中
一面: 时间太久了,记不太清了,难度相对还是可以的
二面:
~sql注入的原理是什么
– 本质:将用户输入的不可信数据当作代码去执行
– 条件:用户能控制输入;;;原本程序要执行的代码,拼接了用户输入的内容,然后执行
~说说Linux的信号机制?
~Java还记得多少
~python用过哪些库,写过什么项目
//还有一些,时间有点久远,记不太清了。
//说实话,hr貌似水平不是太厉害,而且不仅仅问的web安全知识
//总之大家要放轻松,自信面就行。有几个地方没回答上,以为没过,后来三面打电话过来才知道通过了。
hr面:
~自我介绍
– 讲述自己学习安全的经历
~为什么投深信服
– 自己对网安感兴趣、XXX公司是个大企业;;有很多学长也在XXX工作;;老师在课堂提到过XXX公司不错
~职业规划未来三年、五年
~最有成就的一件事
~还有什么想问的
~对简历信息进行有针对的提问
~想在哪工作
//微信视频面试的
综合来说深信服的面试难度还是可以的,但是时间有点久远,记不太多了
2.启明星辰面试题
难度系数:中
二面: ~自我介绍–>对安全的学习 ~sql注入用过哪些函数
– limit()、concat()、group_concat()、Substr()、Ascii()、Left()
– length()、updataxml()等等吧 ~你的ATP攻击步骤 ~sql注入的原理是什么,怎么防范
– 原理:本质、条件,可以多提一些都有哪些种类(如,显错有哪几种,盲注有哪几种,特别的几种(宽字节、反弹、偏移、DNS、二阶等))
– 防范:第一是正则过滤(安全狗、D盾等等)、第二是数据库预处理等 ~挖掘src的主要是什么漏洞 ~参加过哪些ctf比赛 ~有没有自己写过工具 ~还有没有想问的 ~对哪些方面比较熟悉 ~有没有过app测试的经历 //这也是二面,一面记得也不是太清楚了
反正不是多难 最后一面 ~没啥技术面,主要问问期待什么薪资 ~什么时候可以上岗
3.奇安信面试题
难度系数:高
一面: ~没有自我介绍 ~只要是简历上的基本上都会问 ~MVC框架详细说一下
– http://www.ruanyifeng.com/blog/2007/11/mvc.html ~详细介绍一下sql注入
– 原理、条件、分类等等 ~xss与csrf的区别
– 一个是盗取cookie、一个是利用cookie ~csrf的原理以及如何防范–>这往深入问了
– 访问A站的同时访问了B站(恶意站点)、
– B站脚本让浏览器带着B站准备好的语句去提交A站服务器
– A站没有csrf防护–>被攻击 ~还有什么你擅长的但是没有问道的吗 -->xxe ~讲一下xxe的原理
– 本质:简单的说,就是XML外部实体注入攻击
– 原理:DTD部分去读取敏感的信息、将读取到的信息赋值到实体当中、XML部分使用的过程中,将实体内容输出
– 危害:读取任意文件、执行系统命令、探测内网端口、攻击内网网站等 ~xxe会用到哪些函数
– simplexml_load_string ~文件上传,详细说说,
– 客户端检测:客户端校验、如何判断是前端检测、突破方法、黑白名单机制
– 服务端检测:服务端检测几个常见的手段、制作图片马(隐写) ~常见的web容器有哪些
–apache、tomcat、IIS、Nginx等 ~apache 7.0文件上传黑名单怎么绕过,详细说说
– 改后缀(php. php_ php4 phptml php空格等)
– htaccess文件绕过、win文件流绕过(隐写) ~密码学的对称密码与非对称密码有哪些
– 对称:DES、3DES、AES等
– 非对称:md5、base64等 ~md5是不是对称加密
– 不是 ~apache可以执行php文件吗
– 可以 ~学过哪些数据库,(了解哪些数据库)
– mysql、Oracle、sql servers、access ~说说反序列化的原理
– 序列化:将php中对象、类、数组、变量、匿名函数等,转化为字符串 方便保存到数据库或者文件中(将状态信息保存为字符串)
– 反序列化: 将字符串保存为状态信息 ~反序列化会用到哪些函数
– php的unserialize()函数
– 反序列化貌似hr更想问java的
– 更多请百度:WebLogic 反序列化,将这个理解透彻和hr聊问题就不大了 ~xxe有没有实战过 ~java的多线程 ~python有过哪些项目,写过什么东西 ~之前python学到什么地方
4.京东面试题
难度系数:中
一面: (安全研发部门面试) ~首先根据简历提问 ~问我的一个项目完成的怎么的样了,//简历中的 ~Java基础怎么样,
~有没有自己动手写过一些工具 ~有没有想过自己以后要写一下扫描器 ~sql注入的简单原理及其如何防御 ~有没有了解过反序列化
尤其是Java方向的 ~数据结构还记得多少 ~src主要挖掘一些什么类型的漏洞 ~了解的MSF框架怎么样
~数据库主要了解的哪些,主要学的什么数据库 ~ssrf的原理及其防御 —> 这有深入
– 定义:简单说,利用某站点发送请求攻击其他目标站点(借刀杀人)
– 聊聊主流防御 - 防外不防内
– 危害:内网渗透(读取敏感文件、探测端口–>6379端口的Redis可以说说)
– 防御:限制请求的端口、过滤返回的信息、黑名单内网ip等
5.知道创宇面试题
难度系数:中
一面: 简单的自我介绍一下吧 了解sql注入吗 本质、 条件、分类、攻击步骤 sql注入怎么防范呢 正则过滤、数据库预处理
数据库预处理怎么突破呢 limit后是不可控的 知道httponly吗 主要是防止xss偷取cookie的 sql注入如何getshell
回答写一句马。mysql有两个两个函数可以写文件 //dumpfile与into_outfile
额外提到6379端口靶场redis貌似就是直接写一句马,菜刀连接 mysql写文件需要什么条件
用到into_outfile或者dumpfile函数 要有写的权限,知道绝对路径,能用单引号,要有file权限 了解内网渗透吗
6.阿里面试题
难度系数:高
笔试:(无聊) 测试面试者综合水平,题目类似公务员(不是技术性得题目) 一面:(简单) 简单了解情况,技术面加hr面
比如自我介绍,大学几年最得意(骄傲)得事 你最擅长的领域,你得优缺点 技术问题就不说了,比较基础
(需要注意的是,比起攻击,更在意的是如何修复、加固) 最后,还有什么要问我得吗 二面:(综合) 简历中的各类项目
什么级别?(国家级、省级等) 怎么样了,进度如何? 遇到哪些问题?怎么解决的? 用到哪些框架、什么语言、多少成员
如何分工,你负责什么?详细说说 以上每一个话题都会继续追问下去,直到你回答不上来 密码学 了解哪些加密算法,说说
对称加密与非对称加密的应用场景 还有一些,想不起来了 因为这一块我学的不是太好,就不多说了 以上每一个话题都会继续追问下去,直到你回答不上来
ctf 负责哪些题型、在团队中的角色 拿过哪些奖项、参加过哪些赛事 说说遇到的一些(印象深的题目)
以上每一个话题都会继续追问下去,直到你回答不上来 除安全之外,还参加过哪些类型比赛? 比如:全国大学生建模比赛 人工智能国赛、大数据国赛等
以上每一个话题都会继续追问下去,直到你回答不上来 你的优点是什么?有什么你认为你能做,别人不能做的?
这里可以回答白盒审计,举例一些自己的cnvd证书(较高的加分项) 以上每一个话题都会继续追问下去,直到你回答不上来 Java语言,
学的怎么样?拿过什么关于java编程算法的奖项? (面试我得hr是主攻java的) 以上每一个话题都会继续追问下去,直到你回答不上来
计算机网络 说说七层模型、 网络层动态连接的有几个协议、区别是什么(有什么异同) 以上每一个话题都会继续追问下去,直到你回答不上来
web安全 sql注入的防御方法,如何避免出现sql注入 反序列化相关问题(这又联系到了java) 你还会什么?多说说你觉得你会别人不会的?
你的技能里边最擅长什么? 以上每一个话题都会继续追问下去,直到你回答不上来 经历 有哪些较难忘的校园经历? 遇到哪些棘手问题?如何解决的?
大概就这么多内容吧,其中web方向的内容并不太多,更多的是综合知识掌握。
多说一点,阿里相对来说对学历看重一些,名牌985院校本身就是加分项; 此外最好能拿到几本cnvd证书、月榜上几次
附带:稍微总结一下面试的一些难点
1.如何分辨base64
长度一定会被4整除
很多都以等号结尾(为了凑齐所以结尾用等号),当然也存在没有等号的base64
仅有 英文大小写、数字、+ /
base64不算加密,仅仅是一门编码
2.如何分辨MD5 //(特点)
一般是固定长度32位(也有16位) // 16 位实际上是从 32 位字符串中,取中间的第 9 位到第 24 位的部分
容易加密
细微偏差得到最终的值差距很大
md5加密是一种不可逆的加密算法 //不过貌似我国的王小云院士通过碰撞算法破解了
最后,md5经过计算得出128位2进制,正常的32位是二进制转换为16进制
在线网站一般是通过每日加密存储到数据库,与用户查询做对比
3.栅栏密码
类似藏头诗,凯撒密码是栅栏密码的一种
4.sqlmap如何爆出当前库
–current -db
5.namp中区分大小写吗
区分大小写!
—O 操作系统检测 —A 操作系统与版本检测
6.Oracle的默认端口 //相似的问题,mysql,sql server的端口
分别是1521 3306 1433
7.mysql的管理员密码一般存放在哪
//连接登录mysql的 不是网站后台登录密码
mysql库下的user表中—>一般是经过md5加密后的
8.cdn的作用
存数据,缓解主服务器压力
中转数据
一定程度上保护了主服务器 —》 被Ddos后,打了一个假的服务器
9.如何确认网站真实IP
子域名,有可能是真实的IP
国外站点去ping
让服务器给自己发邮件----> 打开邮件–>右侧更多设置---->显示邮件原文---->直接看到
10.sql注入,禁用substr()函数,用哪些函数替代
mid()函数 <—mysql
substring()函数 <—mysql,sql server
left()函数 <—mysql
11.如何防范sql注入
正则匹配过滤 <—主流防护,比如,安全狗与D盾
使用数据库中的预处理
原理:先将查询语句固定
通过函数将传参变为字符串
拼接字符串去执行
你的关键字根本不会当作关键字去执行
根本思路: 避免数据变成代码被执行,时刻分清代码和数据的界限
12.ssrf的危害
重点是突进内网,内网渗透
读取敏感文件 —>file协议
探测端口 —>dict协议
进阶之6379端口的Redis (可以看作一个数据库) --> 默认无密码 —> 写入一句马
13.web容器的解析漏洞
忘了收集了,大家先自行收集一下吧
有时间会补上的
14.同源性法则
解释一下,何为同源:协议、域名、端口都一样就是同源 //
http、https、
a.com、b.com
url:80、url:90
不过在学习之前,我们需要有一个高效的网络安全学习计划,这能帮助我们少走很多弯路,快速上手和就业!
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和Javascript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
【“脚本小子”成长进阶资源领取】
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。