ctfshow 假赛生

简介: ctfshow 假赛生 WP

题目

在这里插入图片描述

<?php
session_start();
include('config.php');
if(empty($_SESSION['name'])){
    show_source("index.php");
}else{
    $name=$_SESSION['name'];
    $sql='select pass from user where name="'.$name.'"';
    echo $sql."<br />";
    system('4rfvbgt56yhn.sh');
    $query=mysqli_query($conn,$sql);
    $result=mysqli_fetch_assoc($query);
    if($name==='admin'){
        echo "admin!!!!!"."<br />";
        if(isset($_GET['c'])){
            preg_replace_callback("/\w\W*/",function(){die("not allowed!");},$_GET['c'],1);
            echo $flag;
        }else{
            echo "you not admin";
        }
    }
}
?>

分析

题目提示中有写register.php login.php 两个地址

一个是注册,一个是登录

分析上面代码,应该是要admin账号登陆,并且c绕过正则表达式传参,才会显示flag

在注册页面发现不允许注册admin,于是注册admin+空格。可以注册,并且可以在登陆页面登录

在这里插入图片描述

但是还没回显flag,还需要绕过正则

if(isset($_GET['c'])){
            preg_replace_callback("/\w\W*/",function(){die("not allowed!");},$_GET['c'],1);
            echo $flag;
        }

令c为空即可

在这里插入图片描述

得到flag。

目录
相关文章
|
5月前
|
Java PHP
CTfshow 卷王杯 easy unserialize(特详)
CTfshow 卷王杯 easy unserialize(特详)
62 0
|
8月前
|
PHP
从零开始的ctfshow生活
在攻防世界难度1的Web挑战中,首先遇到的是一个简单的PHP问题。通过阅读代码,发现需通过GET参数a和b进入,其中a须
|
8月前
|
SQL 关系型数据库 MySQL
ctfshow小记sql注入
ctfshow小记sql注入
|
8月前
|
应用服务中间件 PHP nginx
[CTF]ctfshow文件包含
[CTF]ctfshow文件包含
|
8月前
|
前端开发 应用服务中间件 PHP
[CTF]ctfshow 文件上传
[CTF]ctfshow 文件上传
|
8月前
|
Shell PHP
[CTF]ctfshow命令执行
[CTF]ctfshow命令执行
|
8月前
|
PHP
[CTF]ctfshow php特性
[CTF]ctfshow php特性
|
8月前
|
PHP
Ctfshow基础二刷(1)
Ctfshow基础二刷(1)
54 0
|
安全 数据安全/隐私保护
ctfshow re2
ctfshow re2
120 0