首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完全盲SQL注入列枚举?

问完全盲SQL注入列枚举?
EN

Stack Overflow用户
提问于 2013-12-16 01:45:31
回答 1查看 2.5K关注 0票数 5

我正在做一个关于webapp安全和漏洞的学校项目,为此,我制作了我自己的非常简单的网站,包括登录和搜索栏。

现在,我故意使登录保持沉默,而搜索栏则显示SQL注入的输出。因此,为了演示目的,我想对登录进行基于时间的完全盲SQL注入攻击.但我有点卡住了。

在基于时间的情况下,我不知道如何枚举登录查询的表中有多少列:

SELECT * FROM customer WHERE cMAIL='' AND cPWD='';

我不能通过n;#进行排序,因为当出了问题时,我绝对不会得到错误输出。唯一能得到任何指示的方法是睡眠()或基准测试()。

但我不能在SELECT IF()语句中按顺序排序。那么,我如何才能找到有多少列呢?(这使我不可能有工会)。

谢谢!

编辑:值得一提的是,这个站点是非常不安全的(不使用mysqli,只使用mysql)。因为它只是为了演示

EN

回答 1

Stack Overflow用户

发布于 2013-12-16 02:28:04

好吧,我找到了自己问题的答案:

我没有使用ORDER,而是使用SELECT和蛮力来查看存在多少列:

SELECT * FROM customer WHERE cMAIL='' AND cPWD='';

可以通过执行以下操作在黑暗中枚举:

SELECT * FROM customer WHERE cMAIL='' UNION SELECT null,null,null AND SLEEP(5);# AND cPWD=''

您只需继续向select添加更多的空值,直到数据库休眠5秒。然后,您就知道给定表中有多少列。

希望这能帮到别人。

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

https://stackoverflow.com/questions/20602222

复制
相关文章

相似问题

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