SQL注入UNION攻击,确定查询返回的列数定义目录标题
SQL注入UNION攻击,确定查询返回的列数
Lab: SQL injection UNION attack, determining the number of columns returned by the query
知识点:
- UNION合并SELECT语句,输出为单个结果集
- UNION中的每个查询必须包含相同的列、表达式或聚集函数(不过各个列不需要以相同的次序列出)。
- 反向思维:列数不对就出错,从NULL试起,不影响只填充列数,直到显示正常
- '+UNION+SELECT+NULL,NULL,NULL–
- 单引号【‘】, portswigger解释为:Submitting the single quote character ’ and looking for errors or other anomalies,具体怎么就查错和看异常,搞不懂,求指教。如果解释为标注字符型,那为什么注释【–】前不加单引号? 在burpsuite中二者发送后的差别影响【Content-Length】,加了8111实验sovled,不加6959实验不通过
- 加号【+】不知道为什么,知道空格会被过滤,但为什么是+,在哪本书有说明
- 【NULL】理解为泡沫填充物,占列位无含义
- 【–】注释符
方法2
知识点
- ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序
- 反向思考:用ORDER BY试探列的边界,不是一次满足数量,而是列的最大值能是多少
- 'order+by+4–
- 但是这个语句没法通过实验,好懵,到底在干什么,有没有书详细讲解啊