之前小伙伴挖到一个接口,说是可以改一下POST头就可以无限制爆破邮箱,扔给我让我去做EXP爆破,然后就发现了一堆坑爹问题,甚至报废了我自己拿来测试的邮箱。。。。。我真是日了狗了。。。。。
首先,进入这个网址选择邮箱登陆code>http://bbs.c.163.com/signin/</code>,本来在这里输错3出会跳出验证码,但是经过测试发现,在POST头里面加入X-Forwarded-For就可以绕过这个验证码。
之后我就根据这个,制作了一个EXP,是Python,我想讲讲思路,首先我们要先复位之前漏洞的情况,才能根据这个制作EXP,我先写了一个脚本,用来测试研究,这是代码
我相信大家都看到懂,一个简单的复现程序,我们先运行试试。
![S]0BM{3PB@4GKUP_JL6YFT9.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/2801422179593931bc5c45cfcb72307e7d87203b.png)
因为是测试,我就直接让函数返回整个请求的返回包进行对比,这个用户名和账号我都输入的是正确的,大家记住这个返回包,我们制作EXP首先是要确认两种情况,一种是入侵成功,一种是入侵失败,我们要写个if语句判断区别。
我把传入的账号密码写为错误的试试。
![C0]%9$APATERI]SG{279)BI.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28014524611ad93b4c1ce900b345b5bbdf51886f.png)
这次是错误的密码,然后我们可以看到,这个跳转链接变得很短,很好,这就是我们写成功或者失败的if判断语句的判断点。

我加入了一行代码,修改了函数的返回,意思很简单,获取返回包里面的Location,也就是那个跳转网址的字符串,将这个字符串储存在H里面,然后lin()函数是用来计算字符串长度的,从图片里面我们可以看到,错误的里面那个字符串的长度为138,我们输入正确的密码看看。
![WN(U5JH1$%ET2~[V~]1[S%4.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28015237fc3b637651f13b04a237f4199f410c4f.png)
很好,返回值是372,差别够大了,足够写一个if语句了,为了折中,我们把if语句的判断字符串是否成功的大小设置为200,大于200就是成功,小于200就是失败。
EXP不能这样麻烦,每次利用都要这样打开Python编译器运行,还要可以接收用户输入,还要能读取字典文件........
填充一下程序,一个简单的EXP到手。下面是源码:
这是运行截图:
![LE7U(L5@H0P%UE]W{YL)5TH.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28020446ee91018612c1a6157d9ee09fcd7735bb.png)
看起来不错吧,我们开始爆破,我这里用我的邮箱示范
敲入代码

开始破解了

为了演示,我随便拿的一个字典,正确密码再最后,别吐槽我字典。
![U)M[%$]AGO~Z[_6T0V7Y8@W.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28021639e4da14d79eab1997f02eeef55bcef087.png)
密码出来了,本来以为这个洞也就这样了,,,,因为我作死,经常测试,,,,结果我的账号。。。
![Q7]S)VM$B4AF5(`_X6(OC@O.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/2802172193acb3c46ec9afaa5205ec99a0a705a1.png)
即使输入正确的密码,走普通用户路线。。。也无法登陆,出现这个什么鬼邮箱认证失败。。。。。。
我试了重置账号密码等等一系列手段,只有最后重新注册覆盖才能使用,但是以前的数据全部被覆盖消失了。。。。。我只能说,这个EXP可能附带报废你的网易邮箱,拿自己邮箱测试的时候需谨慎。。。。。
首先,进入这个网址选择邮箱登陆code>http://bbs.c.163.com/signin/</code>,本来在这里输错3出会跳出验证码,但是经过测试发现,在POST头里面加入X-Forwarded-For就可以绕过这个验证码。
之后我就根据这个,制作了一个EXP,是Python,我想讲讲思路,首先我们要先复位之前漏洞的情况,才能根据这个制作EXP,我先写了一个脚本,用来测试研究,这是代码
我相信大家都看到懂,一个简单的复现程序,我们先运行试试。
![S]0BM{3PB@4GKUP_JL6YFT9.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/2801422179593931bc5c45cfcb72307e7d87203b.png)
因为是测试,我就直接让函数返回整个请求的返回包进行对比,这个用户名和账号我都输入的是正确的,大家记住这个返回包,我们制作EXP首先是要确认两种情况,一种是入侵成功,一种是入侵失败,我们要写个if语句判断区别。
我把传入的账号密码写为错误的试试。
![C0]%9$APATERI]SG{279)BI.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28014524611ad93b4c1ce900b345b5bbdf51886f.png)
这次是错误的密码,然后我们可以看到,这个跳转链接变得很短,很好,这就是我们写成功或者失败的if判断语句的判断点。

我加入了一行代码,修改了函数的返回,意思很简单,获取返回包里面的Location,也就是那个跳转网址的字符串,将这个字符串储存在H里面,然后lin()函数是用来计算字符串长度的,从图片里面我们可以看到,错误的里面那个字符串的长度为138,我们输入正确的密码看看。
![WN(U5JH1$%ET2~[V~]1[S%4.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28015237fc3b637651f13b04a237f4199f410c4f.png)
很好,返回值是372,差别够大了,足够写一个if语句了,为了折中,我们把if语句的判断字符串是否成功的大小设置为200,大于200就是成功,小于200就是失败。
EXP不能这样麻烦,每次利用都要这样打开Python编译器运行,还要可以接收用户输入,还要能读取字典文件........
填充一下程序,一个简单的EXP到手。下面是源码:
这是运行截图:
![LE7U(L5@H0P%UE]W{YL)5TH.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28020446ee91018612c1a6157d9ee09fcd7735bb.png)
看起来不错吧,我们开始爆破,我这里用我的邮箱示范
敲入代码

开始破解了

为了演示,我随便拿的一个字典,正确密码再最后,别吐槽我字典。
![U)M[%$]AGO~Z[_6T0V7Y8@W.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/28021639e4da14d79eab1997f02eeef55bcef087.png)
密码出来了,本来以为这个洞也就这样了,,,,因为我作死,经常测试,,,,结果我的账号。。。
![Q7]S)VM$B4AF5(`_X6(OC@O.png](https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/201603/2802172193acb3c46ec9afaa5205ec99a0a705a1.png)
即使输入正确的密码,走普通用户路线。。。也无法登陆,出现这个什么鬼邮箱认证失败。。。。。。
我试了重置账号密码等等一系列手段,只有最后重新注册覆盖才能使用,但是以前的数据全部被覆盖消失了。。。。。我只能说,这个EXP可能附带报废你的网易邮箱,拿自己邮箱测试的时候需谨慎。。。。。