1. 进入环境,查看内容

xctf攻防世界 Web高手进阶区 bug_前端


我们先注册一个玩玩,然后登录如图:

xctf攻防世界 Web高手进阶区 bug_数据_02


一个个点一遍,发现manage有问题,如图:

xctf攻防世界 Web高手进阶区 bug_前端_03


明白了,暗示我们需要拿到admin权限,然后再搞事情

2. 开始分析

  1. 如何拿到admin?在用户页面发现有个change pwd,如图:
  2. xctf攻防世界 Web高手进阶区 bug_前端_04

  3. 我们抓包试试,看看内容,发现并没有提供有效的修改user信息,如图:
  4. xctf攻防世界 Web高手进阶区 bug_php_05

  5. 也就是默认这个页面锁定了登录用户,不允许修改user的用户名,于是继续尝试
  6. 我们发现主页还有个Findpwd
  7. xctf攻防世界 Web高手进阶区 bug_数据_06

  8. 填写完响应的信息后,如图:
  9. xctf攻防世界 Web高手进阶区 bug_前端_07

点击reset抓包,看看内容:

xctf攻防世界 Web高手进阶区 bug_数据_08

好家伙,发现了username和newpwd的数据参数,因此我们尝试修改​​username=admin​​​、​​newpwd=123456​​,如图:

xctf攻防世界 Web高手进阶区 bug_数据_09

  1. 尝试admin登录
    登录成功后,点击manage,如图:
  2. xctf攻防世界 Web高手进阶区 bug_前端_10

  3. 好家伙,搁着俄罗斯套娃呢!显示ip不允许,那我们模拟一下本地ip去访问,修改包中的数据:​​X-Forwarded-For: 127.0.0.1​​,如图:
  4. xctf攻防世界 Web高手进阶区 bug_抓包_11

  5. 接着收到response,结果如图:
  6. xctf攻防世界 Web高手进阶区 bug_php_12

<!-- index.php?module=filemanage&do=???-->
  1. 上传文件或者其他操作
    此处卡壳!​​​参考大神的wp​​:

猜想这应该是一些隐藏的操作,我们构造paylaod为:
index.php?module=filemanage&do=download,或者upload/read/write,,最后发现do=upload能够执行成功,出现一个文件上传的页面。

效果如图:

  

xctf攻防世界 Web高手进阶区 bug_php_13

  1. 搞个一句话木马进行文件上传
    如图:
  2. xctf攻防世界 Web高手进阶区 bug_抓包_14

  3. 点击upload,有弹窗,如图:
  4. xctf攻防世界 Web高手进阶区 bug_抓包_15

  5. 不是一个图片?那我们修改包中的ContentType,进行尝试。​​Content-Type: image/jpeg​​,提示如图:
  6. xctf攻防世界 Web高手进阶区 bug_php_16

  7. 又提示php文件,被过滤了。那就尝试修改尾缀php1,2,3,4,该修改完提示如图:
  8. xctf攻防世界 Web高手进阶区 bug_数据_17

猜测传的内容被过滤了,没有思路了,参考参考wp!发现问题出在​​<?php ?>​​,于是换成js的写法,如图:

xctf攻防世界 Web高手进阶区 bug_前端_18


alert又变化了。。。参考wp,踏马的还要修改php文件名?​​参考wp​​,看了网上一些常见可用作php解析的后缀 php3,php5,php7,pht,phtml,最终修改为test.php3或test.php5,如图:

xctf攻防世界 Web高手进阶区 bug_前端_19


最终拿到flag:cyberpeace{74484c23e0763d8b4f1d1e2c09f9458e}

3. 总结

  • 考察burpsuite抓包
  • 利用漏洞提取admin权限
  • 考察ContenType含义
  • 对X-Forwarded-For的应用
  • 传文件do=操作的使用

一环套一环,好复杂。。。如有问题,欢迎交流!