加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

mysql – 为公家提供在数据库上运行SELECT查询的要领有多伤害?

发布时间:2021-03-22 15:52:27 所属栏目:编程 来源:网络整理
导读:假设我执行以下操纵: 我建设了一个MySQL数据库,并用一些数据添补它. 我建设了一个只能会见该数据库且只具有SELECT权限的MySQL用户. 我建设了一个网页,用户(任何用户,无需暗码)都可以通过该网页输入恣意SQL,在提交表单时,剧本会实行以我建设的MySQL用户身份

假设我执行以下操纵:

>我建设了一个MySQL数据库,并用一些数据添补它.
>我建设了一个只能会见该数据库且只具有SELECT权限的MySQL用户.
>我建设了一个网页,用户(任何用户,无需暗码)都可以通过该网页输入恣意SQL,在提交表单时,剧本会实行以我建设的MySQL用户身份运行SQL;天生的任何功效集都表现给用户;天生的任何错误动静城市表现给用户.
>假设数据库不包括存储进程等,只包括表和视图,而且我很兴奋任何人都可以看到该特定命据库的任何内容.

我们假设配置将由恶意用户举办探测.也许产生的最坏环境是什么?

一些设法:

> MySQL提供各类语句,如SHOW等,纵然只有SELECT权限的用户也可以用来网络有关数据库处事器或我的数据库的信息.可以从错误动静中获取其他信息.固然也许不敷以得到不合法的会见权限,但这些信息必定有助于这样做.
>数据库软件或我的剧本或剧本说话自己也许存在缺陷,这些缺陷也许应承会见者执行他们不该该通过此界面执行的操纵.
>这样做也许违背处事协议条款,出格是假如我行使共享主机. 最佳谜底 嗯.智慧的用户也许会通过如下语法进攻:

select some_function_that_updates() from some_table;

而且有一个denial of service的进攻可以冲击内存,如:

select * from some_massive_table cross join some_other_massive_table;

坦白地说,对付有履历的措施员来说,编写一个示意精采的查询是很坚苦的……纵然他们试图编写一个好的查询,贫民也有什么机遇

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读