[DS]Polar靶场web(二)

人总是对未知的事情充满恐惧,当你开始行动时,未知的恐惧就会迎刃而解。

又是跟着Dream ZHO大神学专升安的一天 

jwt

注册后登录抓包。

发现了JWT

JSON Web Tokens - jwt.io这个网站解一下可以得到

发现不知道密码用jwtcrack解一下即可。

 然后再放到网站上加密一下。

然后再放入包中发送

成功

login

在f12里发现了一个学号密码。

登陆成功

然后努力了很久,当我试一下20200102时,

20200103时

!!!!!!爆破

最终爆出:flag{dlcg}

iphone

一眼user-aggent头 

浮生日记

发现写入的字符数会出现在浮生日记里可以使用xss

发现script被过滤了那就用双写。

发现不对,

那就把前面闭合一下,后面注释掉。 

payload:"><scriscriptpt>alert(1)</scriscriptpt>**

$$

<?php
/*

PolarD&N CTF

*/

highlight_file(__file__);
error_reporting(0); 
include "flag.php";

$a=$_GET['c'];
if(isset($_GET['c'])){
    if(preg_match('/flag|\~| |\`|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\-|\+|\=|\{|\[|\;|\:|\"|\'|\,|\.|\?|\\\\|\/|[0-9]|\<|\>/', $a)){
        die("oh on!!!");}
    
    else{
        eval("var_dump($$a);");}}

。。。。。。过滤了这么多,这还绕你妹啊。

看了一下wp,学到了新知识。

$GLOBALS:引用全局作用域中可用的全部变量(一个包含了全部变量的全局组合数组。变量的名字就是数组的键),与所有其他超全局变量不同,$GLOBALS在PHP代码中任何地方总是可用的
而global在PHP中的解析是:global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。 注:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用

试一下 

爆破

<?php
error_reporting(0);

if(isset($_GET['pass'])){
    $pass = md5($_GET['pass']);
    if(substr($pass, 1,1)===substr($pass, 14,1) && substr($pass, 14,1) ===substr($pass, 17,1)){
        if((intval(substr($pass, 1,1))+intval(substr($pass, 14,1))+substr($pass, 17,1))/substr($pass, 1,1)===intval(substr($pass, 31,1))){
            include('flag.php');
            echo $flag;
        }
    }
}else{
    highlight_file(__FILE__);

}
?>

substr(string,start,length):取字符串

string="hello world"

substr(string,6,2);->wo

substr($pass, 1,1):取第二个字符,substr($pass, 14,1)取第十五个字符 substr($pass, 17,1)取第18个字符

 所以我们要满足md5的第二个字符等于第十五个字符,第十五个字符等于第十八个字符,第二个字符+第十五个字符+第十八个字符/第二个字符=第三十二个字符。

。。。。。。。你妹的这咋爆破。

虽然不知道为啥是这个长度。。。

XFF

一眼xff

rce1

直接ls一下,发现了fllllaaag.php

直接读取即可

GET-POST

<?php 
/*

PolarD&N CTF

*/
highlight_file(__FILE__);
include('flag.php');//文件包含,flag在flag.php文件中,不用想了你访问也没用
$id = $_GET['id'];
echo "你必须让我感受到你的真诚,用GET请求传递一下id吧,令id=1";
if($id == '1'){
    echo "干的漂亮";
    echo "<br/>";
    echo "虽然我感受到了你的真诚,但还是不行,用POST请求传递一下jljcxy吧,令jljcxy=flag";
    $jljcxy = $_POST['jljcxy'];
    if($jljcxy == 'flag'){
        echo $flag;
    }
}
你必须让我感受到你的真诚,用GET请求传递一下id吧,令id=1

一眼,。。。。。。不会就传个参吧。

。。。还真是

被黑掉的站 

看站点,试了www.zip,robots.txt 发现没有,直接开扫!!!!

扫到了shell.php和index.php.bak

index.php.bak是字典

。。。。。。。开爆!!!!!!!

最后爆出来nikel

签到题 

看了源码也啥都没有,直接开扫!!!!!!

扫出来/data

<?php
    error_reporting(0);
    $file = $_GET['file'];
    if(!isset($file))
        $file = '1';
    $file = str_replace('../', '', $file);
    include_once($file.".php");
    highlight_file(__FILE__);
?>

我们要绕过str_replace将../替换为空格,可以用双写绕过。

payload:?file=php://filter/read=convert.base64-encode/resource=..././..././..././..././flag

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 13:56:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 13:56:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 13:56:03       87 阅读
  4. Python语言-面向对象

    2024-03-28 13:56:03       96 阅读

热门阅读

  1. neutron 运维命令

    2024-03-28 13:56:03       31 阅读
  2. Centos7.9备份mysql数据库

    2024-03-28 13:56:03       43 阅读
  3. Spring和Spring Boot的区别

    2024-03-28 13:56:03       42 阅读
  4. python借用redis调用大模型,实现摘要的速度优化

    2024-03-28 13:56:03       37 阅读
  5. mysql 用户管理-权限表

    2024-03-28 13:56:03       35 阅读
  6. php:页面链接数据库(封装),其他页面引入方法

    2024-03-28 13:56:03       40 阅读
  7. Hbase常用命令选择题

    2024-03-28 13:56:03       37 阅读
  8. 浅谈AI大模型学习的理论基础和发展

    2024-03-28 13:56:03       42 阅读
  9. 搭建Docker Notary服务

    2024-03-28 13:56:03       44 阅读
  10. 如何在服务器上传/下载文件

    2024-03-28 13:56:03       34 阅读
  11. 【前端学习——css篇】4.px和rem的区别

    2024-03-28 13:56:03       41 阅读
  12. babel.min.js -1

    2024-03-28 13:56:03       33 阅读