山东省技能兴鲁网络安全大赛 web方向

文章目录

    • 购买FLAG
    • 日志里的FLAG
    • 一只小蜜蜂


购买FLAG

随便登录admin进去,发现有充值和购买功能
但是试试充值发现不行
山东省技能兴鲁网络安全大赛 web方向_第1张图片
购买页面如下
山东省技能兴鲁网络安全大赛 web方向_第2张图片
bp抓包看看,发现value值可控
我们试试将其改为正数,发现成功
山东省技能兴鲁网络安全大赛 web方向_第3张图片
购买得到flag
山东省技能兴鲁网络安全大赛 web方向_第4张图片

日志里的FLAG

提示我们flag就在日志文件里,并且是nginx服务;然后过滤了log,我们直接双写绕过
payload

?path=/var/llogog/nginx/access.llogog

山东省技能兴鲁网络安全大赛 web方向_第5张图片

一只小蜜蜂

考点:BEEscms漏洞

打开题目,发现是BEEScms
山东省技能兴鲁网络安全大赛 web方向_第6张图片去网上找一下相关文章,发现有后台登陆,文件上传等漏洞
扫一下目录,扫出登录地址
山东省技能兴鲁网络安全大赛 web方向_第7张图片结果发现验证码显示不出来(开始以为题目问题)
然后就继续找文章,发现存在变量覆盖拿到admin用户的漏洞
山东省技能兴鲁网络安全大赛 web方向_第8张图片BEEScms的includes/init.php部分源码

session_start();
if (isset($_REQUEST)){$_REQUEST  = fl_value($_REQUEST);}
    $_COOKIE   = fl_value($_COOKIE);
    $_GET = fl_value($_GET);
@extract($_POST);
@extract($_GET);
@extract($_COOKIE);

先设置了session_start(),创建会话。判断是否有输入来设置了cookie,fl_value进行一些简单的过滤,使用request设置cookie,$_GET = fl_value($_GET);来过滤get请求的内容,但是没有过滤post请求,后面还都通过@extract()来引入变量,进行变量的覆盖操作,那么这样就可以post方法传递session。二者配合构造session来绕过登录限制

payload如下

_SESSION[login_in]=1&_SESSION[admin]=1_SESSION[login_time]=100000000000000000000000000000000000

在下面这个页面POST传参
山东省技能兴鲁网络安全大赛 web方向_第9张图片

传参完后直接访问./admin或者是./admin/admin.php成功getshell
山东省技能兴鲁网络安全大赛 web方向_第10张图片然后找到存在文件上传漏洞的界面
山东省技能兴鲁网络安全大赛 web方向_第11张图片这里会检测MIME,我们上传一句话木马后bp抓包,修改MIME即可绕过

结果这里不知道上传到哪了。。
换了个解法,直接访问./admin/upload.php
山东省技能兴鲁网络安全大赛 web方向_第12张图片
和刚刚一样上传一句话木马修改MIME
然后知道上传路径为/img/.php,访问得到flag
山东省技能兴鲁网络安全大赛 web方向_第13张图片

你可能感兴趣的:(CTF比赛,web安全,前端,安全,php)