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

大概就是这样子了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要分析题目所提供的代码: ```php <?php error_reporting(0); if ($_FILES["upload"]["error"] > 0) { echo "Error: " . $_FILES["upload"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["upload"]["name"] . "<br />"; echo "Type: " . $_FILES["upload"]["type"] . "<br />"; echo "Size: " . ($_FILES["upload"]["size"] / 1024) . " Kb<br />"; move_uploaded_file($_FILES["upload"]["tmp_name"], "upload/" . $_FILES["upload"]["name"]); echo "Stored in: " . "upload/" . $_FILES["upload"]["name"]; } ?> ``` 从上述代码中我们可以发现,这是一个文件上传的代码,该代码运行后会将用户上传的文件存储到 `upload` 目录下。 但是,该代码没有对上传的文件类型进行限制,这意味着我们可以上传任何类型的文件,甚至是一些恶意的文件。我们可以尝试上传一些常见的恶意文件,比如 `webshell`。 我们可以在本地创建一个 `webshell.php` 文件,然后上传到服务器上的 `upload` 目录。上传完成后,我们可以访问 `http://xxx.xxx.xxx.xxx/upload/webshell.php` 来执行我们上传的 `webshell`。 最后,我们需要注意的是,该上传脚本没有做任何安全性检查,这意味着我们可以上传任意大小的文件,这可能会影响服务器的性能,甚至导致服务器崩溃。因此,在实际应用中,我们应该对上传的文件大小进行限制,同时对上传的文件类型进行检查,从而确保服务器的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值