SQL 注入 MariaDB python CTF

SQL injection MariaDB python CTF

我正在尝试获取应用程序 (ctf) 的管理员访问权限。注入发生在用户名输入的登录表单中。我可以绕过用户但不能绕过密码(起初用户名无效。注入后,我得到无效密码)。我在理解 python 相关代码时遇到一些问题,尤其是 .replace('%', '%%')).

部分错误信息:

if cursor.execute('SELECT password FROM users WHERE name=\'%s\'' % request.form['name'].replace('%', '%%')) == 0:

我的负载是:admin' union select 1;--

你有什么线索吗?

至少转义反斜杠、撇号和双引号。例如转

admin' union select 1;--

进入

admin\' union select 1;--

本可以防止 例 SQL 注入。