网络安全面试高频题:20 个基础工具 + 漏洞原理题(附参考答案),学生 / 转行党必备,零基础入门到精通,看完这一篇就够了

网络安全面试高频题:20 个基础工具 + 漏洞原理题(附参考答案),学生 / 转行党必背

在这里插入图片描述

对计算机学生和转行从业者来说,网络安全面试最容易 “栽在基础题” 上 —— 要么对工具命令一知半解,要么讲不清漏洞原理,明明有实训经验却表达不出来。其实面试中的基础题翻来覆去就那几类,把工具操作和漏洞原理的核心考点吃透,就能轻松应对 80% 的初级岗面试。

这篇精选 20 道高频题,分为 “基础工具类(10 题)” 和 “漏洞原理类(10 题)”,每道题都附 “参考答案 + 面试加分点”,学生可结合实训经历作答,转行党能关联过往技能,帮大家在面试中 “答得对、说得透、显实力”。

一、基础工具类(10 题):覆盖面试必问的 Nmap/Burp/Wireshark 等核心工具
1. 用 Nmap 扫描时,nmap -sS和nmap -sT有什么区别?分别在什么场景下使用?

参考答案

  • 区别:

  • nmap -sS(半开放扫描 / SYN 扫描):只发送 SYN 包,收到 SYN-ACK 后不回 ACK(不建立完整 TCP 连接),隐蔽性高,扫描速度快,不易被目标防火墙日志记录;

  • nmap -sT(全连接扫描 / TCP 扫描):发送 SYN→SYN-ACK→ACK,建立完整 TCP 连接,隐蔽性低,容易被目标察觉,但扫描结果更准确(能明确判断端口是否开放)。

  • 场景:

  • 想快速且隐蔽扫描(如测试客户网络,避免触发告警)用-sS;

  • 扫描防火墙规则严格的目标(如部分防火墙会拦截 SYN 包,全连接才能准确识别端口状态)用-sT。

面试加分点:补充 “实际使用案例”,比如 “我在 HTB 靶机实训时,用-sS扫目标 IP,10 秒内就发现 22 和 80 端口开放,且靶机日志没记录我的扫描行为;后来扫某企业测试服务器,用-sT才扫出 443 端口开放,因为对方防火墙拦截了半开放扫描的 SYN 包”。

2. Burp Suite 的 Proxy 模块怎么配置才能抓浏览器的 HTTPS 数据包?

参考答案

分 3 步配置:

  1. Burp 端开启 Proxy:打开 Burp→进入 Proxy 模块→点击 “Options”→确保 “Proxy Listeners” 中 127.0.0.1:8080 已启用(默认开启);

  2. 浏览器配置代理:以 Chrome 为例,进入 “设置→系统→打开你的计算机的代理设置”→手动设置 “地址:127.0.0.1,端口:8080”;

  3. 安装 Burp 证书:在浏览器访问http://burp→点击 “CA Certificate” 下载 Burp 根证书→打开浏览器 “证书管理”,导入下载的证书并设为 “信任”(避免浏览器提示 “不安全连接”)。

面试加分点:提 “实际问题解决”,比如 “我之前抓 HTTPS 包时,浏览器一直提示证书错误,后来发现是导入证书时没选‘信任该证书用于网站识别’,重新配置后就正常抓包了,当时用这个方法在 DVWA 靶机抓过登录请求的 HTTPS 数据包”。

3. 用 Wireshark 捕获到大量数据包时,如何快速筛选出 “HTTP POST 请求”?有哪些过滤规则?

参考答案

常用 2 种过滤规则,按场景选择:

  1. 按协议和请求方法过滤:在 Wireshark 过滤框输入http.request.method == “POST”,直接筛选所有 HTTP POST 请求(最常用,精准定位表单提交、登录请求等);

  2. 按端口 + 请求方法过滤:若目标 HTTP 服务用非 80 端口(如 8080),输入tcp.port == 8080 and http.request.method == “POST”,缩小筛选范围。

面试加分点:结合实战场景,比如 “我在分析靶机流量时,用http.request.method == "POST"过滤出登录请求的 POST 包,查看数据包中的username和password参数,发现有’ or 1=1–的 SQL 注入语句,从而定位到攻击流量”。

4. Metasploit 中,exploit和payload的区别是什么?举一个你用过的组合案例。

参考答案

  • 区别:

  • exploit(漏洞利用模块):用于利用目标系统的漏洞(如永恒之蓝漏洞的ms17_010_eternalblue),作用是 “打开目标系统的突破口”;

  • payload(攻击载荷):利用漏洞突破后,在目标系统中执行的代码(如windows/meterpreter/reverse_tcp),作用是 “获取目标系统的控制权”(如反弹 shell、执行命令)。

  • 案例:我在 HTB Blue 靶机实训时,用exploit/windows/smb/ms17_010_eternalblue(利用永恒之蓝漏洞)作为 exploit,搭配payload windows/x64/meterpreter/reverse_tcp(反弹 64 位 meterpreter 会话),成功获取靶机 SYSTEM 权限。

面试加分点:补充 “payload 选择思路”,比如 “选 payload 时会看目标系统位数(32 位 / 64 位),避免因位数不匹配导致 payload 执行失败;同时会选reverse_tcp(反向连接)而非bind_tcp(正向连接),因为目标系统可能有防火墙,反向连接更容易绕过”。

5. Wireshark 捕获到一个 TCP 数据包,显示 “SYN” 标志位为 1,这个数据包的作用是什么?属于 TCP 三次握手的哪个阶段?

参考答案

  • 作用:SYN 标志位为 1 的数据包是 “同步请求包”,用于客户端向服务器发起连接请求,告诉服务器 “我想和你建立 TCP 连接,请确认你的端口是否开放,并告知我你的初始序列号”;

  • 阶段:属于 TCP 三次握手的第一次握手(客户端→服务器:SYN=1, seq=x)。

面试加分点:延伸 “异常场景判断”,比如 “如果连续捕获到多个 SYN 包,却没收到服务器的 SYN-ACK 包,可能是目标端口未开放,或服务器防火墙拦截了连接请求 —— 我之前用 Wireshark 分析‘无法访问某网站’的问题时,就发现这种情况,最后确认是对方防火墙把我的 IP 拉黑了”。

6. 用 Burp 的 Intruder 模块做弱口令爆破,如何避免被目标系统拦截?

参考答案

主要从 “降低爆破频率、伪装请求、规避特征”3 个方向设置:

  1. 调整线程数:在 Intruder 的 “Options→Number of threads” 中,将线程数设为 5-10(默认 20 线程太密集,容易触发防火墙告警);

  2. 添加延迟:在 “Options→Throttle” 中,设置 “每个请求延迟 500-1000 毫秒”,模拟人工输入速度;

  3. 伪装请求头:在 “Headers” 标签中,添加User-Agent(模拟真实浏览器,如Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/118.0.0.0)、Referer(模拟从目标首页跳转过来的请求);

  4. 避免重复请求:在 “Payloads→Payload Processing” 中,添加 “随机字符串” 作为参数值(如给密码后加随机后缀,避免每次请求参数完全一致)。

面试加分点:结合实训案例,比如 “我在爆破 DVWA 靶机登录密码时,刚开始用 20 线程,结果靶机直接返回‘Too many requests’;后来把线程调为 8,加 1000 毫秒延迟,成功爆破出 admin/123456 的弱口令,且没被拦截”。

7. Nmap 如何扫描目标系统的操作系统版本?用什么参数?原理是什么?

参考答案

  • 扫描参数:nmap -O 目标IP(-O是 “Operating System detection” 的缩写,开启操作系统探测);

  • 原理:Nmap 通过分析目标系统的 “TCP/IP 指纹” 来判断操作系统,比如:

  • TCP 初始序列号(ISN)的生成方式(不同系统的 ISN 规律不同,如 Windows 的 ISN 是递增的,Linux 的 ISN 是随机的);

  • 对特定 TCP 标志位的响应(如发送 FIN 包,Windows 会返回 RST,某些 Linux 版本不会);

  • ICMP 数据包的响应(如 ping 请求的 TTL 值,Windows 默认 TTL=128,Linux 默认 TTL=64)。

面试加分点:补充 “优化扫描精度”,比如 “如果-O扫描结果模糊(如显示‘Linux 2.6.X or 3.X’),可以加-osscan-guess参数(nmap -O -osscan-guess 目标IP),让 Nmap 更积极地猜测操作系统版本,我在扫 Metasploitable 2 靶机时,用这个组合参数精准识别出是‘Linux 2.6.24’”。

8. Burp 的 Repeater 模块有什么用?举一个你用它解决问题的案例。

参考答案

  • 作用:Repeater 模块用于 “重复发送 HTTP 请求并修改参数”,支持手动调整请求头、参数值、请求方法,适合对单个请求进行多次测试(如验证漏洞、调试参数),比重新抓包更高效;

  • 案例:我在测试某 Web 页面的 “ID 参数遍历” 漏洞时,用 Repeater 发送http://test.com/detail?id=1的请求,返回用户 1 的信息;然后在 Repeater 中直接把id=1改成id=2,发送后返回用户 2 的信息,确认存在越权访问漏洞 —— 不用每次都重新抓包,直接修改参数就能快速测试多个 ID 值。

面试加分点:提 “效率提升”,比如 “之前没⽤ Repeater 时,测试 10 个 ID 要抓 10 次包,用 Repeater 后 5 分钟就能测完,还能保存每个请求的响应结果,方便对比分析”。

9. Wireshark 如何过滤出 “来自 192.168.1.100 且目标端口为 80 的 HTTP 请求”?

参考答案

用组合过滤规则:ip.src == 192.168.1.100 and tcp.dstport == 80 and http

  • 各部分含义:

  • ip.src == 192.168.1.100:筛选 “源 IP 为 192.168.1.100” 的数据包;

  • tcp.dstport == 80:筛选 “TCP 目标端口为 80” 的数据包(80 是 HTTP 默认端口);

  • http:进一步筛选 “HTTP 协议” 的数据包,排除非 HTTP 的 TCP 流量(如 80 端口的其他 TCP 连接)。

面试加分点:延伸 “复杂场景过滤”,比如 “如果目标 HTTP 服务用 8080 端口,只需把tcp.dstport == 80改成tcp.dstport == 8080;如果想保存过滤结果,可点击 Wireshark 的‘File→Export Specified Packets’,只导出符合规则的数据包,方便后续分析”。

10. Metasploit 中,meterpreter会话获取后,用什么命令查看目标系统的进程列表?如何结束指定进程?

参考答案

  • 查看进程列表:ps(Process Status的缩写,执行后会显示进程 ID(PID)、进程名、用户等信息);

  • 结束指定进程:kill PID(将 “PID” 替换为要结束的进程 ID,如kill 1234)。

面试加分点:结合实战需求,比如 “我在 HTB Blue 靶机获取 meterpreter 会话后,用ps命令发现有‘360safe.exe’进程(模拟杀毒软件),担心它会查杀我的会话,就用kill 360结束了这个进程,确保后续的提权操作能正常进行”。

二、漏洞原理类(10 题):覆盖 SQL 注入 / XSS / 永恒之蓝等核心漏洞
1. 什么是 SQL 注入漏洞?产生原因是什么?如何用简单方法检测一个登录页是否存在 SQL 注入?

参考答案

  • 定义:SQL 注入是攻击者通过 “构造特殊 SQL 语句”,将恶意代码注入到应用程序的 SQL 查询中,从而篡改查询逻辑、获取数据库数据(如账号密码)或控制数据库服务器的漏洞;

  • 产生原因:应用程序未对用户输入的参数进行 “过滤” 或 “参数化处理”,直接将用户输入拼接到 SQL 语句中(如sql = “select * from user where username=‘”+input+“’”);

  • 检测方法:在登录页的用户名输入框中输入admin’ or 1=1–,密码随便输,点击登录:

  • 若登录成功,说明存在 SQL 注入('闭合 SQL 语句的引号,or 1=1让查询恒真,–注释掉后续 SQL 代码);

  • 若提示 “用户名不存在” 或 “密码错误”,则可能不存在注入(或有过滤)。

面试加分点:补充 “防御建议”,比如 “我在 DVWA 靶机实训时,发现低难度模式的登录页存在 SQL 注入,后来给开发同学提了‘用参数化查询(如 Java 的 PreparedStatement、Python 的 pymysql 参数化)替代字符串拼接’的建议,修复后再输入admin’ or 1=1–就会被拦截”。

2. XSS 漏洞分为哪几类?区别是什么?举一个存储型 XSS 的实际场景。

参考答案

  • 分类及区别:
  1. 反射型 XSS:恶意脚本通过 “URL 参数” 注入,仅在当前请求中生效(一次性),如http://test.com/search?key=%3Cscript%3Ealert(1)%3C/script%3E,用户点击链接后脚本执行,刷新页面后失效;

  2. 存储型 XSS:恶意脚本被 “存储到目标服务器”(如数据库、评论区),所有访问该页面的用户都会触发脚本(持久性),危害比反射型更大;

  3. DOM 型 XSS:通过篡改 “页面 DOM 结构” 触发,恶意代码不经过服务器,仅在客户端执行(如通过document.write将用户输入插入页面);

  • 存储型 XSS 场景:某论坛的评论功能未过滤用户输入,攻击者在评论框输入,该评论被存储到论坛数据库;其他用户访问该帖子时,浏览器会加载并执行steal.js,导致 Cookie 被发送到攻击者的服务器。

面试加分点:结合防御实践,比如 “我在做 Web 实训时,用‘HTML 实体编码’(将<转成<,>转成>)修复了存储型 XSS 漏洞,修复后用户输入的

3. 什么是永恒之蓝漏洞(MS17-010)?影响哪些系统?利用原理是什么?

参考答案

  • 定义:永恒之蓝是微软 Windows 系统的 SMB 协议漏洞(编号 MS17-010),2017 年被曝光,攻击者可通过该漏洞远程执行代码,获取目标系统的最高权限;

  • 影响系统:Windows XP、Windows Server 2003、Windows 7、Windows Server 2008(未安装对应补丁的系统);

  • 利用原理:SMB 协议在处理 “特制请求” 时存在缓冲区溢出漏洞 —— 攻击者向目标系统的 445 端口(SMB 服务端口)发送包含恶意代码的数据包,超出 SMB 协议的缓冲区限制,覆盖内存中的正常数据,从而执行恶意代码(如反弹 shell)。

面试加分点:关联实训操作,比如 “我在 Metasploitable 2 靶机(模拟 Windows Server 2008)上测试过永恒之蓝漏洞,用 Metasploit 加载exploit/windows/smb/ms17_010_eternalblue模块,设置靶机 IP 后执行exploit,成功获取 SYSTEM 权限,还发现未打补丁的系统几乎 100% 能被利用”。

4. 文件上传漏洞的常见绕过方法有哪些?举 2 种并说明原理。

参考答案

常见绕过方法核心是 “让服务器误判文件类型或后缀,将恶意文件(如.php 后门)当作合法文件(如.jpg)上传”,以下是 2 种高频方法:

  1. 文件后缀绕过(黑名单绕过)
  • 原理:若服务器仅用 “黑名单” 禁止.php.asp等后缀,可利用 “服务器解析漏洞” 或 “特殊后缀” 绕过 —— 比如 Apache 服务器默认解析.php5.phtml为 PHP 文件,IIS 服务器解析test.asp;.jpg时,会忽略;.jpg,只解析test.asp;

  • 实操:将恶意文件命名为shell.php5(针对 Apache)或shell.asp;.jpg(针对 IIS),若服务器未禁止这些特殊后缀,上传后访问该文件即可执行恶意代码。

  1. MIME 类型绕过
  • 原理:部分服务器仅校验 HTTP 请求头中的 “Content-Type”(MIME 类型)判断文件合法性(如允许image/jpeg,禁止application/x-httpd-php),可通过 Burp 抓包修改 MIME 类型绕过;

  • 实操:将.php恶意文件改名为shell.jpg,抓包后将Content-Type: application/x-httpd-php改为Content-Type: image/jpeg,服务器会误认为是图片文件,允许上传,后续再通过 “文件包含漏洞” 或 “解析漏洞” 执行该文件。

面试加分点:结合实训案例,比如 “我在 DVWA 靶机的‘文件上传’模块测试时,先用shell.php5绕过 Apache 的黑名单,上传后访问http://dvwa/shell.php5成功执行命令;后来测试 IIS 靶机,用 Burp 把shell.asp的 MIME 类型改成image/jpeg,上传后通过http://iis靶机/shell.asp;.jpg访问,成功获取 Webshell”。

5. 什么是 “越权访问” 漏洞?分为哪两类?如何检测一个后台管理系统是否存在越权漏洞?

参考答案

  • 定义:越权访问是指攻击者通过 “修改请求参数” 或 “绕过权限校验”,访问或操作超出自身权限的资源(如普通用户查看管理员数据、修改他人账号信息);

  • 分类:

  1. 水平越权:同权限等级的用户之间越权(如用户 A 查看用户 B 的订单信息);

  2. 垂直越权:低权限用户访问高权限资源(如普通用户访问管理员后台、执行管理员操作);

  • 检测方法:
  1. 水平越权检测:登录普通用户 A 的账号,获取 “查看个人信息” 的请求(如http://test.com/user/info?id=123,id=123是 A 的用户 ID),用 Burp 将id=123改成其他用户 ID(如id=124),若能返回用户 124 的信息,说明存在水平越权;

  2. 垂直越权检测:登录普通用户账号,获取 “查看个人资料” 的请求(如http://test.com/user/profile),将请求中的Cookie或Token替换为管理员的Cookie(若能获取),或直接访问管理员后台 URL(如http://test.com/admin/index),若能成功进入后台,说明存在垂直越权。

面试加分点:补充防御思路,比如 “我在做 Web 实训时,发现某系统存在水平越权,后来建议开发在后台加‘用户 ID 与登录账号绑定校验’—— 每次请求时,先判断请求的id是否属于当前登录用户,不属于则拒绝访问,修复后成功拦截越权请求”。

6. 缓冲区溢出漏洞的原理是什么?为什么在 32 位系统中更易出现?

参考答案

  • 原理:缓冲区是内存中用于存储数据的固定大小区域,当向缓冲区写入超过其容量的数据时,多余数据会覆盖相邻内存区域(如函数返回地址、寄存器值),若攻击者构造 “包含恶意代码地址的溢出数据”,覆盖函数返回地址为恶意代码地址,函数执行完后会跳转到恶意代码,从而获取系统控制权;

  • 32 位系统更易出现的原因:

  1. 内存地址长度短:32 位系统的内存地址是 4 字节(32 位),攻击者只需构造 “4 字节的恶意地址” 就能覆盖返回地址,溢出数据长度可控,攻击难度低;

  2. 缺乏地址随机化:早期 32 位系统默认关闭 “地址空间布局随机化(ASLR)”,函数返回地址和恶意代码地址固定,攻击者无需破解随机地址,直接构造固定地址即可溢出;

  3. 编译器保护弱:32 位系统的编译器(如早期 GCC)默认不开启 “栈保护(Stack Canary)”“栈不可执行(NX)” 等防护机制,缓冲区溢出后更容易执行恶意代码。

面试加分点:关联工具使用,比如 “我在 Metasploitable 2 靶机(32 位 Linux 系统)上测试过缓冲区溢出,用msfvenom生成溢出 payload,通过nc发送到靶机的 vulnerable 服务,成功覆盖返回地址,获取 shell;后来在 64 位系统测试时,因 ASLR 开启,需要先泄露内存地址才能溢出,难度明显更高”。

7. 什么是 “逻辑漏洞”?举 2 个常见场景,并说明如何防御。

参考答案

  • 定义:逻辑漏洞是由于应用程序 “业务逻辑设计缺陷” 导致的漏洞,不涉及代码语法或协议漏洞,而是业务流程中的逻辑漏洞(如权限校验缺失、参数校验不完整),往往比技术漏洞更难检测;

  • 常见场景:

  1. 密码重置逻辑漏洞:密码重置功能仅校验 “邮箱验证码”,不校验 “验证码与账号的绑定关系”—— 攻击者可通过 Burp 抓包,将 “重置账号” 从admin@test.com改成user@test.com,用自己邮箱收到的验证码重置他人账号密码;

  2. 订单支付逻辑漏洞:支付功能仅前端校验订单金额,后端未二次校验 —— 攻击者通过 Burp 将 “订单金额 100 元” 改成 “1 元”,后端直接按 1 元扣费,完成支付;

  • 防御方法:
  1. 密码重置:后端需校验 “验证码归属”,确保验证码是该账号对应的邮箱 / 手机发送的,同时设置验证码有效期(如 5 分钟)、限制错误次数(如 5 次错误后锁定);

  2. 订单支付:后端必须二次校验订单金额、商品信息,以数据库中的原始数据为准,不依赖前端传递的参数,同时记录支付日志,便于后续审计。

面试加分点:结合实战发现,比如 “我在测试某电商网站的支付功能时,用 Burp 把 100 元的订单金额改成 1 元,提交后居然成功支付,后来给开发提了‘后端二次校验订单金额’的建议,修复后再修改金额就会提示‘订单信息异常’”。

8. 什么是 “CSRF(跨站请求伪造)” 漏洞?原理是什么?如何防御?

参考答案

  • 定义:CSRF 是攻击者利用 “用户已登录的身份”,诱导用户点击恶意链接或访问恶意页面,触发向目标网站发送伪造的请求(如转账、修改密码),从而完成越权操作;

  • 原理:

  1. 用户登录 A 网站(如银行网站),浏览器保存 A 网站的 Cookie(包含登录凭证);

  2. 用户未退出 A 网站,又访问攻击者搭建的恶意网站 B;

  3. 恶意网站 B 自动向 A 网站发送 “转账” 请求(如http://bank.com/transfer?to=攻击者账号&money=1000),浏览器会自动携带 A 网站的 Cookie;

  4. A 网站未校验请求来源,误认为是用户本人操作,执行转账操作;

  • 防御方法:
  1. 添加 CSRF Token:服务器在每个表单或请求中生成唯一的 “CSRF Token”,并存储在 Session 中,客户端提交请求时需携带该 Token,服务器校验 Token 有效性,恶意网站无法获取 Token,伪造请求失败;

  2. 校验 Referer/Origin 头:服务器校验请求的 “Referer”(请求来源 URL)或 “Origin”(请求来源域名),仅允许来自本网站的请求(如 Referer 为http://bank.com);

  3. SameSite Cookie:设置 Cookie 的SameSite属性为Strict或Lax,限制 Cookie 仅在本网站请求中携带,恶意网站的跨站请求无法携带 Cookie。

面试加分点:结合实训验证,比如 “我在 DVWA 的‘CSRF’模块测试时,生成恶意转账链接后,用已登录的浏览器访问,成功触发转账;后来给页面添加 CSRF Token,再访问恶意链接,服务器因 Token 无效拒绝请求,防御生效”。

9. Linux 系统中,“提权” 是什么意思?常见的提权方法有哪些?举 1 个你用过的案例。

参考答案

  • 定义:提权是指攻击者从 “低权限账号”(如www-data、普通用户)通过 “利用系统漏洞” 或 “配置缺陷”,获取 “高权限账号”(如root)的过程,是渗透测试中 “控制目标系统” 的关键步骤;

  • 常见方法:

  1. 利用 SUID 权限文件提权:SUID 文件会以文件所有者的权限执行(如/usr/bin/find是 root 所有且设置 SUID,普通用户执行find时会以 root 权限运行),攻击者可通过find的 “-exec” 参数执行命令(如find / -name test -exec /bin/bash ;),获取 root shell;

  2. 利用系统漏洞提权:如 “Dirty COW(CVE-2016-5195)” 漏洞,攻击者通过修改内存中的文件内容,将普通用户添加到/etc/passwd,实现 root 登录;

  3. 利用 sudo 配置缺陷提权:若/etc/sudoers文件允许普通用户 “无需密码执行 root 命令”(如user ALL=(ALL) NOPASSWD: /usr/bin/vi),用户可执行sudo vi,在 vi 中输入:!bash,获取 root shell;

  • 案例:我在 Kioptrix 靶机(Linux 系统)实训时,发现/usr/bin/find是 SUID 文件,执行find /tmp -name testfile -exec /bin/bash ;,成功从www-data用户切换到 root 用户,获取系统最高权限。

面试加分点:补充提权工具使用,比如 “实际渗透中,我会先用LinPEAS(Linux 提权脚本)扫描靶机,它会自动检测 SUID 文件、系统漏洞、sudo 配置缺陷,帮我快速定位提权方法,比手动排查效率高很多”。

10. 什么是 “命令注入” 漏洞?产生原因是什么?如何用简单方法检测?

参考答案

  • 定义:命令注入是攻击者通过 “构造特殊命令参数”,将恶意系统命令注入到应用程序的 “系统命令调用” 中,从而执行攻击者指定的命令(如查看文件、反弹 shell);

  • 产生原因:应用程序未对用户输入的参数进行 “过滤” 或 “转义”,直接将用户输入拼接到系统命令中(如 PHP 的system("ping ".$_GET[‘ip’]),若用户输入127.0.0.1 && ls,则实际执行ping 127.0.0.1 && ls,ls命令会被执行);

  • 检测方法:

  1. 在用户输入框(如 “ping 测试” 的 IP 输入框)中输入 “合法参数 + 特殊命令分隔符 + 测试命令”,常见分隔符有&&(执行前命令成功后执行后命令)、;(无论前命令是否成功都执行后命令)、|(将前命令输出作为后命令输入);

  2. 示例:输入127.0.0.1 && whoami,若返回当前系统用户(如root、www-data),说明存在命令注入;输入127.0.0.1 ; ls,若返回当前目录文件列表,也说明存在漏洞。

面试加分点:结合防御实践,比如 “我在开发‘ping 测试工具’时,刚开始直接拼接用户输入,存在命令注入风险;后来用‘白名单校验’只允许输入 IP 格式(如通过正则表达式^((25[0-5]|2[0-4]\d|[01]?\d\d?).){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$校验),同时避免使用system()等危险函数,改用安全的 API(如 PHP 的exec()并限制输出),彻底修复漏洞”。

三、面试答题通用技巧:帮你 “答出亮点” 的 3 个关键
  1. 结合实战经历:无论答工具题还是漏洞题,都要加 “我在 XX 靶机 / 实训中做过 XX 操作”,比如答 Nmap 时提 “HTB 靶机扫描”,答 SQL 注入时提 “DVWA 测试”,避免空泛说理论;

  2. 关联岗位需求:若面试 “渗透测试岗”,多讲工具实操和漏洞利用案例;若面试 “安全运维岗”,在答漏洞题时补充 “防御建议”(如 SQL 注入的参数化查询、XSS 的编码过滤),体现岗位适配性;

  3. 主动暴露 “学习能力”:遇到不会的题,别直接说 “不会”,可答 “这个问题我目前没深入研究,但我知道 XX 相关知识点(如答不上 CSRF 防御时,可提‘我了解 XSS 的防御方法是编码过滤,推测 CSRF 也需要类似的请求校验’),后续会重点学习”,展现积极态度。

互动话题:如果你想学习更多网安方面的知识和工具,可以看看以下题外话!

网络安全学习路线&学习资源

很多小伙伴想要一窥网络安全整个体系,这里我分享一份打磨了4年,已经成功修改到4.0版本的**《平均薪资40w的网络安全工程师学习路线图》**对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

如果你想要入坑黑客&网络安全工程师,这份282G全网最全的网络安全资料包!
↓↓↓ 扫描下方图片即可前往获取↓↓↓

网络安全学习路线&学习资源

在这里插入图片描述


在这里插入图片描述
学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

网络安全源码合集+工具包

​​​​​​

视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,,每个章节都是当前板块的精华浓缩。(全套教程点击领取哈)

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

视频配套资料&国内外网安书籍、文档&工具

​​​​​
​​ 因篇幅有限,仅展示部分资料,需要扫描下方图片即可前往获取
在这里插入图片描述好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!

特别声明:

此教程为纯技术分享!本文的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值