前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Postgresql数据库相关知识及注入

Postgresql数据库相关知识及注入

作者头像
Tommonkey
发布于 2023-02-27 12:35:20
发布于 2023-02-27 12:35:20
79600
代码可运行
举报
文章被收录于专栏:TommonkeyTommonkey
运行总次数:0
代码可运行

Postgresql是开源的,免费的,并且属于关系型数据库。他与mysql一样都依赖于 SQL(结构化查询语言)。

部署Postgresql

关于Postgresql的安装方式有三种,分别是:yum源安装,源码安装,二进制安装,这里为了方便,我选择的是源码安装。这是Postgresql源码包下载的官网:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://www.postgresql.org/download/

Postgresql官网下载的页面提供了安装脚本(选择响应的版本),安装过程十分方便噢!在安装过程中默认安装会创建postgres 用户,,使用postgres用户,psql命令会直接进入数据库

进入数据库看是否正常:

Postgresql常用命令与函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
psql -U post -d dbname -h host -W   	# 使用post用户登录到数据库名为:dbname,登录主机为host地址,-W表示是否输入密码  
CREATE USER testUser WITH PASSWORD '*';	# 创建用户  
GRANT ALL PRIVILEGES ON DATABASE test TO user;    				# 将数据库test授权给user,但此时用户还是没有读写权限,需要继续授权表  
GRANT ALL PRIVILEGES ON all tables in schema public TO user;  	# 授予读写权限   
ALTER ROLE pg SUPERUSER                 # 修改用户角色为超级管理员
CREATE/DROP ROLE name                   # 创建/删除 角色
\l						  				# 显示所有数据库  
\c dbname				  				# 使用某个数据库   
\du                                     # 用户列表	
\dt 					  				# 显示数据表  
\password post			  				# 为post用户添加密码  
\di						  				# 查看索引  
create\drop database dbname;  			# 创建\删除数据库     
alter table [表名A] rename to [表名B];  # 重命名数据表  
drop table [表名]; 						# 删除表   

其他的一些命令我就不写了,这里贴一张网上的资源:

CAST() 与 ::

CAST是用来进行数据类型格式转换,当传入的某些数值会与数据库字段类型不一致,就需要CAST来进行类型转换,如:

SELECT name FROM student WHERE id = cast(1003 as VARCHAR);

这里使用cast将1003整数型转化为VARCHAR字符串类型。 字段::也是用户类型转化的,如:

SELECT name FROM student WHERE id = 1002 :: VARCHAR;

表示的也是将1002整数型转换为VARCHAR字符型。

资源

这里贴上来自互联网上的关于该数据库注入有关的语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select CURRENT_SCHEMA()           #查看当前权限
select user                       #查看用户
select current_user               #查看当前用户
select chr(97)                    #将ASCII码转为字符
select chr(97)||chr(100)||chr(109)||chr(105)||chr(110)  #将ASCII转换为字符串
SELECT session_user;
SELECT usename FROM pg_user;
SELECT getpgusername();
select version()                  #查看PostgreSQL数据库版本
SELECT current_database()         #查看当前数据库
select length('admin')            #查看长度
 
select case when(expr1) then result1 else result2 end;  #如果xx,执行result1,否则result2
例:select case when(current_user='postgres') then pg_sleep(5) else pg_sleep(0) end;
 
select pg_read_file("/etc/passwd");          #读取文件
select system("whoami");                     #执行系统命令,11.2以下才有该命令
COPY (select '<?php phpinfo();?>') to '/tmp/1.php';   #写入文件

噢,这个数据库的注释是:--

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-282,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
机器学习神器Scikit-Learn入门教程
本篇文章通过简明快要的方式来介绍scikit-learn的使用,更多详细内容请参考官网:
算法进阶
2022/06/02
8010
机器学习神器Scikit-Learn入门教程
Scikit-Learn Cheat Sheet:Python机器学习
一个方便的scikit-learn备忘录,用于使用Python进行机器学习,包括代码示例。
iOSDevLog
2018/07/25
1.4K0
Scikit-Learn Cheat Sheet:Python机器学习
用scikit-learn开始机器学习
原文:https://www.raywenderlich.com/174-beginning-machine-learning-with-scikit-learn 作者: Mikael Konutgan 2018年2月12日·中级·文章·15分钟
iOSDevLog
2018/10/22
1.8K0
用scikit-learn开始机器学习
Scikit-learn 基础
Scikit-learn 是开源的 Python 库,通过统一的界面实现机器学习、预处理、交叉验证及可视化算法。
iOSDevLog
2019/05/29
8720
机器学习神器Scikit-Learn极简入门教程
Scikit-learn是一个非常知名的Python机器学习库,它广泛地用于统计分析和机器学习建模等数据科学领域。
皮大大
2022/01/12
2.6K0
机器学习神器Scikit-Learn极简入门教程
全网最全的Scikit-Learn学习手册!
图解机器学习 本文详解 scikit-learn 工具库的用法,覆盖机器学习基础知识、SKLearn讲解、SKLearn三大核心API、SKLearn高级API等内容。
用户6888863
2023/03/01
2.4K0
全网最全的Scikit-Learn学习手册!
Python机器学习:Scikit-Learn教程
一个易于理解的scikit-learn教程,可以帮助您开始使用Python机器学习。
iOSDevLog
2018/07/25
2.3K0
Python机器学习:Scikit-Learn教程
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
机器学习正在快速改变我们的世界,而Scikit-Learn作为Python生态中最为强大的机器学习库之一,是每个数据科学家和工程师不可或缺的工具。本篇文章旨在从零开始,带领你逐步掌握Scikit-Learn的核心功能与实际应用。无论你是刚刚接触机器学习的初学者,还是希望提升技能的进阶学习者,这篇文章都将为你提供一条清晰的学习路径,助你在数据科学领域中不断成长和突破。让我们一起踏上这段充满探索与发现的旅程,解锁机器学习的无限可能。
半截诗
2024/10/09
6260
【机器学习基础】Scikit-learn主要用法
Scikit-learn是基于NumPy、SciPy和Matplotlib的开源Python机器学习包,它封装了一系列数据预处理、机器学习算法、模型选择等工具,是数据分析师首选的机器学习工具包。   自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法。还包括了特征提取,数据处理和模型评估三大模块。
Francek Chen
2025/01/22
1860
【机器学习基础】Scikit-learn主要用法
从入门到精通Python机器学习:scikit-learn实战指南
在数据科学和机器学习领域,Python以其简洁的语法和强大的库支持,成为了许多开发者和研究者的首选语言。而在众多Python机器学习库中,scikit-learn以其易用性、灵活性和强大的算法集合,成为了最受欢迎的库之一。本文将深入探讨scikit-learn的原理和应用,并通过项目案例展示其在实际问题解决中的强大能力。
颜淡慕潇
2024/07/17
1.2K0
从入门到精通Python机器学习:scikit-learn实战指南
Scikit-learn的模型设计与选择
目的:本文的目的是从头到尾构建一个管道,以便在合成数据集上访问18个机器学习模型的预测性能。
代码医生工作室
2019/07/12
2.4K0
Scikit-learn的模型设计与选择
用Python与Scikit-learn构建高效机器学习模型
文章链接:https://cloud.tencent.com/developer/article/2472162
一键难忘
2024/11/29
2410
教程 | 如何通过Scikit-Learn实现多类别文本分类?
选自towardsdatascience 作者:Susan Li 机器之心编译 参与:程耀彤、黄小天 互联网的绝大多数的文本分类都是二进制的,本文要解决的问题更为复杂。作者使用 Python 和 Jupyter Notebook 开发系统,并借助 Scikit-Learn 实现了消费者金融投诉的 12 个预定义分类。本项目的 GitHub 地址见文中。 GitHub 地址:https://github.com/susanli2016/Machine-Learning-with-Python/blob/mas
机器之心
2018/05/10
1.5K0
《Scikit-Learn与TensorFlow机器学习实用指南》第2章 一个完整的机器学习项目
第2章 一个完整的机器学习项目 来源:ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》翻译项目 译者:@SeanCheney 校对:@Lisanaaa @飞龙 本章中,你会假装作为被一家地产公司刚刚雇佣的数据科学家,完整地学习一个案例项目。下面是主要步骤: 项目概述。 获取数据。 发现并可视化数据,发现规律。 为机器学习算法准备数据。 选择模型,进行训练。 微调模型。 给出解决方案。 部署、监控、维护系统。 使用真实数据 学习机器学习时,最好使用真实数据,而不是人工数
ApacheCN_飞龙
2018/05/16
2.9K0
基于Python的机器学习工具包:Scikit-learn
Scikit-learn是一个基于Python的机器学习工具包,旨在为用户提供简单而高效的工具来进行数据挖掘和数据分析。作为Python数据科学生态系统中最受欢迎的机器学习库之一,Scikit-learn提供了广泛的机器学习算法和工具,还包括数据预处理、特征选择、模型评估等功能。本文将详细介绍Scikit-learn库的特点、常见功能和应用场景,并通过具体案例演示其在Python数据分析中的具体应用。
网络技术联盟站
2023/07/03
7640
基于Python的机器学习工具包:Scikit-learn
Python机器学习工具:Scikit-Learn介绍与实践
Scikit-learn 简介 官方的解释很简单: Machine Learning in Python, 用python来玩机器学习。 什么是机器学习 机器学习关注的是:计算机程序如何随着经验积累自动提高性能。而最大的吸引力在于,不需要写任何与问题相关的特定代码,泛型算法就能告诉你一些关于数据的秘密。 Scikit-learn的优点 1、构建于现有的NumPy(基础n维数组包),SciPy(科学计算基础包), matplotlib(全面的2D/3D画图),IPython(加强的交互解释器),Sy
Python中文社区
2018/01/31
9030
Python机器学习工具:Scikit-Learn介绍与实践
【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN
使用 scikit-learn 介绍机器学习 | ApacheCN 内容提要 在本节中,我们介绍一些在使用 scikit-learn 过程中用到的 机器学习 词汇,并且给出一些例子阐释它们。 机器学习:问题设置 一般来说,一个学习问题通常会考虑一系列 n 个 样本 数据,然后尝试预测未知数据的属性。 如果每个样本是 多个属性的数据 (比如说是一个多维记录),就说它有许多“属性”,或称 features(特征) 。 我们可以将学习问题分为几大类: 监督学习 , 其中数据带有一个附加属性,即我
片刻
2018/01/15
1.3K0
【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN
Scikit-Learn: 机器学习的灵丹妙药
Scikit-Learn是python的核心机器学习包,它拥有支持基本机器学习项目所需的大部分模块。该库为从业者提供了一个统一的API(ApplicationProgramming Interface),以简化机器学习算法的使用,只需编写几行代码即可完成预测或分类任务。它是python中为数不多的库之一,它遵守了维护算法和接口层简单的承诺。该软件包是用python编写的,它包含了支持向量机的C++库(如LibSVM和LibLinearnforSupportVectorMachine)和广义线性模型实现。包依赖于Pandas(主要用于dataframe进程)、numpy(用于ndarray构造)和cip(用于稀疏矩阵)。
liuxuewen
2018/10/12
1.7K0
Scikit-Learn: 机器学习的灵丹妙药
教程 | 用Scikit-Learn构建K-近邻算法,分类MNIST数据集
选自TowardsDataScience 作者:Sam Grassi 机器之心编译 参与:乾树、刘晓坤 K 近邻算法,简称 K-NN。在如今深度学习盛行的时代,这个经典的机器学习算法经常被轻视。本篇教
机器之心
2018/05/08
1.4K0
教程 | 用Scikit-Learn构建K-近邻算法,分类MNIST数据集
从入门到精通:Scikit-learn实践指南
随着机器学习在各个领域的广泛应用,Python成为了一个备受欢迎的机器学习工具之一。在众多机器学习库中,Scikit-learn因其简单易用、功能强大而备受青睐。本文将介绍Scikit-learn的基本概念,以及如何在Python中使用它进行机器学习的实践。
一键难忘
2024/03/14
7130
推荐阅读
相关推荐
机器学习神器Scikit-Learn入门教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档