我有一个网站,我必须检索密码。我在页面上只有一个表单,我必须输入密码。 我试过“OR 1 = 1#,它告诉我”身份验证有效“,但没有给我密码,这是我需要的。
有没有办法使用SQL注入来通过编写sql来“打印”密码 请求直接在表单中而不是在URL中?
答案 0 :(得分:1)
关键是您尝试从实际上未向最终用户显示任何数据的流程中提取数据。让我解释一下你的弱势程序是登录过程,它基本上检查用户是否输入了正确的用户名和密码组合。
<案例1查询应该是这样的:
select count(*) form users where username='$user', password='$password';
该查询不会让您知道有关您试图破解的用户的任何信息,主要是因为在登录期间执行此操作根本没有任何意义。您唯一可以肯定的是结果:该查询的1或0。
是否有这样的查询:
select username form users where username='$user', password='$password';
我们假设当您登录页面时告诉您用户名x 在该数据库中不存在。 在这种情况下,您可以注入一些恶意代码,以使用有关数据库的任意信息替换显示为 username 的内容。
所以你应该已经明白你的问题的答案是否定的。