题目

打开页面显示如下


页面有个输入框,猜测是sql注入,即search为注入参数点,先尝试一下

返回空白显示错误

正常显示如下

是因为单引号与服务端代码中的’形成闭合,输入的字符串hello包裹,服务端代码后面多出来一个‘导致语法错误,而加入#将后面的’注释掉之后不会报错,可确定为字符型SQL注入。,可判断注入为字符类型注入
判断列数

回显错误
试试3,显示正常

判断页面回显的数据是第几列

说明union后的第2、3列被显示出来,因此我们可以利用这两列获取当前数据库、当前数据库所有列表名、列表所有字段名
获取数据库名

获取表名

获取列名

获得列名为fl4g可能存放着flag
读取文件,获得flag