AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 2023电力行业多旋翼无人机竞赛 题目详情
CA602D4E6ED000012AFEA180E87C1F8C
2023电力行业多旋翼无人机竞赛
10,025
单选题

通过sql注入显示linux的用户文件的语句为( )。

A
select file /etc/passwd
B
select load_file("/etc/passwd")
C
read "/etc/passwd"
D
load_file("/etc/passwd")

答案解析

正确答案:B

解析:

这道题考察的是 SQL 注入中利用 MySQL 数据库特定函数读取服务器本地文件的技术。 **正确答案是 B**。 ### 详细解析: 1. **核心函数 `load_file()`**: 在 MySQL 数据库中,`load_file()` 是一个内置函数,用于读取文件的内容并将其作为字符串返回。这是 SQL 注入攻击中常用于获取服务器敏感文件(如 `/etc/passwd`、配置文件等内容的标准方法。 2. **必须配合 `SELECT` 语句使用**: `load_file()` 是一个函数,它不能单独执行,必须作为 SQL 查询语句的一部分。通常的做法是将其放在 `SELECT` 子句中,例如: ```sql SELECT load_file('/etc/passwd'); ``` 因此,选项 **B** `select load_file("/etc/passwd")` 是语法正确且能实现目的的完整 SQL 语句片段。 3. **其他选项分析**: * **A. `select file /etc/passwd`**:SQL 中没有 `file` 这个关键字或函数用来直接读取文件,语法错误。 * **C. `read "/etc/passwd"`**:`read` 不是标准的 SQL 命令,无法在 SQL 注入上下文中直接执行来读取文件。 * **D. `load_file("/etc/passwd")`**:虽然函数名正确,但这只是一个函数调用,缺少了 SQL 语句的核心结构 `SELECT`。如果直接将其作为 SQL 语句发送给数据库执行,通常会报语法错误。它必须嵌入在 `SELECT` 或其他允许的上下文中才能生效。 ### 补充知识(使用条件): 成功利用 `load_file()` 读取文件通常需要满足以下条件: * 当前数据库用户具有 `FILE` 权限。 * 目标文件路径必须是绝对路径。 * 文件必须位于数据库服务器所在的机器上。 * 文件大小通常受限于 `max_allowed_packet` 变量。 * 在某些配置下,`secure_file_priv` 变量可能限制文件读取的目录。

相关知识点:

sql注入用load_file取文件

题目纠错
2023电力行业多旋翼无人机竞赛

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码