正常我们挖逻辑漏洞一般都是从越权开始挖起,但是一般这些越权的参数基本都做了加密处理,刚好今天接了一个项目,感觉还挺有意思的,在这里分享一下。

刚拿到手这个网站,一看发现是预约系统,首先想到的是有没有可能存在越权,只要越权了就能看到他人预约信息。

然后就是正常流程,随便输入信息提交,然后点击我的预约就出来了预约的信息了,接着就开始点击预约信息抓包,发现id参数和userid参数是base64编码的,那好搞了啊,继续解码。

解码出来发现又是加密的,完全无解,反正对加密这块是不怎么了解,那凉凉了。

想来想去不知道该怎么办呢,然后又尝试对删除预约按钮抓了个包,发现这里的参数是没有加密的,知道id是6位数的数字,但知道解密后面的id也没用啊,还是不知道怎么加密。

然后又预约了一个信息,对两个id值替换一下发现是可以越权查看信息的的,userid值是固定的,但是没法知道怎么加密那完全没办法越权啊,接着就一个一个功能点都点了一遍,就有了新了发现。

发现在提交完预约信息后是可以让修改的,抓了修改的包发现也是不加密的,再查看响应包,发现是跳转到了修改预约信息的界面,然后再抓了下提交的按钮发现又变成了加密。

从上个步骤我们知道了修改处是不加密的,然后再到提交的时候又是加密的,

那我们是不是可以尝试对修改处的包进行修改呢,然后不断尝试,发现通过修改appid后面的参数返回包是正常的,修改其他参数都无法跳转,接着把appid后面的数字修改为id后面的数字,接着去找跳转后的数据包。

找到跳转后页面,查看前端源码,发现appid加密的参数,成功变成了我们之前id加密的参数一样了。

那这里就好搞了,修改的步骤会给我们自动加密,那我们写一个脚本批量遍历一波加密的字典,然后这里开始遍历id参数,成功越权查看他人预约信息,到此结束。

点击收藏 | 1 关注 | 1
登录 后跟帖