0CTF2018 Easy User Manager System writeup

菜的不行,比赛时进入了登录页面后要修改ip时完全没有思路,只能水一水等比赛结束看师傅们的WP这样子,我什么时候才能像师傅们一样优秀。

参考了https://www.cnblogs.com/Mrsm1th/p/8719328.html

首先打开链接,登录页面如下:


可知需要登录后才可以进行下一步。

首先注册,发现服务器会向所填写的ip地址的80端口发送一条消息,于是监听80端口


登陆一下,得到vcode:


登陆一下,得知需要将ip地址变为8.8.8.8才可以的到flag。


点开修改ip得到界面,知道要输入字符串,字符串的md5加密后的字符串的前六位与所给字符相一致。

可以用脚本跑一下

import hashlib
vcode_md5="113d07"
print(vcode_md5)
key=""
for i in range(1,999999999):
 md5_key=hashlib.md5(str(i).encode("utf-8")).hexdigest()
    #print(md5_key)
    first_md5=md5_key[0:6]
    #print(first_md5)
    if vcode_md5==first_md5:
        print(i)
        print(md5_key)
        key=str(i)
        break

以上是比赛时做到的,接下来是赛后看师傅们的wp得到的思路。

接下来打开两个浏览器分别登录刚刚注册成功的账号,


同时点开修改ip地址(phone),在其中一个浏览器中填写自己的ip地址,另一个填写8.8.8.8。


首先提交发送信息到本地ip的请求,得到vcode:


将得到的vcode输入,但是注意,此时不要提交。

将另一个浏览器即输入ip地址为8.8.8.8的请求提交,然后在其发送验证码之前转回另一浏览器将其提交,得到flag。



总结:

这里用到的是一个cookie混淆的漏洞,原理是在一个过程中(登录,密码重置),可以使cookie相关联来达到欺骗服务器的效果。再甩出一篇大佬的博文:http://www.freebuf.com/articles/web/162152.html

大概就是这样子了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值