首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用基于时间的SQL注入而不使用单引号?

如何利用基于时间的SQL注入而不使用单引号?
EN

Security用户
提问于 2016-09-16 00:04:44
回答 1查看 390关注 0票数 -3

我正在一个web应用程序上做一些测试,我在一个存储过程中发现了一个SQL注入。就像这样:

代码语言:javascript
复制
Stored_procedure [input]

存储过程验证输入,它必须是一个整数,但我可以插入另一个SQL语句,如下所示:

代码语言:javascript
复制
Stored_procedure 1;SELECT CURRENT_USER;

web应用程序没有向我显示第二个SQL语句的结果,因此我尝试根据时间执行SQL注入:

代码语言:javascript
复制
Stored_procedure 1;WAITFOR DELAY '00:00:10';

它不起作用,因为web应用程序用的是单引号,所以我更改了我的SQL注入:

代码语言:javascript
复制
Stored_procedure 1;WAITFOR DELAY (CHAR(48)+CHAR(48)+CHAR(58)+CHAR(48)+CHAR(48)+CHAR(58)+CHAR(49)+CHAR(48));

这不起作用,它会产生一个错误。你能帮我弄清楚它为什么不起作用吗?或者我如何利用它?

EN

回答 1

Security用户

发布于 2016-09-16 07:59:30

有许多方法可以绕过SQL语句的抓取,特别是如果它没有递归地执行输入的刮取(或清除)。您有时可以通过将输入封装到您知道将被过滤掉的其他字符中,有时只需在每个受限或筛选的字符前面放置一个wack即可。关于这一主题的更多内容,我强烈建议在“Web应用程序黑客手册”( Wiley )中找到大量的例子。严重提高了我的SQLi和其他网络应用破解游戏。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/136914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档