渗透测试/安全服务初级面试题

第一部分: 

1、为何一个 MYSQL 数据库的站,只有一个 80 端口开放?

  • 答案: 可能是因为数据库端口(例如3306)没有对外开放,或者端口被修改了而未扫描到。

2、一个成熟并且相对安全的 CMS,渗透时扫目录的意义?

  • 答案: 扫描目录可以发现敏感文件、备份文件、配置文件等,帮助发现潜在的安全问题。

3、在某后台新闻编辑界面看到编辑器,应该先做什么?

  • 答案: 首先查看编辑器的名称和版本,然后搜索公开的漏洞,以寻找是否存在已知的漏洞可利用。

4、审查上传点的元素有什么意义?

  • 答案: 审查上传点可以发现是否存在文件上传漏洞,以及是否能上传恶意脚本或文件进行攻击。

5、CSRF、SSRF、XSS 及 XXE 的区别

答案:

  1. XSS (跨站脚本攻击): 攻击者向用户注入恶意脚本,利用用户的浏览器执行。
  2. CSRF (跨站请求伪造): 攻击者利用受信任用户的权限执行非意愿操作。
  3. XXE (XML 外部实体注入): 攻击者利用 XML 解析器漏洞,执行恶意操作。
  4. SSRF(服务端请求伪造): 攻击者通过操纵服务器发起的请求,使其访问攻击者选择的内部系统或资源。

6、3389 无法连接的几种情况?

  • 答案: 3389 端口未开放、端口被修改、防火墙拦截、处于内网需要端口转发等原因。

7、列举出 OWASP Top 10 2019?

  • 答案: 包括注入、失效的身份认证、敏感信息泄露、XXE、失效的访问控制、安全配置错误、XSS、不安全的反序列化、使用含有已知漏洞的组件、不足的日志记录和监控。

8、业务逻辑漏洞的例子及修复方式?

  • 答案: 包括密码找回漏洞、身份认证漏洞、验证码漏洞等。修复方式涵盖强化验证流程、使用安全的验证码机制、限制密码重置请求等措施。

9、目标站无防护,上传图片可以正常访问,上传脚本格式访问则 403,什么原因?

  • 答案: 可能是服务器配置只允许特定类型文件执行,尝试更改脚本后缀名可能绕过限制。

10、目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,如何利用?

  • 答案: 可以利用此提示进行用户名爆破攻击,试图找到存在的用户名并尝试进一步的攻击,如密码爆破或利用可能存在的 SQL 注入漏洞。

11、有关注过现在最新的漏洞?或你最近复现的漏洞是啥

答案:需要自己准备 

12、有挖过漏洞或代码审计经验么?能简单讲一下成果吗?

1)SQL 注入漏洞:

问题: 用户输入未经过正确过滤而直接传递到 SQL 查询中,可能导致

修复建议: 使用参数化查询或预编译语句来处理用户输入,而不是直接拼接 SQL 查询字符串。

2)恶意 SQL 代码被执行。

修复建议: 使用参数化查询或预编译语句来处理用户输入,而不是直接拼接 SQL 查询字符串。

3)跨站脚本(XSS)漏洞:

问题: 用户输入未经过适当的转义而直接嵌入到网页中,恶意脚本可能被执行。

修复建议: 对用户输入进行适当的 HTML 转义,确保任何插入到网页的内容都是安全的文本而不是执行的脚本。

4)文件上传漏洞:

问题: 用户可以上传恶意文件(如含有恶意代码的文件)到服务器,可能导致任意代码执行或者服务器被入侵。

修复建议: 对上传的文件进行严格的类型验证、文件名验证、内容检查和存储路径限制,确保只有安全的文件能够上传和访问。

5)权限问题:

问题: 用户能够访问他们没有权限的资源或执行超出其权限的操作。

修复建议: 实施强制访问控制(如角色基础的权限控制)、最小权限原则、合理的会话管理和身份验证机制等。

13、远程访问内网的方法

  • 端口映射

我们可以通过端口映射的方式实现远程访问内网服务器。

  • 虚拟专用网络

另外一种方式是通过虚拟专用网络(VPN,Virtual Private Network)来实现远程访问内网服务器。 

14、如何发现 洪水攻击(DDOS)

  • 网络缓慢
  • 特定网站无法访问
  • 垃圾邮件数量激增
  • 网络连接异常断开
  • 访问被拒绝

15、cc 攻击

CC攻击是一种DDoS攻击的类型,主要通过大量HTTP GET请求来使服务器过载,从而导致服务不可用,影响正常用户访问。

攻击方式: 攻击者发送大量的HTTP GET请求,超过服务器处理能力,造成服务器资源耗尽,影响服务运行,如数据库连接用尽等。

防御方法:

  1. 缓存技术防御: 利用缓存来减轻对后端服务器的压力。大型互联网企业通常使用CDN节点来缓存内容,提高系统的整体处理能力。

  2. JavaScript人机识别方案: 当攻击绕过缓存时,引入JavaScript人机识别方案。服务器返回包含特殊JavaScript代码的响应,正常用户浏览器能够处理,而攻击程序则会被拦截,减少对服务器的影响。

  3. 特殊JavaScript代码应对: 检测到攻击行为时,服务器返回带有特殊JavaScript代码的响应。这种方式不影响正常用户,但能有效阻止或减弱攻击的影响力。

  4. 监控与响应: 实时监控网络流量和服务器性能,及时发现异常流量和攻击行为。建立自动响应机制,如封禁攻击源IP或启动其他反制措施,保护服务器和网络安全。

16、有用过什么安全设备?

17、如何绕过CDN(参考

  • 子域名

子域名查询:

在一些网站中有可能只加速了主站,而一些其它子域名和主站在同一个C段或者同服务器

  • 国外访问

一些CDN只加速了部分地区,那么在为加速地区的访问就是真实的主机ip

  • 邮件访问

在进行邮件发送时邮件的内容源码里面包含了主机的真实IP

18、如何使用搜索引擎搜索目标的旁站信息

fofa为例:(直接搜索域名)

  • 语法:domain="xxx.com"

 

19、给你一个网站你如何发现网站的后台

 图片来源:渗透技巧 | 查找网站后台方法总结整理-腾讯云开发者社区-腾讯云 (tencent.com)

20、反序列化漏洞原理

        序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,从硬盘中读取数据,然后再将其反序列化便可以得到原始的数据。 

        漏洞原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行、SQL注入、目录遍历等不可控后果。

21、有没有做过渗透测试

经常在fofa上边搜索资产,探测资产是否存在漏洞。有时也会去漏洞盒子平台找公益src去测试

22、平时渗透用手工还是工具多一些

测试的时候手工测试和工具结合测试的

23、是否用过防火墙、ips、ids等设备?

公开的有用过 firewall,iptables ,产商的产品根据自己的情况说

24、会做一些整理文档的工作吗?

可以对文档进行整理和优化。可以熟练使用office等工作软件

25、了解那些最新的漏洞

最近刚出了向日葵、天融信的vpn没公开漏洞

26、如何做linx的安全加固和病毒分析

加固:对主机进行基线加固

分析:可以通过一些在线分析网站,去分析病毒样本

27、是否用过情报社区

微步、奇安信威胁情报社区

28、给你一个网站你如何进行渗透测试?

  • 信息收集阶段

    1. 获取域名的 whois 信息。
    2. 查询服务器旁站和子域名。
    3. 查看服务器操作系统版本和中间件漏洞。
    4. IP 地址端口扫描和漏洞探测。
    5. 扫描网站目录结构和敏感文件。
    6. 使用 Google Hacking 进一步探测敏感信息。
  • 漏洞扫描阶段: 检测漏洞如 XSS、SQL 注入、命令执行等。

  • 漏洞利用与权限提升: 利用漏洞获取权限,比如 Webshell、服务器提权等。

  • 日志清理及报告: 清理测试痕迹,并输出渗透测试报告和修复建议。

29、用过那些web扫描工具

xray、awvs、appscan

30、用过那些主机扫描工具

nessus、极光、goby

31、在项目时如果遇到的0day漏洞,该怎么办

看0day相关的网络连接日志,分析链接的流量,找到攻击代码,根据攻击代码做防护加固

32、做安全服务期间具体工作是什么

渗透测试,基线扫描,主机漏洞扫描,弱口令扫描,安全事件排查,重大节日保障,安全设备上线及维护等。

33、测试是不是只使用工具

不是,会使用burp手工测试

扩展:

自我介绍示例:

        面试官您好,我叫xxx,xxx年毕业,非常荣幸能有机会参加这次面试。我曾有两段工作经历,第一段是xxx,第二段是xxx。在这段时间里,我对网络安全产生了浓厚的兴趣,尤其是对网络攻击防御、漏洞分析和安全策略等方面。我通过自学和项目实践,积累了一些相关经验,并参与了一些网络安全相关的项目,提升了自己的技术能力。未来,我希望往这个方向深入发展,希望能得到来公司任职的机会,谢谢!

有时间可以看看这个篇文章:【面试】面试必问12题,死亡回答 VS 满分答案都在这!

所有的面试其实都是背出来的,提前做好准备,祝大家都能拿到好Offer! 

场景题:

1、你在做监测的时候,发现一条cs连接成功的告警,这种情况下,你该如何协助客户下一步处理

  1. 如条件允许,服务器断网
  2. 登录服务器排查相关文件位置,进程等
  3. 查看返连的服务器ip,进行溯源

2、如果你发现一个接口存在sql注入漏洞,报告提交至研发后,研发不知道怎么修复,要求你说详细点,你会怎么做?

  1. 检查输入:验证整数参数不为空且为数字,字符串参数仅允许特定字符(如 [0-9a-zA-Z])。

  2. 转义特殊字符:对输入中的特殊字符(如 ") 进行转义,防止它们影响 SQL 查询。

  3. 定制错误信息:使用自定义错误信息来隐藏原始异常,减少泄露信息。

3、如果一个漏洞研发未修复完成,客户明天必须上线,因为会有重要活动,这种情况下,客户询问你,你有什么处理的方法和建议?

WAF写条规则、安全狗之类的也能起到一定作用

4、打过补丁为什么扫描器还能扫到漏洞?

  1. 扫描器只扫描了版本,需要进一步确认
  2. 需确认打的补丁能否修复该漏洞
     

5、都接触过那些厂商

安恒、深信符、奇安信,不过主要是奇安信

6、接受过培训吗

没有大学刚开始就接触网络安全,自己对网络感兴趣然后自己开始实习

7、介绍一下之前的项目中主要负责哪些工作?

有参加过七月份的护网,主要设备有天眼,IPS. WAF等对告警进行分析,确认是攻击事件后,进行IP封堵工作
审计:对系统相关人员进行了现场调研,对系统的数据安全风险保障能力进行核实验证。完成数据安全核查,并出具数据安全合规性评估报告。
渗透: 对上线前的网站进行安全检查,找出安全漏洞,提出整改建议,协助整改

8、能否独立完成渗透测试

可以,有对网站做过测试,编写完整的报告

9、平时挖洞还是验证漏洞多些?

验证相对多一些

10、企业的防护架构有哪些

网络分为内网环境和外网环境,外网出入空配置一些防火墙设备;配备的有日志监控系统;还有蜜罐用来事先洞察攻击者的手段

11、渗透测试报告是你们提供的嘛

测试之前回询问客户,看是否使用客户那边的渗透测试报告模板

12、是否用过绿盟的扫描器

用过,极光

13、天眼简单配置可以吗

系统采用旁路部署的方式,接入到所监控网络的交换机镜像端口处。不会破坏系统原有的网络架构

14、印象中爆发过的漏洞

1og4j、spring boot代码执行,structs2

安全服务

1)怎么在流量里看出来是一个恶意的,确定是攻击的告警

以sql 注入为例:

  1. 特殊函数和Payload检测

    • 查看HTTP请求参数中是否包含典型的SQL注入payload,如union+selectconcaterror-basedboolean-based等。
    • 检查是否有不常见的SQL函数或操作符,如information_schema相关查询,时间延迟函数(如sleep())等,这些通常不会出现在正常业务流量中。
  2. 编码和转义检测

    • 分析请求中的参数是否经过了特殊编码或转义,这可能是攻击者尝试绕过输入过滤和检测的手段。
  3. 响应内容分析

    • 检查服务器响应是否包含异常或不期望的内容,如数据库错误信息(如MySQL的错误信息),或者是否返回了敏感数据(如数据库表结构、用户名、密码等)。
  4. 日志和异常流量分析

    • 分析服务器端的日志,特别是数据库服务器的日志,查看是否有异常的SQL查询或者拒绝服务攻击的迹象(如大量的查询或异常查询频率)。
  5. 网络层面的分析

    • 使用网络监控工具分析流量,观察是否有大量的SQL查询请求,或者异常的数据库响应时间(可能暗示着时间延迟攻击)。

2)堡垒机应急

更新版本,更换口令 (改密码)

3)怎么分析大型日志

根据轻重缓急进行筛选查看,从高危到低危,从rce到目录遍历这种等等

4)会做应急吗

  1. 先封禁ip
  2. 确定这个木马传到哪个服务器上了
  3. 隔离受攻击的服务器所在区域
  4. 排查木马(看进程linux(ps -aux、top\kill -9 xxxx)windows(tasklist、taskkill /pid xxxx)、看开机自启、看计划任务windows(schtasks /query)linux(cron))
  5. 持续跟踪、写报告

5)平时绕过waf吗,怎么绕的

绕空格/**/、/*!*/、+、%09、%0a、%00、括号
关键字16进制、char()、字符串拼接
等价函数替换sleep()==benchmark()、if()==case when then else end、ascii()==ord()、substr()==substring() 

6)基线怎么做

基线规定了一系列标准,比如密码要求一个月换一次、要求密码满足复杂度要求、要求关闭445端口
基线加固就是上服务器里面挨个检查这这些基线项目是否合格
可以手工检查,但是手工做重复工作很麻烦,所以会有脚本或者工具来帮助完成这些任务

7)看过流量监测设备吗,如果有一个告警他像是攻击成功,但是他是一个误报,这个时候你怎么办

从请求头、请求体和响应体判断,看具体流量特征来判断是否是误报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗蛋的博客之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值