懒了很久没写文章,最近对某app进行渗透测试,该漏洞修复后将详情共享一下,具体是什么app也就不说了。
某app注册后需要初始化用户信息,这里可以上传头像,上传头像有个蜜汁操作,服务器返回头像地址给app,app再将头像地址返回给服务器从而设置用户的头像地址(黑人问题),这就导致我们可以设置任意地址,这里用百度地址试试能不能成功
服务器返回包:
没有报错,那就成功了。那就将我们的服务器地址设置上去,别人访问到我们的头像时就会向我们服务器进行请求,随便弄了一个png图片,可以看到请求时带了一个uauth参数。
我方服务器收到数据如下
这里的uauth参数是jwt(Json web token),JWT主要由三个部分组成:头部(HEADER),载荷(PAYLOAD),签证(SIGNATURE),使用“.”划分。这里可以直接base64解码中间部分得到session,明文的sid就是用户的session。