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

web——sqliabs靶场——第一关

今天开始搞这个靶场,从小白开始一点点学习,加油!!!!

1.搭建靶场

注意点:1.php的版本问题,要用老版本

              2.小p要先改数据库的密码,否则一直显示链接不上数据库

2.第一道题,从0开始

更着大佬学习怎么搞

1.判断是否存在sql注入漏洞

在开始之前我们要先知道如何判断是否存在sql注入漏洞:

最为经典的单引号判断法:
在参数后面加上单引号,比如: 1' 如果页面返回错误,则存在 Sql 注入。
原因是无论字符型还是整型都会因为单引号个数不匹配而报错。

(如果未报错,不代表不存在 Sql 注入,因为有可能页面对单引号做了过滤,这时可以使用判断语句进行注入)

有报错,说明有sql注入点

2.判断sql注入漏洞的类型

通常sql注入漏洞的类型有两种:

1.数字型 

2.字符型

其实所有的类型都是根据数据库本身表的类型所产生的,在我们创建表的时候会发现其后总有个数据类型的限制,而不同的数据库又有不同的数据类型,但是无论怎么分常用的查询数据类型总是以数字与字符来区分的,所以就会产生注入点为何种类型。

1.数字型判断:

当输入的参 x 为整型时,通常 abc.php 中 Sql 语句类型大致如下:select * from <表名> where id = x这种类型可以使用经典的 and 1=1 和 and 1=2 可以通过加,减,乘,除等运算来判断输入参数周围有没有引号来包围来判断:

Url 地址中输入x and 1=1 页面依旧运行正常,继续进行下一步。
Url 地址中继续输入x and 1=2 页面运行错误,则说明此 Sql 注入为数字型注入。

原因如下:
当输入 and 1=1时,后台执行 Sql 语句:select * from <表名> where id = x and 1=1 没有语法错误且逻辑判断为正确,所以返回正常。
当输入 and 1=2时,后台执行 Sql 语句:select * from <表名> where id = x and 1=2 没有语法错误但是逻辑判断为假,所以返回错误。

2.字符型判断:

当输入的参 x 为字符型时,通常 abc.php 中 SQL 语句类型大致如下:select * from <表名> where id = 'x'这种类型我们同样可以使用 and ‘1’='1 和 and ‘1’='2来判断:

Url 地址中输入 x' and '1'='1 页面运行正常,继续进行下一步。
Url 地址中继续输入 x' and '1'='2 页面运行错误,则说明此 Sql 注入为字符型注入。

原因如下:
当输入 and ‘1’='1时,后台执行 Sql 语句:select * from <表名> where id = 'x' and '1'='1'语法正确,逻辑判断正确,所以返回正确。
当输入 and ‘1’='2时,后台执行 Sql 语句:select * from <表名> where id = 'x' and '1'='2'语法正确,但逻辑判断错误,所以返回正确。

实践一下

数字型判断

/?id=1 and 1=1

回显正常

/?id=1 and 1=2

回显正常

字符型判断

/?id=1' and '1'='1

?id=1' and 1=1 --+

 

回显正常

/?id=1' and '1'='2

/?id=1' and 1=2 --+

发现没有回显,有错误,说明是字符型注入漏洞

现在进行联合注入,先来判断它的字段数 
?id=1' order by 1 -- +
?id=1' order by 2 -- +
?id=1' order by 3 -- +
?id=1' order by 4 -- +

这个 --+,主要是注释掉之后的语句

 

但是当判断到4的时候页面报错,说明它里面的字段数只有3位

字段数:在 SQL 查询中,字段数(Field count)通常指的是查询所涉及的列的数量。它代表查询结果中返回的列的个数。字段数是 SQL 查询的一个重要概念,它决定了查询结果中会返回多少列数据,也影响了数据库查询的结构、执行计划和性能。

开始爆出显示位,就是看看表格里面那一列是在页面显示的:
?id=100' union select 1,2,3 -- +

注意,这里为什么要将1改为100,是为了成功执行我们的联合查询中的显错位,这里的id不存在100位这么多,就会将后面的联合查询中的1,2,3,显示出来。

也可以将100改为-1,都是为了后面的1,2,3显示出来

可以看到是第二列和第三列里面的数据是显示在页面的

我们可以控制2,3出现的位置,那么开始判断库名:

获取当前数据名和版本号,这个就涉及mysql数据库的一些函数,记得就行。通过结果知道当前数据看是security,版本是5.7.26:

?id=-1'union select 1,database(),version() -- +

 

得到库名为security,下来判断表名

爆表,information_schema.tables表示该数据库下的tables表,点表示下一级。where后面是条件,group_concat()是将查询到结果连接起来。如果不用group_concat查询到的只有user。该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的内容

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 1,1 --+

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 2,1 --+

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 3,1 --+

/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 4,1 --+

查询出表名有:emails,referers,uagents,users 四个

可以用内置函数group_concat() 将表名一次性输出
?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+
  • 1, group_concat(table_name), 3:

  • 1: 这是第一列的值,通常是一个常量,表示查询结果的占位符。

  • group_concat(table_name): 这部分非常关键。GROUP_CONCAT() 是 MySQL 中的一个聚合函数,用来将多个结果行的内容拼接成一个字符串。在这个查询group_concat(table_name) 会将 information_schema.tables 中所有表名(table_name)拼接成一个由逗号分隔的长字符串

  • 3: 这是查询的第三列,类似于第一个列,它只是占位符,不会影响结果。

也是一共四个表

开始爆users的列名:

?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三列

从username和password两列里爆出数据
?id=-1' union select 1,group_concat(username),group_concat(password) from users -- +

 

得到数据,结束。。。

原文链接:sqli-labs靶场第一关-Less-1: - 张伟文 - 博客园

相关文章:

web——sqliabs靶场——第一关

今天开始搞这个靶场&#xff0c;从小白开始一点点学习,加油&#xff01;&#xff01;&#xff01;&#xff01; 1.搭建靶场 注意点&#xff1a;1.php的版本问题&#xff0c;要用老版本 2.小p要先改数据库的密码&#xff0c;否则一直显示链接不上数据库 2.第一道题&#xff0…...

tartanvo ubuntu 20.04部署

1. 所有环境安装流程参考 2. 运行python3 tartanvo_node.py出现问题&#xff1a; ImportError: cannot import name int from numpy版本问题&#xff0c;卸载当前版本并更换版本&#xff1a; pip uninstall numpy pip install numpy1.22.4问题解决。 3. 采用2to3脚本将其代…...

SpringBoot整合Freemarker(三)

定义循环输出的宏 <#macro list title items> ${title?cap_first}:<#list items as x>*${x?cap_first}</#list> </#macro><list items["mouse", "elephant", "python"] title"Animals"/> 输出结果…...

Android 一个APP打开另一个app的两种方式,需添加QUERY_ALL_PACKAGES权限

加&#xff1c;uses-permission android:name"android.permission.QUERY_ALL_PACKAGES"/> 方式1&#xff1a;打开外部app&#xff0c;在新窗口打开。 private void doStartAppPackageName(String packagename) { // 通过包名获取此APP详细信息&#x…...

<数据集>草莓叶片病害识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;4371张 标注数量(xml文件个数)&#xff1a;4371 标注数量(txt文件个数)&#xff1a;4371 标注类别数&#xff1a;7 标注类别名称&#xff1a;[Angular Leafspot, Anthracnose Fruit Rot, Blossom Blight, Gray Mol…...

React 中 `key` 属性的警告及其解决方案

React 中 key 属性的警告及其解决方案 文章目录 React 中 key 属性的警告及其解决方案1. 引言2. 什么是 key 属性3. key 属性的重要性4. 常见的 key 属性警告及其原因4.1 缺少 key 属性4.2 使用不稳定的 key&#xff08;如索引&#xff09;4.3 重复的 key 值 5. 如何解决 key 属…...

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时&#xff0c;需要排查蓝牙节点是否对应、固件是否加载成功&#xff0c;本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法&#xff0c;触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1&#xff0c;修改对应的节点&#xff0c;路径为…...

濮良贵《机械设计》第十版课后习题答案全解PDF电子版

《机械设计》(第十版)是“十二五”普通高等教育本科国家级规划教材&#xff0c; 是在《机械设计》(第九版)的基础上修订而成的。本次修订主要做了以下几项工作&#xff1a; 1. 内容的适当更新——自本书第九版出版以来&#xff0c; 机械工程及相关领域的新理论、新技术和新标准…...

Python进阶语法探索:列表推导式

在Python编程中&#xff0c;列表推导式&#xff08;List Comprehensions&#xff09;是一种简洁而强大的语法结构&#xff0c;它允许你以一行代码的形式创建列表&#xff0c;同时执行循环、条件判断等操作。列表推导式不仅提高了代码的可读性&#xff0c;还显著提升了编程效率。…...

java合并图片与文字

通过java来绘制海报&#xff0c;加载外部字体并设置样式大小与加粗、设置背景图、合并图片&#xff0c;下面是示例 import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.…...

OpenCV快速入门

OpenCV&#xff08;Open Source Computer Vision Library&#xff0c;开源计算机视觉库&#xff09;是一个广泛应用于图像处理、计算机视觉、视频分析等领域的开源库。它不仅适用于研究人员和开发人员&#xff0c;还被广泛用于学术、工业和商业应用。本篇文章将帮助你快速了解 …...

ArcGIS软件之“计算面积几何”地图制作

一、消防站的泰森多边形 效果图&#xff1a; 二、人口调查的泰森多边形 确定后效果图&#xff1a; 三、人口调查的泰森多边形属性设置 确定后的效果图&#xff1a; 四、计算面积几何&#xff0c;用于求密度 先添加字段area_1&#xff0c;然后设置浮点型及字段属性 五…...

RHCE 第四次作业

一.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 1.配置环境 [rootlocalhost ~]# yum install bind [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 2.配置DNS主服务器 [rootlocalhost ~]# vim /etc/named.conf options { …...

【贪心算法】No.1---贪心算法(1)

文章目录 前言一、贪心算法&#xff1a;二、贪心算法示例&#xff1a;1.1 柠檬⽔找零1.2 将数组和减半的最少操作次数1.3 最⼤数1.4 摆动序列1.5 最⻓递增⼦序列1.6 递增的三元⼦序列 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到…...

分布式光伏管理办法

随着分布式光伏项目的不断增加&#xff0c;传统的管理方式已经难以满足高效、精准的管理需求。光伏业务管理系统作为一种集信息化、智能化于一体的管理工具&#xff0c;正在逐步成为分布式光伏项目管理的重要支撑。 光伏业务管理系统通过数字化手段实现对光伏业务全流程的精细化…...

2024最新软件测试面试热点问题

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 大厂面试热点问题 1、测试人员需要何时参加需求分析&#xff1f; 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工…...

如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选

近年来&#xff0c;随着人工智能与大数据技术的迅猛发展&#xff0c;企业的营销手段和策略发生了巨大变化。尤其是在信息爆炸的数字时代&#xff0c;如何有效利用这些技术在海量数据中精准找到潜在客户&#xff0c;已成为中小企业亟待解决的核心问题。 最近&#xff0c;全球人…...

嵌入式硬件电子电路设计(三)电源电路之负电源

引言&#xff1a;在对信号线性度放大要求非常高的应用需要使用双电源运放&#xff0c;比如高精度测量仪器、仪表等;那么就需要给双电源运放提供正负电源。 目录 负电源电路原理 负电源的作用 如何产生负电源 负电源能作功吗&#xff1f; 地的理解 负电压产生电路 BUCK电…...

数据仓库还是数据集市?这俩怎么选?

数据仓库和数据集市作为支持决策分析的两种不同方式&#xff0c;根据各自的特点和优势&#xff0c;有不同的应用场景&#xff0c;今天就来探讨下数据集市和数据仓库该怎么选&#xff1f; 一、数据集市和数据仓库对比 1、数据集市与数据仓库的关系&#xff1a; 1&#xff09;数…...

计算机图形学 实验二 三维模型读取与控制

目录 一、实验内容 二、具体内容 (在实验2.3的基础上进行修改) 1、OFF格式三维模型文件的读取 2、三维模型的旋转动画 3、键盘鼠标的交互 4、模型的修改 三、代码 一、实验内容 读取实验提供的off格式三维模型&#xff0c;并对其赋色。利用鼠标和键盘的交互&#xff0…...

实战向 Python 汽车推荐系统 Django框架 可视化 协同过滤算法 数据分析 大数据 机器学习(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

探索介质超表面中的三次谐波与非线性光学

Comsol介质超表面三次谐波非线性模型&#xff0c;包含功率依赖 且倍频模型以及转换效率计算最近在研究介质超表面的非线性光学特性时&#xff0c;遇到了一个挺有意思的问题&#xff1a;如何在Comsol中模拟三次谐波生成&#xff08;THG&#xff09;以及倍频效应&#xff1f;尤其…...

【喜报】义翘神州再获CNAS认可,全面对标2025版药典新标准

义翘神州生物安全检测实验室近日成功通过中国合格评定国家认可委员会&#xff08;CNAS&#xff09;的扩项评审及定期监督评审&#xff0c;并已完成全部能力附表更新&#xff01;这标志着实验室技术能力与质量管理体系持续符合ISO/IEC 17025:2017国际标准的严苛要求&#xff0c;…...

【实验原理深度解析】弗兰克-赫兹实验:如何用电子“碰撞”揭示原子能级的秘密

1. 电子与原子的"对话"&#xff1a;弗兰克-赫兹实验的设计哲学 想象你站在一个漆黑的房间里&#xff0c;向对面墙壁投掷网球。如果墙壁是实心的&#xff0c;球会直接弹回&#xff1b;但如果墙上有一排高度不同的窗口&#xff0c;球只有达到特定速度才能穿过对应高度的…...

OpCore Simplify技术突破:如何用智能适配重构开源系统定制效率

OpCore Simplify技术突破&#xff1a;如何用智能适配重构开源系统定制效率 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在开源系统定制领域&#x…...

springboot+vue基于web的社区维修平台

目录同行可拿货,招校园代理 ,本人源头供货商功能模块划分技术实现要点扩展性设计项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块划分 用户管理模块 注册与登录&#xff1a;支…...

考研党必看!用Notion+Obsidian打造你的线性代数矩阵复习神器(附模板)

考研党必看&#xff01;用NotionObsidian打造你的线性代数矩阵复习神器&#xff08;附模板&#xff09; 线性代数作为考研数学的重要部分&#xff0c;矩阵理论更是其中的核心难点。传统的纸质笔记虽然直观&#xff0c;但难以实现知识点的快速检索、动态更新和跨章节关联。本文将…...

手把手教你解决HarmonyOS项目中的hvigor版本冲突问题(含API8/9兼容方案)

HarmonyOS开发实战&#xff1a;彻底解决hvigor版本冲突与API兼容性问题 上周团队新来的工程师小王在调试P40设备时突然惊呼&#xff1a;"这报错太诡异了&#xff01;明明代码没问题&#xff0c;为什么安装包死活装不上&#xff1f;"我凑近一看&#xff0c;控制台正显…...

如何用快马平台为网站开发公司快速生成企业官网原型,提升方案演示效率

作为一名经常需要快速响应客户需求的网站开发者&#xff0c;我最近发现了一个能大幅提升工作效率的好方法 - 使用InsCode(快马)平台来生成企业官网原型。这个方法特别适合像我们华网三百每年.cn这样需要快速为客户提供方案演示的网站开发公司。 需求分析阶段 当接到一个新客户…...

如何通过智能求职助手提升职位时间筛选效率?揭秘高效求职新方法

如何通过智能求职助手提升职位时间筛选效率&#xff1f;揭秘高效求职新方法 【免费下载链接】boss-show-time 展示boss直聘岗位的发布时间 项目地址: https://gitcode.com/GitHub_Trending/bo/boss-show-time 在当今竞争激烈的就业市场中&#xff0c;职位时间筛选已成为…...