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。

目录
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
ctfshow小记sql注入
ctfshow小记sql注入
|
2天前
|
PHP
从零开始的ctfshow生活
在攻防世界难度1的Web挑战中,首先遇到的是一个简单的PHP问题。通过阅读代码,发现需通过GET参数a和b进入,其中a须
|
2天前
|
前端开发 应用服务中间件 PHP
[CTF]ctfshow 文件上传
[CTF]ctfshow 文件上传
|
2天前
|
PHP
Ctfshow基础二刷(1)
Ctfshow基础二刷(1)
34 0
|
7月前
|
安全 数据安全/隐私保护
ctfshow re2
ctfshow re2
53 0
|
9月前
|
安全 Shell PHP
ctfshow原谅杯
ctfshow原谅杯
96 0
|
11月前
|
安全 网络安全
|
NoSQL 关系型数据库 MySQL
CTFShow-SSRF(writeup)
CTFShow-SSRF(writeup)
123 0
CTFShow-SSRF(writeup)
|
数据安全/隐私保护 Python
ctfshow easyrsa系列
ctfshow easyrsa系列WP
643 0
ctfshow easyrsa系列