信息之路(第三周作业)-数据库系统表相关学习

一、 如何利用数据库的功能读写文件,需要什么样的条件才可以读写
我一直以为数据库只能读写数据呢,原来还可以读写文件。那接下来就看看mysql数据库、Oracle数据库等比较常用的数据库是如何读写文件的吧。
mysql如何读写文件
1、 load_file()或load data infile
原理:
新建一个表,将文件内容以字符串形式插入表中,然后读出表中数据。
需要的条件:
① 拥有file权限
② secure_file_priv不为NULL
以前复现过mysql的UDF漏洞,就是先将文件内容以字符串形式插入,然后再读出数据的。
在MySQL5.7中,secure_file_priv的值为某个文件夹:
在这里插入图片描述
2、 5.x的版本中,可以使用system cat命令读取文件
需要的条件:
① 拥有文件权限
② 本地读取
参考文章:
https://www.cnblogs.com/c1e4r/articles/8618692.html
https://blog.csdn.net/caiqiiqi/article/details/84673007
Oracle如何读写文件
1、 使用提供的create directory功能
先创建目录,再将读写权限授予特定用户
参考文章:
https://blog.csdn.net/fax5201314/article/details/6688598
https://www.jb51.net/article/34712.htm
二、学习数据库系统表的功能,如何利用 sql 语句查询库名、表名、字段名、内容以及当前用户等基本信息,将学习过程中关键部分整理成报告
扩展学习:尝试查询出用户的 hash,并使用 hashcat 来对获取的 hash 进行暴力破解
部分解释
1、 对于关系型数据库,都会提供文件读写的功能,但是具体如何实现略有不同,文件读写在我们利用数据库注入漏洞获取 webshell 的时候非常有帮助,所以读写文件的基础是必须要学的。
2、 任何关系型数据库,在默认安装成功之后会自带一些默认的系统库和表,这些库和表存储了数据库中很多关键的信息,比如用户创建的库相关信息、表相关信息、用户相关信息、权限相关信息、安装配置相关信息等,在我们利用注入漏洞获取更多信息和权限的过程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值