嘿,我正在尝试hacker101 CTF,我对这些东西还是很陌生
我试图理解的标志的 CTF 答案是https://github.com/testerting/hacker101-ctf/tree/master/micro-cms_v2/flag0
'当您在用户名字段中输入
单个时,您得到的错误的重要部分if cur.execute('SELECT password FROM admins WHERE username=\'%s\'' % request.form['username'].replace('%', '%%')) == 0:
该标志的解决方案是将其输入到用户名字段中
' UNION SELECT '123' AS password#
这是我不明白的说法。我用谷歌搜索了“SQL AS 关键字”,我得到了一些类似的东西,“as 关键字是列或表的别名”但是'123'是一个字符串,对吗?然后我很沮丧,然后转到我不理解该语句的另一件事,即密码末尾的#。然后我也用谷歌搜索了“sql磅符号”,我得到它正在引用一个临时表,这又是一个,我真的不明白..
谢谢!