51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

请列举至少5种Web常见安全漏洞(如SQL注入、XSS、CSRF等),并分别说明360浏览器或安全卫士中如何通过技术手段(如代码层面、运行时防护)进行防御。

360安全开发初级工程师难度:中等

答案

1) 【一句话结论】Web常见安全漏洞(如SQL注入、XSS、CSRF等)可通过输入校验、沙箱隔离、反序列化防护等技术防御,360浏览器/安全卫士通过代码层面的参数过滤、类型转换与运行时的沙箱、内容安全策略(CSP)等实现多维度防护。

2) 【原理/概念讲解】以SQL注入为例,原理是攻击者将恶意SQL代码注入到应用程序的输入参数中,导致数据库执行非法查询(如获取所有用户数据)。类比:就像在超市收银台的输入框里输入“价格=0的物品”,导致系统误判所有商品价格为零。360防御:代码层面对输入参数进行正则校验、参数化查询(如使用PreparedStatement,避免拼接SQL字符串);运行时通过数据库访问控制,限制查询权限。

XSS(跨站脚本):攻击者将恶意脚本注入到网页中,当用户访问时执行,窃取用户Cookie或重定向。类比:在网页里插入一个“隐藏的病毒”,用户点击后病毒激活,窃取个人信息。360防御:代码层面对用户输入进行HTML实体编码(转义特殊字符,如<转成<);运行时通过内容安全策略(CSP),限制页面加载的脚本来源,阻止执行未经授权的脚本。

CSRF(跨站请求伪造):攻击者伪造用户请求,诱导用户浏览器发送非法操作(如转账)。类比:用户在银行网页上,攻击者发送一个“转账”链接,用户点击后,浏览器自动发送转账请求。360防御:代码层面添加CSRF令牌(在请求头或表单中包含唯一令牌),验证请求的来源和令牌有效性;运行时通过浏览器扩展拦截非法跨域请求,提示用户确认。

SSRF(服务器端请求伪造):攻击者利用Web服务器访问内部资源(如文件、数据库、内网服务)。类比:攻击者让服务器“偷偷”访问内部文件,获取敏感信息。360防御:代码层面对URL请求进行白名单校验,限制访问外部资源;运行时通过网络过滤,阻止对内网IP的请求。

点击劫持:攻击者通过透明iframe覆盖用户页面,诱导用户点击。类比:在用户正在浏览的网页上,覆盖一个透明的“假按钮”,用户误点击后执行恶意操作。360防御:代码层面添加点击事件监听,检测并阻止透明元素的点击;运行时通过浏览器扩展,提示用户注意页面上的异常透明元素。

3) 【对比与适用场景】

漏洞类型定义特性使用场景注意点
SQL注入恶意注入SQL语句,操控数据库可获取/修改数据,权限提升数据库驱动的Web应用(如登录、查询)需严格输入校验,避免动态SQL拼接
XSS注入恶意脚本,执行在用户浏览器窃取Cookie、重定向、执行任意操作用户输入展示的页面(如评论、搜索结果)需对用户输入进行编码,限制脚本执行
CSRF伪造用户请求,执行非法操作依赖用户已登录状态用户已认证的页面(如支付、修改密码)需添加CSRF令牌,验证请求来源
SSRF利用服务器访问内部资源可访问内网服务、文件服务器端处理外部URL的接口需限制URL访问范围,过滤内网IP
点击劫持透明iframe覆盖用户页面诱导用户点击交互式页面(如表单、按钮)需检测并阻止透明元素的点击事件

4) 【示例】

  • SQL注入示例:用户输入' or 1=1 --,查询语句变为SELECT * FROM users WHERE username='' or 1=1 --,结果为所有用户。
  • XSS示例:用户输入<script>alert('XSS')</script>,页面显示时执行脚本,弹出警告框。
  • CSRF示例:攻击者发送一个表单,包含伪造的CSRF令牌,用户点击后,浏览器发送POST请求到目标URL(如/api/transfer?amount=1000),执行转账。
  • SSRF示例:服务器处理用户输入的URL,攻击者输入http://127.0.0.1:3306,服务器访问内网MySQL数据库,获取数据。
  • 点击劫持示例:攻击者页面包含一个透明iframe,覆盖目标网页的“提交”按钮,用户点击后,实际点击的是透明iframe中的按钮,执行恶意操作。

5) 【面试口播版答案】
“面试官您好,我列举5种Web常见安全漏洞及360的防御措施:

  1. SQL注入:攻击者注入恶意SQL语句,360通过代码层面使用参数化查询(如PreparedStatement)避免动态拼接SQL,运行时限制数据库权限;
  2. XSS:注入恶意脚本窃取Cookie,360对用户输入进行HTML实体编码,运行时通过内容安全策略(CSP)限制脚本来源;
  3. CSRF:伪造用户请求执行操作,360在请求中添加CSRF令牌,运行时拦截非法跨域请求;
  4. SSRF:利用服务器访问内网资源,360对URL进行白名单校验,过滤内网IP;
  5. 点击劫持:通过透明iframe诱导点击,360检测并阻止透明元素的点击事件。
    这些防御结合了输入校验、沙箱隔离等技术,360浏览器/安全卫士通过代码与运行时防护实现多维度保护。”

6) 【追问清单】

  • 问:360浏览器在防御XSS时,具体如何实现内容安全策略(CSP)?
    答:通过浏览器扩展拦截并替换页面头部的CSP指令,限制脚本加载来源,阻止执行未经授权的脚本。
  • 问:CSRF令牌的生成和验证具体流程是怎样的?
    答:服务器生成唯一令牌,存储在Session中,前端将令牌嵌入表单或请求头,提交时验证令牌有效性。
  • 问:SSRF漏洞的防御中,如何区分合法的外部URL和内网IP?
    答:通过白名单列表允许访问的域名/IP,对其他请求进行过滤,同时限制请求方法(如只允许GET)。
  • 问:点击劫持的防御中,360如何检测透明元素?
    答:通过JavaScript检测页面中透明元素的点击事件,拦截并提示用户。
  • 问:SQL注入的防御中,参数化查询相比手动拼接有什么优势?
    答:参数化查询将SQL语句与参数分离,避免SQL语法解析,防止注入攻击。

7) 【常见坑/雷区】

  • 混淆漏洞类型:将SQL注入与命令注入混淆,描述不准确。
  • 防御措施描述模糊:只说“输入校验”而不具体说明技术(如正则、参数化)。
  • 忽略360具体技术:只说通用防御,不结合360的沙箱、CSP等具体机制。
  • 示例错误:给出错误的SQL注入示例(如拼接SQL而非参数化)。
  • 忽略运行时防护:只讲代码层面,不提360的运行时拦截(如浏览器扩展拦截请求)。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1