您当前的位置: 首页 > 

yu22x

暂无认证

  • 6浏览

    0关注

    109博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ctfshow baby杯web

yu22x 发布时间:2021-06-02 18:41:37 ,浏览量:6

文章目录
      • baby_captcha
      • ctfshowcms
      • 应该不难
      • babyphp
      • 完美的缺点

baby_captcha

点击首页的无脑给了一个500常用5密码。看来是要爆破密码了。

在这里插入图片描述 然后练习下听力,根据放的声音写出来验证码,抓包进行爆破,payload用给的500常用密码。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 拿到密码fire,登录就有flag。

ctfshowcms

简略审计了下代码,index.php中存在文件包含。install下的index.php存在任意文件写入,并且内容可控。 在这里插入图片描述在这里插入图片描述 因为文件包含的地方加了目录和后缀,所以比较难控制。我们先来看下写文件的地方。 首先当前目录下不能存在installLock.txt,我们可以先直接访问下/install/index.php,发现回显的是你已经安装了ctfshowcms,请勿重复安装。想到前面有个文件包含,正好可以绕过这个限制(因为存在文件包含的index.php所在的路径下没有installLock.txt),/?feng=../install/index 。接着为了不die掉我们把那些参数都给赋值。 在这里插入图片描述 在这里插入图片描述 最后发现在后面还是会die掉。看来写文件的想法也是走不通的了。 在这里插入图片描述 但是我们往上看看,发现进行数据库连接的时候我们三个字段都可以控制。也就是说我们可以让网站连接任意的sql服务器。这时候我们可以搭建一个恶意服务器去读文件。 首先需要在自己的vps上设置数据库可以被远程连接。这个网上文章挺多的,大家可以自己找一下。 接着需要用到个脚本(R1师傅给了个可用的)https://github.com/MorouU/rogue_mysql_server/blob/main/rogue_mysql_server.py 修改下里面的端口和要读的文件,端口改成3307,其他的也可以,只要不是3306。在vps上运行。 在这里插入图片描述

接着post传值,数据库用户名和密码是自己vps上的。 在这里插入图片描述 就可以 接收到flag了。 在这里插入图片描述

应该不难

参考文章https://www.dz-x.net/t/1017/1/1.html

babyphp

过了一遍代码,发现可以利用file_put_contents写文件。 两个前提:case 'upload'return !preg_match('/php/i', $input)为true。 大家可以试一下

刷新一下就可以了。

完美的缺点

题目设置了open_basedir,所以我们写文件和include都只能限制在该目录下。文件名和内容都有长度限制。 但是我们发现只要post传一个ctfshow就可以使用include函数,那我们试试可不可以使用data伪协议呢。 因为有长度限制我们可以这样写file_name=data:,

关注
打赏
1617522777
查看更多评论
0.0501s