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

解锁一些SQL注入的姿势

昨天课堂上布置了要去看一些sql注入的案例,以下是我的心得:

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        

1.新方法

打了sqli的前十关,我发现一般都是联合查询,但是有没有不是联合查询的方法呢? 有!!

 一般,我们都是这样,找到显示位,然后让前面报错,显示出后面的值!!!

但是如果union被过滤了呢,那我们就要考虑去不用union(首先我们的database名字是security

发现这样也是可以正常回显(意思就是数据库以s开头那么我们是不是就是可以逐一爆破出数据库甚至是用户

好方法,涨芝士了               

2.直接爆出字段与数据

再看这一篇blog的时候,不得不感叹大佬的绕WAF的能力,以及想法都太强啦 来看 !!

这个大佬当时在一顿构造之后,发现都爆不出他的数据库,或者用户,于是他就转念一想

直接爆他的字段和数据🦹🦹🦹🦹

如果成功就是说明存在一个字段名字是user而且里面的有一个值是b

下面我们拿自己的sql来演示一下

假设我们有一个字段名字是username 我们直接查询id=1是可以看见的

但是如果我们猜到他的字段username呢?这样我们是不是就可以一个一个的爆出他的值

除了这个他还介绍了一些绕WAF的方式

  1.  =号被拦截的话就用 <>  like regexp  来bypass
  2. 空格被过滤就用+ %0a /**/ 来绕过
  3. 如果WAF正则匹配 use() 的话可以在user和()之间加入 /**/或者%0a
  4. database()被过滤? 试试schema() 

又涨知识了,嘿嘿        

3.多个轮子,你还能继续下去吗

我们的查询一般都是一个查询的,但是如果原本就是了联合查询呢?像这样

 如果我们插入sql语句,你就会发现出现这样

这样,前面为假,or后面a=a是真的 但是code那里又是假的,所以or两边都是假的,恒为假

方法:开多几个轮子✌️✌️✌️👍

select * from table where id=' or 1=1 or '1'='1' and code=""

如果不报错,那么就说明中间1=1的作用起到了!!! 于是我们就可以从中间下手,进行注入

还有一些blog还没来的及看,等我看了一定补上嘻嘻

    

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

相关文章:

  • Qt 拖拽事件示例
  • Linux:命名管道及其实现原理
  • 实习记录——第五天
  • Kotlin 教程(环境搭建)
  • 04.领域驱动设计:了解聚合和聚合根,怎样设计聚合-学习总结
  • cmake-find_package链接第三方库
  • obsidian阅读pdf和文献——与zotero连用
  • 走方格(动态规划)
  • 基于DataKit迁移MySQL到openGauss
  • API网关-Apinto压缩包方式自动化安装配置教程
  • 内网穿透natapp使用教程(Linux)
  • php函数 二
  • IDC机房交换机核心技术与应用指南
  • Compose | UI组件(五) | Button 按钮组件
  • 【leetcode刷刷】235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点
  • YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译
  • 高中数学常识
  • docker之部署青龙面板
  • Type-C平板接口协议芯片介绍,实现单C口充放电功能
  • 系统架构演变
  • Oracle PL/SQL Programming 第2章:Creating and Running PL/SQL Code 读书笔记
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Swiper容器组件
  • 『建议收藏』OpenAI官方出的Prompt提示词教程中文版来了!
  • 牛刀小试 - C++ 推箱子小游戏
  • 手机视频压缩怎么压缩?一键瘦身~
  • 目标主力能源:华为智能光伏的时代指南针
  • 每日一题 力扣2846 边权重均等查询
  • 【Docker】Docker学习⑨ - 单机编排之Docker Compose
  • ES6笔记-symbol
  • C++设计模式介绍:优雅编程的艺术