【WriteUp】网鼎杯2020线下半决赛两道WEB

网鼎杯2020线下半决赛两道WEB题WriteUp

网鼎杯2020线下半决赛两道WEB题WriteUp

第一次参与网鼎杯线下赛,五道题3道PWN、两道WEB(PHP),下午又加了一道web(nodejs)。
先说下赛制,网鼎杯赛制叫做AWD PLUS,应该是全国唯一采用这个赛制的比赛。名字叫做AWD,实际这个赛制队伍之间不需要也不允许相互打。每个队伍每个题目有一个GameBox,提供下载源代码包,攻击和修复代码漏洞就可以得分。与一般AWD不同的是,网鼎杯赛制不需要准备不死马/通防脚本等,更加偏重于代码审计、漏洞挖掘、漏洞利用和修复。(也许叫CTF PLUS 或者 AWD STATIC 更合适?)
两道web题write_up

WEB1 web_AliceWebsite

在这里插入图片描述

打开主页,容易看到上面有个文件包含。
查看源码,看到

<?php
        $action = (isset($_GET['action']) ? $_GET['action'] : 'home.php');
        if (file_exists($action)) {
   
            include $action;
        } else {
   
            echo "File not found!";
        }
?>

没有任何过滤, include /flag 拿到flag;
payload
?action=/flag

WEB2 FAKA

先部署代码到本地,并导入sql文件。代码目录
代码目录
根目录robots.txt 里提示1.txt,1.txt里面是注册邀请码,根据提示注册,是一般用户,略微审计了下 /application/merchat/ 目录,没啥用。
后台页面在/application/admin目录下,使用的表叫做 system_user
数据库
打开system_user表,第一行为账户名为admin,密码为md5的用户。赛前准备了TOP10W密码的哈希值,搜索了下这个哈希值没有搜到。看来需要修改密码或者新增一个用户。
system_user表

继续审代码,application/admin/index.php 文件下有两个方法:

public 
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜沐清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值