文章总结: 该文档是一套Web安全知识选择题集,涵盖SQL注入、XSS、CSRF、命令注入等常见攻击方式及其防御措施,涉及PHP、Java、Python等多语言安全函数使用。内容聚焦于漏洞识别、安全编码实践和配置防护,如参数化查询、输入验证、会话管理等核心安全知识点,适合基础安全能力检测。 综合评分: 72 文章分类: WEB安全,安全培训,应用安全,安全开发,安全意识
web安全选择题
原创
豆豆 豆豆
豆豆咨询
2026年6月15日 19:15 浙江
在小说阅读器读本章
去阅读
1. 以下哪种攻击方式属于客户端攻击?
·A. SQL注入
·B. XSS跨站脚本攻击
·C. 缓冲区溢出
·D. 目录遍历
- PHP中以下哪个函数可以防止SQL注入?
·A. eval()
·B. mysql_query()
·C. mysqli_prepare()
·D. exec()
- Java中以下哪个方法可以防止SQL注入?
·A. Statement.executeQuery()
·B. PreparedStatement.executeQuery()
·C. ResultSet.next()
·D. Connection.createStatement()
- Python中以下哪个库可以安全地执行SQL查询?
·A. os.system()
·B. subprocess.run()
·C. sqlite3(使用?占位符)
·D. exec()
- PHP中以下哪个函数存在远程代码执行风险?
·A. htmlspecialchars()
·B. strip_tags()
·C. eval()
·D. htmlentities()
- Java中以下哪个操作可能导致反序列化漏洞?
·A. ObjectInputStream.readObject()
·B. FileInputStream.read()
·C. BufferedReader.readLine()
·D. Scanner.next()
- Python中以下哪个操作存在代码注入风险?
·A. str.format()
·B. eval(input())
·C. json.loads()
·D. int(input())
- PHP中register_globals开启时可能导致什么安全问题?
·A. SQL注入
·B. 变量覆盖
·C. XSS攻击
·D. 命令注入
- PHP中file_get_contents()函数如果传入用户可控的URL,可能导致什么漏洞?
·A. SQL注入
·B. SSRF(服务端请求伪造)
·C. XSS攻击
·D. 命令注入
- PHP中以下哪个函数可以防止目录遍历攻击?
·A. basename()
·B. dirname()
·C. realpath()
·D. file_exists()
- Java中以下哪个方法可以安全地处理文件路径?
·A. new File()
·B. Paths.get().normalize()
·C. File.getAbsolutePath()
·D. File.list()
- PHP中exec()函数如果传入用户可控的参数,可能导致什么漏洞?
·A. SQL注入
·B. 命令注入
·C. XSS攻击
·D. 文件包含
- Java中Runtime.exec()方法如果处理不当,可能导致什么漏洞?
·A. SQL注入
·B. 命令注入
·C. XSS攻击
·D. 反序列化漏洞
- Python中subprocess模块如果处理不当,可能导致什么漏洞?
·A. SQL注入
·B. 命令注入
·C. XSS攻击
·D. 文件包含
- Java中ClassLoader.loadClass()如果处理不当,可能导致什么风险?
·A. SQL注入
·B. 代码注入
·C. XSS攻击
·D. 反序列化漏洞
- Python中importlib.import_module()如果处理不当,可能导致什么风险?
·A. SQL注入
·B. 代码注入
·C. XSS攻击
·D. 文件包含
- PHP中session_regenerate_id()函数的作用是?
·A. 创建新的Session文件
·B. 生成新的Session ID
·C. 删除Session
·D. 加密Session数据
- Java中HttpSession.invalidate()方法的作用是?
·A. 创建新Session
·B. 使Session失效
·C. 更新Session属性
·D. 加密Session数据
- Java中以下哪个安全管理器可以限制代码权限?
·A. SecurityManager
·B. AccessController
·C. Policy
·D. AllPermission
- Python中以下哪个模块可以限制代码执行权限?
·A. subprocess
·B. os
·C. sandbox
·D. resource
- PHP中password_hash()函数使用的默认算法是?
·A. MD5
·B. SHA-256
·C. bcrypt
·D. Argon2
- PHP中session.cookie_secure选项的作用是?
·A. 加密Cookie内容
·B. 仅通过HTTPS传输Cookie
·C. 设置Cookie过期时间
·D. 防止Cookie被修改
- Python Flask中session.permanent属性的作用是?
·A. 加密Session内容
·B. 设置Session持久化
·C. 设置Session过期时间
·D. 防止Session被修改
- PHP中以下哪个函数可以安全地处理用户输入?
·A. $_GET[“input”]
·B. filter_input(INPUT_GET, “input”)
·C. $_REQUEST[“input”]
·D. $_POST[“input”]
- PHP中以下哪个配置选项可以限制上传文件大小?
·A. upload_max_filesize
·B. post_max_size
·C. max_execution_time
·D. memory_limit
- Java中以下哪个方法可以限制上传文件大小?
·A. MultipartFile.getSize()
·B. @RequestParam(maxSize=…)
·C. HttpServletRequest.getContentLength()
·D. ServletInputStream.read()
- Python Flask中以下哪个方法可以限制上传文件大小?
·A. request.files[‘file’].content_length
·B. app.config[‘MAX_CONTENT_LENGTH’]
·C. os.path.getsize()
·D. file.read()
- PHP中以下哪个函数可以防止XSS攻击?
·A. htmlspecialchars()
·B. strip_tags()
·C. addslashes()
·D. 以上都是
- Java中以下哪个方法可以防止XSS攻击?
·A. Jsoup.clean()
·B. StringEscapeUtils.escapeHtml4()
·C. HtmlUtils.htmlEscape()
·D. 以上都是
- Python中以下哪个方法可以防止XSS攻击?
·A. html.escape()
·B. markupsafe.escape()
·C. jinja2.Markup()
·D. 以上都是
- Java中以下哪个接口支持参数化查询?
·A. Statement
·B. PreparedStatement
·C. CallableStatement
·D. ResultSet
- Python中以下哪个库支持参数化查询?
·A. sqlite3
·B. psycopg2
·C. SQLAlchemy
·D. 以上都是
- Python中以下哪个库支持参数化查询?
·A. sqlite3
·B. psycopg2
·C. SQLAlchemy
·D. 以上都是
94. 以下哪个是命令注入攻击的特点?
·A. 利用系统命令执行
·B. 利用数据库查询
·C. 利用JavaScript执行
·D. 利用HTML解析
- PHP中以下哪个函数是安全的命令执行方式?
·A. exec()
·B. system()
·C. shell_exec()
·D. escapeshellarg()
- Java中以下哪个方法是安全的命令执行方式?
·A. Runtime.exec()
·B. ProcessBuilder
·C. Process.start()
·D. 以上都不是
- Python中以下哪个方法是安全的命令执行方式?
·A. subprocess.run() with list argument
·B. os.system()
·C. os.popen()
·D. eval()
- PHP中以下哪个配置选项可以防止远程文件包含?
·A. allow_url_include = Off
·B. open_basedir
·C. safe_mode
·D. 以上都是
1. 以下哪种攻击方式属于客户端攻击?
·A. SQL注入
·B. XSS跨站脚本攻击
·C. 缓冲区溢出
·D. 目录遍历
- HTTP协议默认使用的端口是?
·A. 21
·B. 22
·C. 80
·D. 443
- HTTPS协议默认使用的端口是?
·A. 21
·B. 22
·C. 80
·D. 443
4. 以下哪个HTTP状态码表示未授权访问?
·A. 200
·B. 301
·C. 401
·D. 404
- SQL注入攻击主要针对的是?
·A. Web服务器
·B. 数据库
·C. 浏览器
·D. 操作系统
- CSRF攻击的全称是?
·A. Cross-Site Request Forgery
·B. Cross-Site Scripting
·C. Cross-Site Server Request
·D. Cross-Site Resource Forgery
- XSS攻击的全称是?
·A. Cross-Site Scripting
·B. Cross-Site Server
·C. Cross-Site Security
·D. Cross-Site System
8. 以下哪种XSS攻击最难被防御?
·A. 存储型XSS
·B. 反射型XSS
·C. DOM型XSS
· D. 基于 JSONP 的 XSS
9. 以下哪个不是HTTP方法?
·A. GET
·B. POST
·C. PUT
·D. FETCH
- Cookie的主要作用是?
·A. 存储用户会话信息
·B. 加密数据
·C. 压缩数据
·D. 验证用户输入
- SQL注入中最常用的注释符是?
·A. //
·B. /* */
·C. —
·D. #
14. 以下哪种攻击可以绕过同源策略?
·A. XSS
·B. CSRF
·C. SQL注入
·D. 命令注入
- HTTPS使用的加密协议是?
·A. SSL/TLS
·B. SSH
·C. IPsec
·D. PPTP
16. 以下哪个是安全的文件上传验证方式?
·A. 仅检查文件扩展名
·B. 仅检查MIME类型
·C. 检查文件内容和大小
·D. 不进行任何验证
- Session固定攻击的目的是?
·A. 窃取用户Session
·B. 固定用户Session ID
·C. 伪造Session
·D. 删除Session
19. 以下哪种攻击方式利用了URL重定向漏洞?
·A. XSS
·B. CSRF
·C. 开放重定向
·D. SQL注入
20. 以下哪个是有效的CSRF防御措施?
·A. 使用POST方法
·B. 添加CSRF Token
·C. 使用HTTPS
·D. 设置Cookie过期时间
21. 以下哪个是HTTP响应头用于防止点击劫持?
·A. X-Frame-Options
·B. X-Content-Type-Options
·C. X-XSS-Protection
·D. Strict-Transport-Security
- SQL注入攻击中,以下哪个字符最适合用于闭合SQL语句(考虑不同的数据库管理系统)?
·A. ;
·B. “
·C. ‘
·D. —
23. 以下哪个不是常见的Web服务器软件?
·A. Apache
·B. Nginx
·C. IIS
·D. MySQL
24. 以下哪个是PHP中的安全函数?
·A. eval()
·B. system()
·C. htmlspecialchars()
·D. exec()
25. 以下哪个是防止目录遍历攻击的有效方法?
·A. 使用绝对路径
·B. 使用相对路径
·C. 允许用户输入路径
·D. 使用通配符
26. 以下哪个是HTTP状态码表示服务器内部错误?
·A. 400
·B. 403
·C. 500
·D. 503
31. 以下哪个是安全的会话管理做法?
·A. 使用固定Session ID
·B. 定期更换Session ID
·C. 将Session ID存储在URL中
·D. 不设置Session过期时间
32. 以下哪个是SQL注入的常见形式?
·A. 数字型注入
·B. 字符型注入
·C. 布尔型注入
·D. 以上都是
33. 以下哪个是XSS攻击的常见类型?
·A. 存储型
·B. 反射型
·C. DOM型
·D. 以上都是
34. 以下哪个是CSRF攻击的特点?
·A. 需要用户交互
·B. 不需要用户交互
·C. 只针对GET请求
·D. 只针对POST请求
35. 以下哪个是安全的输入验证方法?
·A. 仅在客户端验证
·B. 仅在服务端验证
·C. 客户端和服务端都验证
·D. 不进行验证
37. 以下哪个是防止XSS攻击的有效方法?
·A. 输入验证
·B. 输出编码
·C. 使用CSP
·D. 以上都是
40. 以下哪个是SQL注入的防御方法?
·A. 使用参数化查询
·B. 使用存储过程
·C. 输入验证
·D. 以上都是
41. 以下哪个是命令注入攻击的特点?
·A. 利用系统命令执行
·B. 利用数据库查询
·C. 利用JavaScript执行
·D. 利用HTML解析
42. 以下哪个是文件包含漏洞的类型?
·A. 本地文件包含
·B. 远程文件包含
·C. 以上都是
·D. 以上都不是
43. 以下哪个是安全的文件路径处理方式?
·A. 使用用户输入的路径
·B. 使用白名单验证
·C. 使用黑名单验证
·D. 不验证路径
44. 以下哪个是HTTP头用于强制HTTPS?
·A. X-Frame-Options
·B. Strict-Transport-Security
·C. X-XSS-Protection
·D. Content-Security-Policy
45. 以下哪个是JSON Web Token(JWT)的组成部分?
·A. Header
·B. Payload
·C. Signature
·D. 以上都是
46. 以下哪个是安全的JWT使用方式?
·A. 存储在localStorage中
·B. 存储在Cookie中并设置HttpOnly
·C. 存储在sessionStorage中
·D. 存储在URL参数中
47. 以下哪个是HTTPS的工作流程?
·A. 握手→加密传输
·B. 加密传输→握手
·C. 直接加密传输
·D. 明文传输
48. 以下哪个是SSL/TLS的作用?
·A. 加密数据传输
·B. 验证服务器身份
·C. 确保数据完整性
·D. 以上都是
51. 以下哪个是安全的身份认证方式?
·A. 仅使用密码
·B. 使用双因素认证
·C. 使用弱密码
·D. 不进行认证
55. 以下哪个是HTTP请求走私攻击的特点?
·A. 利用HTTP解析差异
·B. 利用SQL注入
·C. 利用XSS
·D. 利用CSRF
56. 以下哪个是WebSocket协议的安全问题?
·A. 缺乏认证
·B. 缺乏加密
·C. 输入验证不足
·D. 以上都是
57. 以下哪个是安全的日志记录做法?
·A. 记录敏感信息
·B. 不记录任何信息
·C. 脱敏处理敏感数据
·D. 公开日志文件
58. 以下哪个是安全的错误处理方式?
·A. 显示详细错误信息
·B. 显示通用错误信息
·C. 不显示任何错误信息
·D. 显示数据库密码
59. 以下哪个是安全的数据库配置?
·A. 使用默认密码
·B. 使用弱密码
·C. 限制数据库用户权限
·D. 允许远程访问数据库
60. 以下哪个是安全的文件权限设置?
·A. 所有文件设置为777
·B. 最小权限原则
·C. 允许所有用户读写
·D. 不设置权限
61. 以下哪个是安全的会话Cookie配置?
·A. 设置HttpOnly
·B. 设置Secure
·C. 设置SameSite
·D. 以上都是
62. 以下哪个是CSP(Content Security Policy)的作用?
·A. 防止XSS攻击
·B. 防止CSRF攻击
·C. 防止SQL注入
·D. 防止命令注入
63. 以下哪个是安全的文件上传做法?
·A. 限制文件大小
·B. 验证文件类型
·C. 存储在非Web目录
·D. 以上都是
64. 以下哪个是安全的反序列化做法?
·A. 信任所有序列化数据
·B. 使用白名单验证
·C. 不进行验证
·D. 使用黑名单验证
65. 以下哪个是安全的API设计做法?
·A. 不进行身份认证
·B. 不限制请求频率
·C. 使用HTTPS
·D. 不进行输入验证
66. 以下哪个是安全的缓存策略?
·A. 缓存敏感数据
·B. 设置适当的缓存时间
·C. 不设置缓存
·D. 缓存所有数据
68. 以下哪个是安全的DNS配置?
·A. 使用未加密的DNS
·B. 使用DNS over HTTPS
·C. 使用公共DNS
·D. 不设置DNS
69. 以下哪个是安全的HTTPS配置?
·A. 使用过期证书
·B. 使用弱加密算法
·C. 使用最新的TLS版本
·D. 不验证证书
70. 以下哪个是安全的Web应用防火墙(WAF)配置?
·A. 禁用WAF
·B. 使用默认规则
·C. 自定义规则
·D. 不更新规则
71. 以下哪个是安全的备份策略?
·A. 不进行备份
·B. 定期备份
·C. 备份到同一服务器
·D. 不测试备份恢复
72. 以下哪个是安全的更新策略?
·A. 不更新软件
·B. 定期更新软件
·C. 更新前不测试
·D. 忽略安全补丁
73. 以下哪个是安全的访问控制做法?
·A. 允许所有用户访问
·B. 使用最小权限原则
·C. 不进行权限检查
·D. 使用默认权限
74. 以下哪个是安全的会话超时设置?
·A. 不设置超时
·B. 设置较短的超时时间
·C. 设置较长的超时时间
·D. 超时后不清理会话
75. 以下哪个是安全的跨域配置?
·A. 允许所有来源
·B. 限制特定来源
·C. 不设置CORS
·D. 允许所有方法
76. 以下哪个是安全的HTML表单配置?
·A. 使用GET方法提交敏感数据
·B. 使用POST方法提交敏感数据,采用https传输
·C. 不设置表单验证
·D. 使用明文传输
77. 以下哪个是安全的JavaScript使用方式?
·A. 使用内联脚本
·B. 使用eval()函数
·C. 使用Content Security Policy
·D. 信任所有第三方脚本
78. 以下哪个是安全的Cookie设置?
·A. 不设置HttpOnly
·B. 不设置Secure
·C. 设置HttpOnly和Secure
·D. 存储敏感数据在Cookie中
79. 以下哪个是安全的SQL查询方式?
·A. 拼接字符串
·B. 使用参数化查询
·C. 使用动态SQL
·D. 不进行验证
80. 以下哪个是安全的密码重置做法?
·A. 通过邮箱发送密码
·B. 使用一次性令牌
·C. 不验证身份
·D. 使用固定链接
81. 以下哪个是安全的用户注册做法?
·A. 不验证邮箱
·B. 不验证手机号
·C. 验证邮箱或手机号
·D. 不进行任何验证
82. 以下哪个是安全的密码找回做法?
·A. 提示密码是否正确
·B. 不提示用户名是否存在
·C. 显示密码
·D. 不使用安全问题
83. 以下哪个是安全的日志管理做法?
·A. 不限制日志大小
·B. 定期清理日志
·C. 公开日志文件
·D. 不监控日志
84. 以下哪个是安全的错误日志做法?
·A. 记录敏感信息
·B. 脱敏处理
·C. 显示详细错误给用户
·D. 不记录错误
85. 以下哪个是安全的数据库访问做法?
·A. 使用root用户
·B. 使用最小权限用户
·C. 允许远程访问
·D. 使用默认端口
86. 以下哪个是安全的文件存储做法?
·A. 存储在Web根目录
·B. 存储在非Web目录
·C. 使用明文存储
·D. 不设置权限
87. 以下哪个是安全的API限流做法?
·A. 不进行限流
·B. 设置合理的限流阈值
·C. 限流后不通知用户
·D. 无限限流
91. 以下哪个是安全的负载均衡配置?
·A. 不进行健康检查
·B. 使用SSL终止
·C. 不配置防火墙
·D. 允许所有流量
92. 以下哪个是安全的容器部署做法?
·A. 使用root用户运行
·B. 使用最小权限用户
·C. 不限制资源
·D. 共享宿主机网络
94. 以下哪个是安全的依赖管理做法?
·A. 不更新依赖
·B. 使用已知漏洞的依赖
·C. 定期更新依赖
·D. 不验证依赖来源
95. 以下哪个是安全的代码审查做法?
·A. 不进行代码审查
·B. 只审查新代码
·C. 定期审查所有代码
·D. 不使用自动化工具
96. 以下哪个是安全的渗透测试做法?
·A. 未授权测试
·B. 获得授权后测试
·C. 不报告漏洞
·D. 不遵守法律法规
97. 以下哪个是安全的漏洞管理做法?
·A. 不跟踪漏洞
·B. 及时修复漏洞
·C. 不评估漏洞风险
·D. 不通知相关人员
98. 以下哪个是安全的应急响应做法?
·A. 没有应急计划
·B. 定期演练
·C. 不通知用户
·D. 不记录事件
99. 以下哪个是安全的数据备份做法?
·A. 备份到同一服务器
·B. 加密备份数据
·C. 不测试恢复
·D. 不进行定期备份
100. 以下哪个是安全的安全审计做法?
·A. 不进行审计
·B. 定期审计
·C. 不保留审计日志
·D. 不审查审计结果
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:豆豆咨询 豆豆 豆豆《web安全选择题》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。






![[thm]AI安全全手册[精华合集上]12合一](/images/random/titlepic/5.jpg)




评论