2016-01-30 33 views
-1

我有一个易受SQL注入攻击的网站。它有一个用户名和一个密码,当我们将用户名写为admin并将密码写为'或1 = 1--时,它会登录并说您已成功以管理员身份登录。我想使用SQL注入来查找admin的密码。我能做什么 ?严格用于学习目的。 在用户名和密码字段上执行SQL注入时,我需要admin的密码。使用SQL注入获取管理员密码

+3

可能的重复[如何防止SQL注入在PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) - 哦等待,你没有指定你的编程语言?关键是准备好陈述和“?”替代(参数绑定)。 – Kenney

+2

不知道我们告诉你如何利用这个伟大的你,你应该试图解决它。 – DominicEU

+1

你不应该在第一时间以明文形式存储密码 –

回答

1

您检索管理员密码的能力取决于密码的存储方式以及如何写入访问数据库的服务器端脚本。如果密码被正确地腌制和散列,实际上不可能检索它;你简单地覆盖了检查密码的系统。如果不是,它仍然是非常困难的,你需要做很多实验(参见Information Security Stack Exchange上的this answer)。无论哪种方式,您都需要了解很多关于系统以及它如何工作才能尝试这样的攻击。

+0

通过通过密码值注入来覆盖可能意味着密码验证也发生在同一个SQL查询中。注入值“或1 = 1--”意味着它可能是纯文本。因此可能会盲目地泄漏明文密码。 – Gumbo

+0

@Gumbo非常好的一点,但是即使可以运行SELECT查询,你如何获得它将结果发回给你? –

+1

有某些渗滤技术可以处理布尔行为,甚至发送DNS请求(盲带外)。看看[我的回答*什么是盲注,以及如何模拟这个问题?](http://security.stackexchange.com/a/59097/539)。 – Gumbo