gpt4 book ai didi

mysql - 将限制 GET 参数直接传递给 MySQL 安全问题?

转载 作者:行者123 更新时间:2023-11-29 00:48:02 25 4
gpt4 key购买 nike

我想知道拥有类似于以下的 URL 是否存在安全风险

http://www.mytestapp.com/results?limit=1234

limit GET 参数随后将被检查为有效整数并直接传递到查询中。

如果用户将此参数更改为非常大的数字会发生什么情况?对于一个巨大的数据库,这会导致类似于拒绝服务的效果吗?

设置可变结果限制的最佳做法是什么?

最佳答案

不要只是将 GET 变量直接传递到您的查询中。如果你这样做了,那么我可以像这样进行 SQL 注入(inject):

http://www.mytestapp.com/results?limit=1%3BDROP%20TABLE%20USERS

你的查询最终会是这样的:

select * from some_table where parameter = 3 limit 1;DROP TABLE USERS

我假设您正在尝试进行分页。如果是这样,你会想要这样的东西:

http://www.mytestapp.com/results?page=1&size=10

然后,在您的后端,验证 pagesize 都是整数,并且都是合理的大小。也许对 size 的大小设置限制,例如,可能只是 10 到 100 的倍数。

关于mysql - 将限制 GET 参数直接传递给 MySQL 安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9724548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com