> 技术文档 > 安全面试题——笔记(一)

安全面试题——笔记(一)


安全面试题

笔记(一)

1.拿到一个待检测的站,你该如何渗透?
安全面试题——笔记(一)

要点

渗透测试必须在授权前提下进行,否则违法。

信息收集是渗透测试的第一步,收集的信息越多,攻击面越广。

漏洞测试包括检测SQL注入、文件上传、命令执行、XSS等多种漏洞。

漏洞利用后需进行权限提升和权限维持,确保长期控制。

内网扫描和攻击是渗透测试的重要环节,需建立隧道代理。

渗透测试完成后需清理痕迹并输出测试报告和修复方案。

深度问答

  • 渗透测试的第一步是什么?

信息收集,包括服务器相关信息、网站指纹识别和呼应子信息等。

  • 信息收集包括哪些具体内容?

服务器真实IP、系统类型、版本、开放端口、CMS、CDN、证书、DNS记录、子域名、旁站、C段等。

  • 漏洞测试主要检测哪些漏洞?

SQL注入、文件上传、命令执行、XSS、XXE、弱口令、文件包含等。

  • 权限提升有哪些常见方法?

Windows的MyCircle UDF提权、MS08-067等内核漏洞提权,Linux的SUID/SGID提权、内核漏洞提权等。

  • 渗透测试完成后需要做什么?

清理痕迹(删除web或系统日志)并输出测试报告和修复方案。

术语解释

CMS: 内容管理系统,用于创建和管理网站内容的软件。

CDN: 内容分发网络,通过分布式服务器提高网站访问速度和安全性。

SQL注入: 通过输入恶意SQL代码攻击数据库的技术。

XSS: 跨站脚本攻击,通过注入恶意脚本到网页中攻击用户。

权限提升: 通过漏洞或技术手段从低权限账户获取更高权限的过程。

2.CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

安全面试题——笔记(一)

要点

XSS(跨站脚本攻击)是通过注入恶意脚本窃取用户信息的攻击方式,修复方法包括字符转义、HTTPOnly设置和输入校验。

CSRF(跨站请求伪造攻击)利用用户已认证状态执行非自愿操作,可通过Token嵌入、密码验证和Referer校验来防范。

XXE(XML外部实体注入攻击)通过XML实体请求外部内容,修复方法是禁止XML解析外部实体。

XSS可能成为实现CSRF攻击的手段之一,说明不同漏洞间可能存在关联性。

深度问答

  • XSS攻击的主要危害是什么?

主要危害是窃取用户敏感信息如cookie,并可能执行恶意操作。

  • 为什么HTTPOnly能防范XSS攻击?

HTTPOnly属性可阻止JavaScript读取cookie,从而保护会话信息不被窃取。

  • CSRF攻击为什么需要用户已登录状态?

CSRF利用的是用户已认证的会话状态来执行非自愿操作,未登录状态无法利用此漏洞。

  • XXE攻击如何导致敏感文件泄露?

通过XML外部实体引用功能,攻击者可读取服务器上的本地文件如/etc/passwd。

  • 为什么说XSS和CSRF有关联?

XSS获取的用户凭证可被用于构造CSRF攻击,两者结合可增强攻击效果。

术语解释

XSS(跨站脚本攻击): 攻击者向网页注入恶意脚本,当其他用户浏览时执行的攻击方式。

CSRF(跨站请求伪造): 利用用户已认证状态,诱使用户在不知情时提交恶意请求的攻击。

XXE(XML外部实体注入): 通过XML解析器处理外部实体时导致的文件读取或SSRF攻击。

HTTPOnly: Cookie属性,阻止JavaScript访问以增强安全性。

Referer: HTTP头部字段,表示请求来源页面,可用于CSRF防护。

3.XSS有哪几种类型 ?

安全面试题——笔记(一)

要点

反射型XSS(非持久型)通过恶意链接诱导用户点击触发攻击,恶意代码不存储在目标网站中。

存储型XSS(持久型)的恶意代码存储在服务器端(如数据库),具有更强的稳定性。

DOM型XSS通过修改网页的DOM节点形成漏洞,完全由前端处理,属于前端JavaScript的安全漏洞。

反射型和存储型XSS由后端处理,而DOM型XSS由前端浏览器处理。

反射型和存储型XSS属于服务端安全漏洞,DOM型XSS属于前端安全漏洞。

深度问答

  • 反射型XSS的攻击特点是什么?

反射型XSS通过恶意链接诱导用户点击触发攻击,恶意代码不存储在目标网站中,仅对当前访问有效,执行一次后即失效。

  • 存储型XSS与反射型XSS的主要区别是什么?

存储型XSS的恶意代码存储在服务器端(如数据库),具有持久性;而反射型XSS的恶意代码不存储,仅通过URL传递。

  • DOM型XSS的工作原理是什么?

DOM型XSS通过修改网页的DOM节点形成漏洞,完全由前端处理,恶意代码的提取和执行均由前端浏览器完成。

  • 为什么DOM型XSS属于前端安全漏洞?

因为DOM型XSS的恶意代码提取和执行均由前端浏览器完成,不涉及后端处理。

  • 如何区分反射型、存储型和DOM型XSS?

反射型和存储型XSS由后端处理,反射型的恶意代码存在于URL中,存储型的恶意代码存储在服务器端;DOM型XSS由前端处理,通过修改DOM节点触发。

术语解释

XSS(跨站脚本攻击): 一种通过在目标网站中注入恶意脚本代码来攻击用户的安全漏洞。

反射型XSS(非持久型XSS): 恶意代码通过URL传递,不存储在目标网站中,仅对当前访问有效。

存储型XSS(持久型XSS): 恶意代码存储在服务器端(如数据库),具有持久性。

DOM型XSS: 通过修改网页的DOM节点形成的XSS漏洞,完全由前端处理。

4.如何验证存在xSS漏洞 ?

安全面试题——笔记(一)

要点

XSS漏洞的本质是用户输入的HTML/JS代码未经处理直接输出到网页中执行

验证XSS漏洞的标准流程:1)找输入点 2)定输出点 3)构造Payload

通过修改P标签内容插入script脚本是最基础的XSS验证方法

alert弹窗测试是验证XSS漏洞最直观有效的方式

输出点的定位可通过查看网页源代码实现

深度问答

  • 什么是XSS漏洞的核心特征?

服务器未过滤用户输入的HTML/JS代码,导致恶意脚本在浏览器执行

  • 为什么P标签在XSS验证中很重要?

P标签是常见的输出位置,修改其内容可插入恶意脚本

  • alert弹窗测试有什么优势?

直观显示脚本执行效果,是最直接的漏洞验证方式

  • 如何快速定位网页中的输出点?

通过浏览器开发者工具查看网页源代码,寻找用户输入内容的显示位置

  • 为什么说输入点和输出点的确定是验证关键?

只有找到这两个关键环节才能构造有效的攻击Payload

术语解释

XSS(跨站脚本): 攻击者在网页中嵌入恶意脚本,当用户浏览时执行的攻击方式

Payload: 在漏洞利用过程中注入的恶意代码或数据

P标签: HTML中的段落标签,常用于内容显示

alert弹窗: JavaScript的弹出警告框,常用于测试脚本执行

输入点/输出点: 用户数据输入和系统显示的关键位置

5.GET 和 POST 的区别?

安全面试题——笔记(一)

要点

GET请求数据暴露在URL中,安全性较低;POST请求数据放在请求体中,安全性更高

GET通常用于获取数据,POST通常用于修改数据

GET请求有数据量限制(约2KB),POST理论上无大小限制

GET产生一个TCP包,POST产生两个TCP包(先发请求头,再发数据)

GET请求会被浏览器自动缓存,POST默认不会缓存

深度问答

  • 为什么GET方法被认为不够安全?

因为GET请求将数据直接暴露在URL中,容易被截获或记录

  • POST方法在什么情况下会产生两个TCP数据包?

当POST请求发送时,浏览器会先发送HEAD头等待服务器100响应,再发送数据体

  • 如何通过工具验证POST请求的数据安全性?

使用Burp Suite等抓包工具可以观察到POST数据被封装在请求体中而非URL

术语解释

GET方法: 一种HTTP请求方法,数据通过URL传输,用于获取资源

POST方法: 一种HTTP请求方法,数据通过请求体传输,用于提交数据

Burp Suite: 著名的Web安全测试工具,可用于拦截和分析HTTP请求

TCP数据包: 传输控制协议的数据传输单元,包含头部和数据部分