报错注入是SQL注入漏洞的利用方式之一,利用部分「函数报错」会返回参数内容的特点,执行SQL语句。
首先带大家认识什么是报错注入,以SQLi Labs靶场的第一关为例,功能很简单:在地址栏输入用户id,页面返回对应的用户信息。
比如,地址栏输入 ?id=1,页面返回id为1的用户名(Dumb)和密码(Dumb):
正常情况下,页面只能返回用户信息,不能返回其他信息。
接下来,我们输入报错注入的payload
?id=1' and updatexml(1,concat(0x7e,version()),3) -- a
页面的报错信息中返回了数据库的版本:
version()
的位置可以替换成其