sqli-labs-php7-master第5-10关

news2024/9/22 11:35:31

第五关:

根据提示输入ID,随便来个一

输入100,因为数据库没有,所以这里没输出内容

还是先找注入点:输入单引号试试

注入点找到了‘

查询数据库列数;?id=1' order by 4 --+

测试发现order by 3时页面正常,当对第4列字段进行排序时,页面报错。说明该表只有3列

页面有布尔状态,所以用布尔盲注。页面没有回显不能用联合查询注入,没有报错信息,不能用报错注入

在这里,我们猜测数据库长度大于10,这里没有结果输出,说明数据库长度小于10

在这里,我们猜测数据库长度为8,发现有结果显示。说明数据库长度为8

再来一个substr()的例子:

猜测数据库第一个字符为K

在猜测数据库第一个字符为s

其他的操作也可以通过这样猜的方式得出

例如表名,字段名等

第六关:

先介绍一下,updatexml报错注入

原理: 我们在使用该函数进行报错的时候一般会去修改其第二个参数,通过构造非法格式的查询语句,来使其返回错误的信息,并将其更新出来。如果路径中(第二个参数)存在特殊符号 比如'~',就会报错 , 同时显示路径参数的内容,如果路径参数中包含函数 , 那么函数将会被执行 , 并将执行结果展示在报错内容中。

首先熟悉的单引号字符注入

发现没反应,可能过滤了单引号

 

OK,来试试双引号

注入点就找到了

试一试:id=1" and updatexml(1,concat(0x7e,(select database())),3);

获取表名:

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

web页面只能显示一行,所以用limit 限制

第七关:

首先寻找注入点

根据报错信息可以猜测'))或者"))

先来试试'))

可以发现注入点就是'))

使用select ...into outfile 语句的前提条件

1.mysql数据库中secure_file_priv参数设置允许对目录进行导入导出操作

2.mysql对路径有读取权限

3.在进行文件读取时要有权限。

secure_file_outfile参数

1.如果为空:不做任何限制,,任何目录都可以

2.如果指定了目录,就只能从这个目录导出

3.如果设置为NULL,则禁止导入导出功能。

使用导出语句进行数据爆破

?id=1')) union select 1,database(),version() into outfile '/root/text' --+

发现有问题

 show global variables like '%secure%';

在进行数据导出的时候出现–secure-file-priv option so it cannot execute this statement

问题时,修改/etc/mysql/mysql.conf.d/mysqld.cnf文件

在末尾添加一句secure_file_priv=”/”即可将数据导出到任意目录

又来了这个问题

算了算了。先跳过

第八关:

注入点为'

解释一下为什么不用报错注入:

当我们输入的语句正确,页面正常回显;当我们输入的语句错误,页面并不会给我们显示报错信息。显然我们不能使用报错注入了。

盲注:首先盲注是SQL注入的一种,盲注是在SQL注入的基础上,根据SQL注入的回显不同而定义的。也就是在服务器或者页面没有错误回显的时候完成的注入攻击。其实也就是猜解,输入语句猜解数据库名字、表名等等。

时间盲注:通过页面的响应时间来判断条件是否正确。

布尔盲注:布尔盲注一般适用于页面没有回显字段(不支持联合查询),且web页面返回True 或者 false。

举个栗子:

这是正确的输入

错误的输入

第九关:

可以看见一样没有内容信息显示

老方法:报错注入和盲注

先来报错注入:

id=1' irder by 4 --+

 经过判断该数据库的字段数为3,我这里根据第四列排序,肯定是错的。 

当然了:布尔盲注也用不了了

因为使用布尔盲注的前提是页面必须在面对不同的语句的时候有不同的回显。也就是语句正确回显正常,语句错误回显不正常。

这种时候适合采用时间盲注:

if(expr1,expr2,expr3)含义是如果expr1是True,则返回expr2,否则返回expr3。也可以理解为如果expr为True,则执行expr2,否则执行expr3。

sleep(int):代表过int时间后响应

测试:

?id=1' and sleep(2) --+

这段代码的含义是让网页停止两秒后响应,如果单引号是注入点,那么该页面就会停止两秒后再响应,如果双引号不是注入点,那么网页就会正常响应。

九关的注入点为单引号。

时间盲注猜数据库长度:

id=1?and if(length(database())>8,sleep(2),0)--+

可以发现是立即相应的,说明数据库长度小于=8

第十关:

发现是基于双引号的注入

测试过程:可以发现页面始终是这样,可以考虑下时间盲注

先' ,然后" ,反正就是猜嘛

id=1" and sleep(2) -++

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

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

相关文章

C++笔试练习笔记【5】:最小花费爬楼梯(有题目链接) 初识动态规划

文章目录 题目思路代码 动态规划简介**一、什么是动态规划****二、动态规划的应用场景****三、动态规划的基本步骤****四、动态规划的优缺点** 题目 题目链接:https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e?tpld230&tpld39751&ru/…

探索人工智能技术的发展导致知识崩溃危险的可能性

概述 本文分析了人工智能(AI)技术的发展在缩小人类知识库方面的潜力。 作者认为,如果大语言模型(LLMs)等人工智能技术迅速发展,人工智能生成的内容成为人类接触的大部分信息,那么长尾知识&…

python图表没有正确显示中文,这通常是因为matplotlib的默认设置不支持中文字符,或者相应的字体没有正确加载。

如果图表没有正确显示中文,这通常是因为matplotlib的默认设置不支持中文字符,或者相应的字体没有正确加载。你可以通过指定支持中文的字体来解决这个问题。下面是如何设置matplotlib以确保能够在图表中显示中文的步骤: 方法1:全局…

python的多线程

python的threading模块,它提供了丰富的接口来创建和管理线程。 定义一个函数print_numbers,这个函数将由线程执行。在这个函数中,我们使用一个循环来打印数字,并使用time.sleep(1)来模拟每个数字打印之间有1秒的延迟。 在 if __…

Windows应急响应-排查方式

目录 Windows应急响应排查流程一、账户排查排查方法(1)查看用户信息(2)lusrmgr.msc手动查(比较麻烦)(3)检测克隆账户 ---可使用安全工具D盾进行检测,同时可以直接查看端口…

群辉NAS利用AList搭建混合云盘⑥挂接腾讯微云

目录 ……接前文 5、挂接腾讯微云 未完待续…… ……接前文 5、挂接腾讯微云 登录AList后台→管理→存储→驱动供选择“腾讯微云”→填写挂接路径 打开“配置文档”(详见前文) 打开配置文档→简体中文→开始→找到腾讯微云部分,可以看到关于Cookie的设置方法。 手工用…

第十二章 元数据管理10分

12.1 引言 如果没有元数据,组织可能根本无法管理其数据。 ISO/IEC11179 元数据注册标准。 元数据管理原则:应归尽归,应收尽收。衡量标准:目录是否完整。(去第十二章 元数据管理)。 主数据管理:主…

(Javaweb)Ajax,Axios,Vue

目录 一.Ajax 二.Axios 三.前端工程化 四.接口文档的管理平台YAPI 五.Vue项目 六.Vue项目开发流程 一.Ajax 1.通过Ajax从服务器端获取数据 Ajax---JavaScript(网页行为)XML(标记语言--用来存储数据) 客户端--浏览器 服务…

【C++】深入理解类和对象(1)

自己打败自己是最可悲的失败,自己战胜自己是最可贵的胜利。💓💓💓 目录 ✨说在前面 🍋知识点一:类的定义 • 🌰1.类定义格式 • 🌰2.访问限定符 • 🌰3.类域 &…

人工智能时代,程序员当如何保持核心竞争力?

目录 前言 一.AI辅助编程对程序员工作的影响 二.程序员应重点发展的核心能力 三.人机协作模式下的职业发展规划 结束语 前言 随着AIGC(如chatgpt、midjourney、claude等)大语言模型接二连三的涌现,AI辅助编程工具日益普及,程序…

C++第三十一弹---C++继承机制深度剖析(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 1.菱形继承及菱形虚拟继承 1.1 单继承 单继承:一个子类只有一个直接父类时称这个继承关系为单继承。 Student的直接父类是Person&#xff…

双向循环链表和内核链表

目录 双向循环链表 结构设计 初始化 插入 删除 遍历(顺序/逆序,打印输出) 查找 主函数 内核链表 内核链表初始化定义 内核链表的插入定义 内核链表的遍历定义 内核链表剔除节点定义 内核链表如何移动节点定义 内核链表的应用 临时补充…

身在职场,不得不提防的几个问题,能让少走许多弯路

职场路本就崎岖,如果再走了弯路,脚下的路将会更漫长且难走。 谁不想一帆风顺,可谁又能一帆风顺?不是人心险恶,而是立场本就不同,为了各自的利益考虑无可厚非。 你可以说凭借能力获取利益,为什…

CVE-2023-37569~文件上传【春秋云境靶场渗透】

# 今天我们拿下CVE-2023-37569这个文件上传漏洞# 经过简单账号密码猜测 账号:admin 密码:password# 找到了文件上传的地方# 我们直接给它上传一句话木马并发现上传成功# 上传好木马后,右键上传的木马打开发现上传木马页面# 直接使用蚁剑进行连…

Linux5:Shell编程——函数、重定向

目录 前言 一、函数 1.函数结构 2.函数实例 3.函数传参 二、重定向 1.输出重定向 2.输入重定向 3.同时使用 4.重定向深入了解 5.垃圾桶 总结 前言 Shell编程将会在本章完结 一、函数 1.函数结构 #!/bin/sh # 函数function fun1() {echo "this is a funtion&q…

【有手就行】:从无到有搭建后端SpringBoot项目

前言 想静下心来写点东西,但是确实想不到该写点啥,可能是少了点感觉吧 😢。前面刚整理了下前端VUE,就想了下把后端也一起整理下吧,免得换电脑了安装环境又要弄半天,那就开搞吧 首先 准备环境 1.安装IDEA…

云计算实训21——mysql-8.0.33-linux-glibc安装及使用

一、mysql-8.0.33-linux-glibc安装 安装步骤 1.解压 tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz 2.清空其他环境 rm -rf /etc/my.cnf 3.安装依赖库 yum list installed | grep libaio 4.创建用户 useradd -r -s /sbin/nologin mysql 查看 id mysql 5.创建mysql-fi…

PXE批量网络装机(超详细实验教程)教会你自动化批量安装linux 系统 红帽7

1.创建自动化安装服务器 1.1. 搭建本地厂库 写入rpm.re文件内容 [rhel7]namerhel7baseurlfile:///rhel7gpgcheck0 Yum makecache 测试是否挂载成功 1.2.关闭虚拟机的本地DHCP 1.3下载必要软件 下载图形化脚本自动生成工具方便编写脚本 下载dhcp分配ip httpd 搭建网页 …

数据排序之旅

1、排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序…

vue3 + i18n 实现国际化并动态切换语言

安装 npm install vue-i18n// index.ts import { createI18n } from vue-i18n // 语言包 import ch from ./ch import en from ./enconst lang localStorage.getItem(localeLangD) || ch if (!localStorage.getItem(localeLangD)) {localStorage.setItem(localeLangD, lang) …