首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >实战 | 某大学注入+逻辑漏洞挖掘

实战 | 某大学注入+逻辑漏洞挖掘

作者头像
HACK学习
修改2021-03-22 17:48:12
修改2021-03-22 17:48:12
8140
举报
文章被收录于专栏:HACK学习HACK学习
代码语言:javascript
复制
漏洞url:http://xxxxxx.com/xxxxxxx/StudentResetPasswordFirst.aspx

一个找回密码界面。

用户名处存在sql注入:

有一定过滤,但是可以绕过。

当条件为真的时候会出现用户:007074。在这里,只需要将手机号替换为自己的手机号,我们在前面是直接注释掉了的,所以后面无法对身份证、手机号等进行有效效验,所以会直接通过验证。

来到重置密码界面:

由于之前注释掉了手机号的效验,所以填任意手机号都可以直接通过,在发送短信这里是没有再次对手机号进行效验的,所以这里直接发短信即可。

发送短信这里也没有限制,所以存在短信轰炸漏洞:

输入验证码,然后重置密码就成功了。

去登录,发现这个号是已经毕业的学生,无法登录。此时也不知道其他账号,只知道当条件为真的时候出现的账号是007074,猜测是因为条件为真返回数据,但是只能返回一条,而007074是数据库的第一条数据,所以返回了它。Fuzz无法爆破账号,因为条件为真的时候只会返回007074这个账号,而条件不为真的时候会显示无法匹配学生信息。

骚姿势来了,通过其他注入语句得知数据库为mssql数据库:

那我们可以通过order by 来进行排序。

Ps:MSSQL没有LIMIT

通过排序后返回的账号不同,成功获得了其他用户账号。

玄学来了,多次发包会返回不同的账号,如下:

第一次排序获得账号:yanshi

再次发包:

获得账号:cshare

看到了吗?同样的payload可以随机获得不同的账号。嘿嘿

不知道是什么原因、通过order by desc,order by 2等等不同的排序可以获得不通过的账号。

通过获得的账号修改其密码,登录进去。

成功登录。

总结:

通过有限制Sql注入,导致逻辑漏洞致使无条件任意用户密码重置+短信轰炸。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档