标签:res uri ssr 信息 别人 限制 漏洞 知情 提升
短网址服务可以提供一个非常短小的URL以代替原来的可能较长的URL,将长的URL地址缩短。用户访问缩短后的URL时,通常将会重定向到原来的URL。短网址服务主要起源于一些具有字数限制的微博客服务,但是现在广泛用于短信、邮件等。
很多安全问题是跟安全场景相关的,随着场景的不断变化,安全问题也是变化的。短网址的初衷是在微博这种限制字数的公共平台使用,也就是说它基本是公开的,但是后续在个人短信和邮件之中,其实有部分已经是私密的。 这直接引发了短网址第一个比较大的潜在风险。
在了解短网址风险和漏洞之前,我们首先应该了解下短网址是什么以及如何工作。
短网址服务的基本流程:用户将长网址提交到短网址服务中,之后短网址服务经过URL处理之后,利用转换算法对长网址进行转换,最后分别将长网址和短网址存储到数据库之中。部分短网址服务为了防止出现对短地址进行连续转化或者提供一些展示长网址TITLE的功能,所以会对长网址进行访问。
算法简述:一个以数字、大小写字母共62个字符的任意进制的算法。
数据库中ID递增,当ID为233,则对应短网址计算过程如下:
①设置序列为“0123456789abcdefghijklmnopqrstuvwxyz”
② 233/36=6
③ 233%36= 17
④依次取上述字符的6位,17位,则为6h
其生成之后的短网址为xx.xx/6h
算法简述:每次对候选字符进行任意次随机位数选择,拼接之后检查是否重复
若要求位数为2,则其对应短地址为计算过程如下:
①设置字符序列“0123456789abcdefghijklmnopqrstuvwxyz”
②根据字符个数设置最大值为35,最小值为0,取2次随机数假设为:6,17
③依次取上述字符的6位和17位,则为6h
其生成之后的短网址为xx.xx/6h
算法简述:对id进行hash操作( 可选:利用随机数进行加盐),并检查是否重复
设置ID自增,若ID=233,则其对应短地址为计算过程如下:
①取随机数为盐
②对233进行sha1加密为: aaccb8bb2b4c442a7c16a9b209c9ff448c6c5f35:2
③要求位数为7,直接取上述加密结果的前7位为:aaccb8
其生成之后的短网址为xx.xx/2e8c027
了解完长网址转为短网址的流程之后,我们下边主要简单说明下短网址转化为长网址的流程,用户访问短网址,短网址服务返回一个302或者301的响应,从而跳转到长网址。这个地方,几乎所有短网址服务商会选择302,因为302方便统计和分析用户属性等数据。
由于短网址服务自身存在的设计缺陷问题,尤其是一般短网址采用6位或者7位字母和数字的集合,可以被很好的预测,从而被针对性的爆破。
而在爆破中最重要的一个步骤就是如何检测当前短网址使用的算法,从而生成该算法对应的字典,下边我们给出一些常见的算法检测过程:
(1)第三方短网址服务
针对第三方的短网址服务,可以多次输入网址,查看返回短网址是否连续,连续则为进制算法,如下:
对于自营短网址服务可以采用以下两个步骤进行,,
① 直接访问xx.xxx/1及xx.xxx/2低位等后缀,若均存在基本可以判定使用了进制算法进行转换。
② 对存在记录的后缀进行增加或减少尝试,若均存在记录或者规律间隔存在记录则基本认为使用了进制算法。
即:若某短网址存在http://xxx.xx/Abzc4 ,对Abzc4中最后一个单字符{0-Z}共62次变化。若均存在记录或存在a,c,e等有规律间隔情况,则同样可以认为使用了进制算法。
(1)第三方短网址服务
对于第三方可以多次输入网址,查看返回短网址是否连续,不连续无规律则为HASH算法&随机数算法。如下图:
(2)自营短网址服务
① 直接访问xx.xxx/1及xx.xxx/2低位等后缀,若均不存在则进行步骤2。
② 对存在记录的后缀进行增加或减少尝试,若非均匀间隔存在记录则基本认为使用了进制算法。
即:若某短网址存在http://xxx.xx/Abzc4 ,对Abzc4中最后一个单字符{0-Z}共62次变化。若无明显规律则基本认为为HASH&随机数算法
接下来,我们分享一下短网址的两个攻击场景,第一个是由于部分短网址在传输过程使用了含有敏感权限和敏感信息的长网址,由此造成大量个人信息泄露:,第二个是由于短网址的可预测和可爆破,有时候可能会产生一些想象不到的效果。
1、邀请链接直接发送给邀请人,邀请人点击即可完成注册;
2、邀请链接以短网址发送;
3、批量邀请,爆破短网址,批量点击注册,即可完成薅羊毛;
某个应用有老用户邀请新用户的赚赏金活动,邀请链接以短网址形式发送给新用户,新用户点击链接之后,则赏金会放到老用户账户之中。那么在这个活动中,攻击者用户A可以随机选择两个手机号,我们分别用用户B和用户C来代替这两个用户,那么攻击用户A邀请随机选择的这两个手机号,之后直接爆破短网址进行确认,则在B和C不知情的情况下完成了赏金的领取。
其实当短网址出现短网址被猜解、爆破的问题,那么是不是会出现其他的问题,所以我们还对其进行了其他的安全测试。
1、SSRF安全问题
远程访问功能在过滤不严谨的情况下会造成SSRF,测试时使用自定义域名绑定一个内网地址之后进行访问,该短网址服务展示了长网址的TITLE,如下成功访问到了内网地址:
进行拼接查询时会造成SQL注入。在测试中我们先进行了and 1=1的测试,发现可以正常读取,如下图:
标签:res uri ssr 信息 别人 限制 漏洞 知情 提升
原文地址:https://www.cnblogs.com/niuyaomin/p/11997512.html