webug 4.0 第二十二关 越权修改密码

感谢webug团队一直以来的更新维护!

webug是什么

WeBug名称定义为“我们的漏洞”靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。部分漏洞是基于Windows操作系统的漏洞所以将WeBug的web环境都装在了一个纯净版的Windows 2003的虚拟机中。

Webug官网:http://www.webug.org

Webug 4.0百度云地址: https://pan.baidu.com/s/1euUY4UG43BuOjhPqkJBvcw 提取码: 3xpy

来源:226安全团队

微信号:safeteam226

开始打靶

观察

在这里插入图片描述
在这里插入图片描述
就两个页面,一个账户密码登录页面,一个修改密码的页面。

标题是越权修改密码,那么这关需要用到二次注入这个技巧
举个例子:
UPDATA users SET password=‘new_passwd’ where name=‘name’ and password=‘old_passwd’;
如果name为XXX’#这种形式,比如test’#,admin’#等等
UPDATA users SET password=‘123456’ where name=‘test’#’ and password=‘asdadsad’;
这样#就会忽略对原有密码的检测,直接更改密码。如果为root’#就可以直接更改root密码
这种已经注入了一次,并且利用上一次注入的成果再次注入的行为叫做二次注入

不过这个页面并没有给我们提供注册账户的地方,那么到哪里去建立一个可以二次注入的账号名和密码呢?

越权修改密码

回顾下我们我们现在知道什么:
这关是账户密码登录,且更新密码时要用到旧密码和新密码,那我们可以也可以猜测SQL语句
登录:select 一些字段 from user where name=#name and password=#password
更新密码:update user set password=#newpassword where name=#name and password#oldpassword

因为我们要越权修改admin的密码,
->所以我们就需要执行更新密码操作时传递的name为admin’#、admin"#、admin)#等等
->name来源于前端传递的值
->前端这个值来源于登录

难道前端可以登录一个不存在的账号吗?,让我们试试:
账号:admin’#
密码:随便输,因为账户的#会注释掉这个

登录成功!
接下来让我们把更新密码设为asd(旧密码随便输),这样就会二次注入将admin账户的密码设置为asd。
成功在这里插入图片描述

让我们回到首页,用admin+asd登录,登录成功!

PS:真实场景肯定没这么简单的。有兴趣的还可以试试admin"#、admin)#等等name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值