欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 渗透测试初级面试题

渗透测试初级面试题

2025/2/23 10:49:09 来源:https://blog.csdn.net/weixin_43263566/article/details/140462616  浏览:    关键词:渗透测试初级面试题

第一部分: 

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

    • 答案: 可能是因为数据库端口(例如3306)没有对外开放,或者端口被修改了而未扫描到。
  2. 一个成熟并且相对安全的 CMS,渗透时扫目录的意义?

    • 答案: 扫描目录可以发现敏感文件、备份文件、配置文件等,帮助发现潜在的安全问题。
  3. 在某后台新闻编辑界面看到编辑器,应该先做什么?

    • 答案: 首先查看编辑器的名称和版本,然后搜索公开的漏洞,以寻找是否存在已知的漏洞可利用。
  4. 审查上传点的元素有什么意义?

    • 答案: 审查上传点可以发现是否存在文件上传漏洞,以及是否能上传恶意脚本或文件进行攻击。
  5. CSRF、XSS 及 XXE 的区别及修复方式?

    • 答案:
      • XSS (跨站脚本攻击): 攻击者向用户注入恶意脚本,利用用户的浏览器执行。
      • CSRF (跨站请求伪造): 攻击者利用受信任用户的权限执行非意愿操作。
      • XXE (XML 外部实体注入): 攻击者利用 XML 解析器漏洞,执行恶意操作。
      • 修复方式: 分别包括输入验证、Token 防护、HTTP Only 设置、Referer 检查、XML 解析器配置等安全措施。
  6. 3389 无法连接的几种情况?

    • 答案: 3389 端口未开放、端口被修改、防火墙拦截、处于内网需要端口转发等原因。
  7. 列举出 OWASP Top 10 2019?

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

    • 答案: 包括密码找回漏洞、身份认证漏洞、验证码漏洞等。修复方式涵盖强化验证流程、使用安全的验证码机制、限制密码重置请求等措施。
  9. 目标站无防护,上传图片可以正常访问,上传脚本格式访问则 403,什么原因?

    • 答案: 可能是服务器配置只允许特定类型文件执行,尝试更改脚本后缀名可能绕过限制。
  10. 目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,如何利用?

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

方便记忆版:

  1. MySQL数据库只有80端口开放的原因

    • 站库分离或端口变更。
    • 3306端口未对外开放。
  2. 成熟CMS扫描目录的意义

    • 发现敏感文件和备份。
    • 可能存在其他站点或重要信息。
  3. 后台编辑器发现的第一步

    • 确认编辑器名称和版本。
    • 搜索已知的漏洞。
  4. 审查上传点的元素意义

    • 突破上传限制。
  5. 区分与修复CSRF、XSS和XXE

    • CSRF:欺骗用户发起的请求。
    • XSS:恶意代码执行。
    • XXE:利用XML实体注入。
  6. 无法连接3389端口的原因

    • 未开放3389端口。
    • 端口被修改。
    • 防护拦截或内网设置。
  7. OWASP Top 10(2019年版)

    • 注入、身份认证失效、敏感信息泄露、XXE、访问控制失效、安全配置错误、XSS、反序列化漏洞、组件漏洞、日志记录不足。
  8. 业务逻辑漏洞与修复

    • 密码找回漏洞:强化验证、限制尝试次数。
    • 身份认证漏洞:避免会话固定和Cookie仿冒。
    • 验证码漏洞:防止暴力破解和绕过攻击。
  9. 上传图片正常访问而脚本403的原因

    • Web服务器配置限制脚本执行。
  10. 利用注册页面找回密码提示

    • 爆破用户名再爆破密码。

 第二部分:(了解就好,太多了记忆不太现实)

1、安全服务的理解

  • 安全服务涉及保护人和网站,如渗透测试和安全基线检查等。

2、拿到一个待检测的站,你觉得应该先做什么?

  • 收集信息:包括whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙等信息。

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

  • MySQL 5.0以下缺乏information_schema系统表,限制了注入漏洞利用的方式。

4、在渗透过程中,收集目标站注册人邮箱对我们有什么价值?

  • 可能泄露密码,用于登录后台;作为搜索引擎关键词;找到其他邮箱和社交账号;生成专用字典;获取管理员密码设置习惯等。

5、判断出网站的CMS对渗透有什么意义?

  • 查找已曝光的程序漏洞;下载源码进行代码审计。

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

  • 扫描敏感文件、二级目录,寻找误操作和备份文件等。

7、常见的网站服务器容器有哪些?

  • 包括IIS、Apache、nginx、Tomcat、WebLogic、JBoss等。

8、MySQL注入点,用工具对目标站直接写入一句话,需要哪些条件?

  • 需要root权限和网站的绝对路径,以及对文件的读写权限。

9、已知哪些版本的容器有解析漏洞?

  • 比如IIS 6.0的路径解析漏洞、IIS 7.0/7.5的Fast-CGI解析漏洞、nginx版本小于等于0.8.37的Fast-CGI漏洞等。

10、如何手工快速判断目标站是Windows还是Linux服务器?

  • 区分大小写敏感性:Linux服务器对大小写敏感,Windows服务器不敏感。

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

  • 可能是端口被更改或未扫描到;站库分离;MySQL的3306端口未对外开放。

12、3389 无法连接的几种情况:

  • 端口未开放:防火墙或网络设备未允许3389端口通过。
  • 端口被修改:3389端口被修改到其他端口号。
  • 防护拦截:安全软件或设备拦截了3389端口的连接。
  • 内网访问:如果处于内网环境,可能需要进行端口转发才能访问。

13、如何突破注入时字符被转义?

  • 宽字符注入:利用数据库对宽字符的处理方式绕过转义。
  • Hex 编码绕过:将注入语句用十六进制编码来绕过输入过滤。

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

  • 查看编辑器的名称和版本。
  • 搜索公开的漏洞或安全公告,了解是否存在已知的安全问题或漏洞。

15、拿到一个 webshell 发现网站根目录下有 .htaccess 文件,我们能做什么?

  • 使用 .htaccess 文件控制网站配置,例如将特定文件解析为 PHP 文件,以执行恶意代码。

16、注入漏洞只能查账号密码?

  • 脱库:获取敏感信息或配置。
  • 上传 webshell:在服务器上执行命令或者进行更深入的攻击。
  • 执行命令:通过注入漏洞执行操作,如文件操作、系统命令等。

17、安全狗会追踪变量,从而发现出是一句话木马吗?

  • 是根据特征码来检测一句话木马,攻击者可以通过修改一句话木马代码绕过检测。

18、access 扫出后缀为 asp 的数据库文件,访问乱码。如何实现到本地利用?

  • 使用迅雷等下载工具下载文件,并将后缀修改为 .mdb,然后可以本地使用 Access 软件打开。

19、提权时选择可读写目录,为何尽量不用带空格的目录?

  • Exploit 执行时可能需要空格来分隔参数,目录路径带空格会导致命令执行失败。
  • 某服务器有站点 A、B,为何在 A 的后台添加 test 用户,访问 B 的后台也添加上了 test 用户?
  • 可能是因为站点 A 和 B 使用了同一数据库,共享用户表或会话信息。

20、注入时可以不使用 and、or、xor 直接 order by 开始注入吗?

可以直接通过 order by 来检测是否存在注入点,而不需要用 and/or/xor 条件来判断。

21、防注入系统如何利用拿 shell?

  • 需要在注入时绕过防护系统的检测,可以尝试使用技术如时间延迟、多语句注入等来绕过检测,然后利用漏洞获取 shell。

22、上传大马后访问乱码时的解决办法?

  • 调整浏览器编码以正确显示内容,确保浏览器能够正确解析服务器返回的内容。

23、审查上传点元素的意义?

  • 可以通过审查元素找到上传文件类型的限制或其它安全设置,帮助绕过限制上传更多类型的文件。

24、利用目标站注册用户找回密码功能提示进行攻击?

  • 首先通过爆破用户名,再爆破密码,利用这些信息尝试获取对应用户的访问权限。

25、利用任意文件下载漏洞?

  • 在下载链接中利用文件路径参数(如 file=)尝试下载敏感文件,例如配置文件,以获取更多目标站的信息。

26、利用目录结构进行敏感文件扫描?

  • 在已知目录结构中的敏感目录下,可以直接扫描获取网站的敏感文件或目录信息。

27、使用 XSS 实现对目标站的长久控制?

  • 在需要登录后才能访问的文件中插入 XSS 脚本,或者通过后台登录处的 JS 记录用户账号密码,实现对目标站长久的控制。

28、后台修改管理员密码处如何读取隐藏密码?

  • 修改密码输入框的属性,将 password 类型改为 text 类型,使密码明文显示。

29、上传图片可以正常访问但上传脚本被禁止的原因?

  • 可能是服务器对不同文件类型设置了不同的访问权限,例如对图片允许访问但对脚本则禁止执行。

30、通过审查元素得知网站所使用的防护软件?

  • 在页面上查看 HTML 或通过浏览器开发者工具(F12)来识别网站所使用的防护软件或其它安全配置信息。

31、建立一个 .zhongzi 文件夹的用意是什么?

  • 这是一个隐藏文件夹,目的是为了不让管理员发现你传上去的工具或数据。

32、SQL 注入的测试选项选择及理由?

  • 选择 B. demo.jsp?id=2-1。理由是在 URL 编码中,"+" 可能会被解析为空格,导致参数解析混淆,而"-" 则不会引起此问题。

33、处理变形注入的思路?

  • 参数 DATA 经过了 base64 编码后传入服务器,因此在测试时也需对参数进行 base64 解码才能正确完成测试。

34、在 demo.jsp?uid=110 注入点上获取 webshell 的思路?

  • 可能的方法包括利用写入权限构造联合查询语句使用 INTO OUTFILE 写入 webshell,或使用工具如 sqlmap 直接获取 shell。优选的方法取决于目标系统的特点和漏洞环境。

35、CSRF、XSS 和 XXE 的区别及修复方式?

  • XSS 是跨站脚本攻击,修复方式包括字符实体转义、使用 HTTP Only 来禁止 Cookie 被 JavaScript 访问等。
  • CSRF 是跨站请求伪造攻击,修复方式包括在关键操作中使用 Token 来验证请求来源。
  • XXE 是 XML 外部实体注入攻击,修复方式是严格禁止解析外部实体。

36、CSRF、SSRF 和重放攻击的区别?

  • CSRF 是跨站请求伪造攻击,由客户端发起。
  • SSRF 是服务器端请求伪造攻击,由服务器发起。
  • 重放攻击 是攻击者截获有效数据包后重放以达到目的。

37、业务逻辑漏洞及修复方式?

  • 密码找回漏洞:修复包括增强验证、限制尝试次数等。
  • 身份认证漏洞:修复包括使用随机生成的 Session ID、加强 Cookie 安全性等。
  • 验证码漏洞:修复包括增加验证码复杂度、防止自动化脚本绕过等。

38、可能存在问题的 HTTP 请求及标注?

  • GET /ecskins/demo.jsp?uid=2016031900&keyword=”hello world!”
  • 可能的问题:1. SQL 注入;2. XSS;3. Cookie 欺骗;4. 会话 CSRF 或重放风险。

39、绕过修复后的方案?

  • 针对不同漏洞的修复方案,可以通过不断更新和优化攻击手段来绕过修复措施,例如利用新发现的漏洞或变形注入等。

40、常用的渗透工具?

  • 常用的工具包括 Burp Suite、AppScan、Acunetix、SQLMap、Fiddler 等,其中最常用的是 Burp Suite,用于漏洞扫描、攻击模拟和数据拦截等。

41、 描述一个你深入研究过的 CVE 或 POC

例子:比如 CVE-2017-11191,涉及 Office 的 DDE 漏洞。

42. 谈谈你经常关注的安全平台

例子:例如 Tools.net、90sec、先知社区、安全客、FreeBuf 等。

43. 给你一个网站你如何进行渗透测试?

  • 信息收集阶段

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

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

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

44. SQLMap 如何对一个注入点进行利用?

  • 根据注入点的类型(GET、POST、Cookie等),使用 SQLMap 的不同参数进行注入测试。

45. Nmap 的扫描原理

  • 端口状态:open、closed、filtered等。
  • 扫描原理:根据发送的探测包和目标主机的响应来判断端口状态和操作系统类型。

46. SQL 注入的几种类型

  • 报错注入、布尔型注入、延时注入、宽字节注入等。

47. 报错注入的函数示例

  • 列举了几种典型的报错注入函数示例。

48. 如何判断延时注入?

  • 使用条件语句如 if 和 sleep() 函数来判断延时注入。

49. 盲注和延时注入的共同点

  • 都是基于一个字符一个字符的判断来进行注入测试。

50. 如何获取一个网站的 Webshell?

  • 列举了几种可能的方法,如上传漏洞、后台编辑模板、SQL 注入写文件、命令执行等。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词