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

机场的在线值机系统可能存在哪些常见Web安全漏洞?请分析并说明如何通过安全编码和防护措施缓解。

中国航空集团信息安全岗位难度:中等

答案

1) 【一句话结论】

机场在线值机系统常见Web安全漏洞包括认证授权不足(未验证乘客身份与航班匹配)、SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)、文件上传漏洞、服务器端请求伪造(SSRF)等。需通过安全编码(如强身份验证、参数化查询、输入过滤)和防护措施(如CSRF令牌、文件白名单、Web应用防火墙WAF、SSRF防护)从开发到部署全流程有效缓解,降低风险。

2) 【原理/概念讲解】

以认证授权漏洞为例,机场值机系统需严格验证用户身份(如会员号、身份证号)与航班乘客的匹配性。若系统未通过数据库关联表(如passengers表与flights表关联)验证会员号对应的乘客是否为当前航班乘客,未授权用户(如攻击者伪造乘客信息)可修改值机信息,导致乘客数据被篡改或系统被滥用。类比:就像在机场值机时,未核对乘客身份证与航班信息,允许陌生人替人值机。

对于SQL注入,攻击者将恶意SQL代码注入输入参数,导致数据库执行非法查询。比如用户输入航班号时,系统直接拼接SQL语句(如SELECT * FROM flights WHERE flight_no = '${input}'),攻击者输入' or 1=1 --,绕过航班号验证,获取所有航班数据。

XSS是将恶意脚本注入网页,用户访问时执行。比如用户输入<script>alert('hacked')</script>,系统未转义输出,用户点击值机页面后,浏览器弹出警告。

CSRF是攻击者诱导用户访问恶意链接,利用已登录会话执行操作。比如用户登录后,攻击者发送包含CSRF令牌的链接,用户点击后,系统执行值机操作。

文件上传漏洞是允许用户上传恶意文件(如PHP脚本),若上传到可执行目录,攻击者可执行脚本,导致系统被控制。

SSRF(服务器端请求伪造)是攻击者利用Web应用处理用户输入时发起的内部网络请求(如访问内部API、数据库、文件系统),绕过外部网络限制。比如值机系统允许用户输入航班号查询信息,攻击者输入http://internal-api.com/users,系统发起请求获取内部用户数据,导致数据泄露。

3) 【对比与适用场景】

漏洞类型定义特性使用场景缓解措施
认证授权不足系统未验证用户身份与业务场景的匹配性(如值机乘客身份)允许未授权操作,导致数据篡改或系统滥用值机时未检查乘客身份(如会员号对应乘客是否为当前航班乘客)强身份验证(多因素)、会话绑定、业务逻辑校验(数据库关联验证)
SQL注入恶意注入SQL语句,影响数据库可导致数据泄露、篡改、系统崩溃用户输入未验证的查询(如航班号、乘客姓名)参数化查询、输入过滤、白名单
跨站脚本(XSS)注入恶意脚本,在用户浏览器执行可窃取Cookie、会话、页面劫持用户输入后直接输出(如航班信息、评论)输出编码、输入验证、内容安全策略(CSP)
跨站请求伪造(CSRF)诱导用户执行未授权操作利用已登录会话,执行非法操作用户登录后修改值机信息、支付等CSRF令牌、同源策略、请求验证
文件上传漏洞允许上传恶意文件并执行文件被解析执行,导致系统被控制用户上传文件(如图片、文档)文件白名单、重命名、内容检查、目录限制(不可执行)
服务器端请求伪造(SSRF)攻击者利用Web应用处理用户输入时发起的内部网络请求绕过外部网络限制,访问内部资源允许用户输入查询航班信息、系统内部API等输入过滤(禁止特殊字符)、限制请求目标(仅允许外部URL)、SSRF防护工具

4) 【示例】

  • 认证授权漏洞示例:用户输入会员号“12345”,系统未通过SELECT * FROM passengers WHERE member_id = '12345' AND flight_id = (SELECT flight_id FROM flights WHERE flight_no = 'CA123')验证,攻击者输入伪造的会员号“12345”(对应其他航班乘客),成功值机,导致乘客信息被篡改。
  • CSRF示例:用户登录后,攻击者发送链接https://airline.com/checkin?flight=CA123&passenger=张三&action=checkin&csrf_token=abc123,用户点击后,系统验证令牌(若匹配),执行值机操作。
  • 文件上传漏洞示例:用户上传文件“malicious.php”,系统未限制文件类型(允许PHP),上传到“/uploads/”目录(权限为755),攻击者访问/uploads/malicious.php,执行恶意脚本,获取系统权限。
  • SSRF示例:用户输入航班号查询信息时,输入http://internal-api.com/users,系统发起请求获取内部用户数据,导致数据泄露。

5) 【面试口播版答案】

机场在线值机系统常见的Web安全漏洞主要有认证授权不足、SQL注入、XSS、CSRF、文件上传漏洞、SSRF等。以认证授权漏洞为例,系统需严格验证用户身份(如会员号、身份证号)与航班乘客的匹配性,可通过数据库关联表(如passengers表与flights表)验证会员号对应的乘客是否为当前航班乘客,避免未授权用户篡改值机信息。缓解措施包括强身份验证(如多因素认证)、会话绑定(确保会话与用户设备绑定),以及业务逻辑校验(值机前检查乘客身份与航班匹配)。对于SQL注入,需使用参数化查询(如PreparedStatement),将用户输入作为参数而非字符串拼接,避免SQL语句被解析。XSS则通过输出编码转义HTML特殊字符,防止脚本执行。CSRF通过添加CSRF令牌(服务器端生成随机值,客户端存储在Cookie或隐藏字段),请求时验证令牌是否匹配,确保操作来自合法用户。文件上传漏洞需限制上传类型为图片(.jpg,.png),重命名文件(去掉扩展名或添加随机前缀),并检查文件内容是否为图片数据,同时将上传目录设置为不可执行(如chmod 755),防止上传到可执行目录。这些措施需结合安全编码规范(如OWASP编码指南)和防护工具(如Web应用防火墙WAF、SSRF防护工具),从开发到部署全流程有效缓解风险。

6) 【追问清单】

  • 追问1:如何缓解认证授权漏洞中的乘客身份与航班匹配验证?
    回答要点:通过数据库关联表(如passengers表与flights表)进行业务逻辑校验,确保会员号对应的乘客是当前航班的乘客。
  • 追问2:CSRF令牌的具体实现流程是怎样的?
    回答要点:服务器端生成随机令牌,存储在会话或Cookie中,表单中添加隐藏字段,请求时验证令牌是否匹配,防止跨站请求伪造。
  • 追问3:文件上传漏洞中,如何防止上传到可执行目录?
    回答要点:将上传目录设置为不可执行(如chmod 755),并限制上传类型为图片,避免上传PHP等可执行文件。
  • 追问4:SSRF漏洞的缓解措施有哪些?
    回答要点:输入过滤(禁止特殊字符)、限制请求目标(仅允许外部URL)、使用SSRF防护工具拦截内部请求。
  • 追问5:安全编码与防护工具(如WAF)的关系?
    回答要点:安全编码是基础,防护工具是补充,需结合使用,如编码规范防止低级漏洞,WAF拦截高级攻击。

7) 【常见坑/雷区】

  • 坑1:忽略SSRF漏洞,认为值机系统只需关注外部攻击,未考虑内部资源访问风险。
  • 坑2:认证授权漏洞的验证逻辑不具体,未说明数据库关联表验证步骤,导致回答缺乏工程细节。
  • 坑3:文件上传漏洞的缓解措施未提及目录权限控制(如不可执行),导致回答不完整。
  • 坑4:使用过多类比(如超市结账),导致表达模板化,缺乏针对值机系统的具体业务逻辑深度。
  • 坑5:存在绝对化表述(如“从开发到部署全流程保障用户数据和系统安全”),夸大了安全措施的效果,未考虑高级攻击或配置错误可能绕过防护。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1