本文由网友“vaf 晨星先生”投稿至玄魂工作室
版权归原作者所有
晴姑娘今天硬要转钱给我,其实也没有花多少钱啦~原因是:托我的学弟妹在台湾买点小东西。她骗我点了红包之后,我给她转账她不收不收不收…
于是无奈之下转了她的支付宝~~ 结果破手机卡了下,又开通了小额免支付..很手残的转错给一个叫龙翔的人了….所以,我的豆瓣小姐,以后这种事就迁就着我吧。不然我容易手残又犯迷糊了…
然后我起初以为龙翔是卖豆浆的那个大叔!(前几天帮舍友带早餐时候用支付宝转了8块钱给他的…)
于是我本来想让舍友明天去帮我问问,能不能还我血汗钱~
于是,就用了百度地图的API,定位到当时的街道处,截取了那家店大概的位置给舍友。
他正在撸,估计要骂我坑。。。这种事情也是很醉~~~
这时候,晴姑娘发微信给我了,唉呀。
我恍然大悟,对哦。支付宝不是有转账记录么?电话是这样子的!
中间的四位数被打码了….
不过没事,用wooyun某牛的话来说:阅尽天下漏洞,心中自然无码
所以我要猜出他的完整的手机号。当然,用猜是不可能的了,毕竟我不是神仙。至于社工这个思路,得到的信息又很少,Pass掉。
分析了下,由数字0~9组成的没有重复数字的4位数有几种可能?这样的数有9x9x8x7=4536个。但是我们的手机号码不一样,也就是中间的位置可能出现0…于是就是10x9x8x7= 5040个可能。比如手机号可能是:XXX0123XXXX。
看来当初准备考研概率论没有白白复习….
所以我要列出所有可能的号码,哈哈。作为一名所谓的IT男,用笔写肯定是不可能的,太侮辱了这个称呼了。
直接看下面的代码,生成随机的不重复的四位数。
可能有路人甲看到这里就说:帅哥,你的推断有漏洞。我肯定会说:没有啊,为什么有!路人甲:号码不能有XXX0012XXXX,XXX0023XXXX这种方式存在么?我:肯定是有的啊,但是我们从最少的号码数搞起啊。1、运气好中间四位都不同。2、你看看人家的手机了么?后面四位是8887,我就不行号码好到了中间也是AABB的叠数。3、运气不好没关系,改一下后面的if语句判断不就行了。
当然了,其实不用19行也能搞定,idea在下面:
运行了下脚本,在当前目录下生成 个dict.txt文件
But,这里有5040个号码。总不能一个个尝试吧,拿什么拯救自己,明天还要看孩子。看Linux..
写到了这里,晴姑娘还没有回我,估计被家里人抓去睡觉了。我只能把晚安留着,明天给她说早安了。
有时候,开心一下,会有电灯在头上。伤心一下,可能可以逼出自己的潜力!
于是我继续分析,我这段时间的支付宝都是在本地消费,没有给外地非朋友用户转账。所以我只要把漳州段的号码筛选出来就好了。
第二,且看我转错钱给他的这位龙翔表哥,他的他头像写着:
更让我确定他是漳州的了。
说搞就搞,查询归属地很简单,但ip138上面查询,但是批量自动化的查询就需要套路了。
想着有没有API,或者根据爬虫的思路?
看到了么?他是get请求,后面传递的参数是号码,我挑了第一个号码示例。
这是抓包的返回值
这里看不明显,我们在浏览器看。
看,数据够详细了吧。我可以根据referred的数据,雍正则表达式匹配我的归属地。
但是这又要解决编码的问题,十分十分的不方便。我很懒,所以总有办法——看区号!
北京的区号是010,漳州的区号是0596,我只要匹配0596就不用管什么狗屁中文编码和归属地了。
于是,突突突又搞了一个小脚本,还是python大法好。
这下有进步,14行代码搞定。
得到了下面这些归属地是漳州的号码。
截图只是部分,接下来就是要看哪个是龙翔了。同样的思路,这次用python发的是post包,不过要间隔一定的时间,不要频繁请求,否则会封IP,这里留坑吧。有兴趣可以自己写。
就这样,我找到了龙翔了。唉,文章先写到这里,明天再给他打电话。讨钱!!!
更多安全类内容,请关注玄魂工作室微信订阅号,每天为您推送精彩内容