1. 靶机环境与任务概述
最近在HTB Labs上尝试了一个名为"Appointment"的起点靶机,主要考察SQL注入相关的Web安全知识。这个靶机非常适合刚入门Web安全的新手练习,通过10个循序渐进的任务,涵盖了从基础概念到实际漏洞利用的完整流程。
靶机运行在标准的Web环境中,开放了80端口提供HTTP服务。从初步扫描来看,系统运行着常见的Web服务栈,后端数据库采用MySQL。整个挑战的核心在于理解SQL注入原理,并利用这个漏洞绕过登录验证获取flag。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. SQL注入基础概念解析
2.1 SQL语言与注入原理
SQL(Structured Query Language,结构化查询语言)是与关系型数据库交互的标准语言。它允许我们执行查询、插入、更新和删除数据等操作。当应用程序将用户输入直接拼接到SQL查询中而没有适当处理时,就可能产生SQL注入漏洞。
举个例子,正常的登录查询可能是:
sql复制SELECT * FROM users WHERE username='admin' AND password='123456'
但如果应用程序直接将用户输入拼接到查询中,攻击者可以输入特殊构造的值来改变查询逻辑。比如输入admin' -- 作为用户名,查询就变成了:
sql复制SELECT * FROM users WHERE username='admin' -- ' AND password='...'
--是SQL注释符号,这使得密码检查被忽略,从而可能绕过认证。
2.2 OWASP Top 10中的注入漏洞
在2021年OWASP Top 10中,注入漏洞(包括SQL注入)被归类为"A03:2021-Injection"。这类漏洞长期位居安全威胁前列,因为它们:
- 危害严重:可能导致数据泄露、认证绕过甚至系统完全沦陷
- 广泛存在:许多老旧系统仍未修复这类基础漏洞
- 利用简单:攻击者只需基本的Web请求工具
3. 靶机环境侦察
3.1 服务扫描与识别
使用nmap对靶机进行基础扫描:
bash复制nmap -sV -p 80 <target_ip>
扫描结果显示目标运行着Apache httpd服务,版本信息为2.4.41。这是常见的
