我正在通过一个朋友为我创建的练习网站(在她的机器上将其安装在脱机状态下)进行练习,以自学SQL注入。.我最终设法在她创建的某个页面中找到了该漏洞,而该字段不是没有消毒。
我还找到了她的表和类型,但是她面临的挑战是我要计算给定用户的电子邮件地址。她的SQL查询的一部分是固定的,因此我利用forename=
之后的内容-即,这是她的内容
SELECT *
FROM employees
WHERE forename=`
我基本上是在那个框中输入
'test' UNION SELECT email FROM employees WHERE forename='tom'
但是它无法显示任何内容,因为这是最终查询-
SELECT *
FROM employees
WHERE forename = 'test' UNION SELECT email FROM employees WHERE forename='tom'
很明显,因为有4列,所以在第二个联合中,我仅选择一个。另外,当我能够看到所有用户的网页时,我只能看到他们的名字和姓氏,仅此而已,那么如何显示电子邮件地址呢?