Polar靶场web(三)

文章讲述了在PHP环境中,作者逐步发现并利用签到过程中的安全漏洞,如参数限制、文件包含、Cookie欺骗和正则表达式绕过,最终实现文件上传和执行命令的过程。
摘要由CSDN通过智能技术生成

期待得到某一件事物的时候,才是最美好的。

签到

发现不能提交,看一下f12

发现提交按钮被禁用了,且最大输入9个字符,我们可以改一下。

现随便提交一个发现要提交ilovejijcxy

 session文件包含

发现有文件包含,那先包含一下action.php

发现

post传的参数被记录到seesion文件里面了,所以我们就可以用session文件包含,猜一下目录,找到/tmp/sess_5ki3kfmdkshq56njj2g0b1ut41



 Don't touch me

robots

一眼robots.txt

php very nice 

一眼反序列化。

ezupload 

先随便上传一个试试,提示只能上传GIF格式

经过检测,只检测Content-type,所以只需改为image/gif即可。

直接蚁剑连即可。 

cookie欺骗 

根据题目可以看出要改cookie,

把user改为admin就好了

upload

先看源代码,看到

加入url后看到源码。

发现把这么多后缀换为空,所以我们可以使用双写绕过。

上传成功。

干正则

<?php
error_reporting(0);
if (empty($_GET['id'])) {
    show_source(__FILE__);
    die();
} else {
    include 'flag.php';
    $a = "www.baidu.com";
    $result = "";
    $id = $_GET['id'];
    @parse_str($id);
    echo $a[0];
    if ($a[0] == 'www.polarctf.com') {
        $ip = $_GET['cmd'];
        if (preg_match('/flag\.php/', $ip)) {
            die("don't show flag!!!");
        }

        $result .= shell_exec('ping -c 2 ' . $a[0] . $ip);
        if ($result) {
            echo "<pre>{$result}</pre>";
        }
    } else {
        exit('其实很简单!');
    }
}

@parse_str($id); 这个函数不会检查变量 $id 是否存在,如果通过其他方式传入数据给变量$id ,且当前$id中数据存在,它将会直接覆盖掉 

 

技巧:cat `ls`;

cool

<?php
if(isset($_GET['a'])){
    $a = $_GET['a'];
    if(is_numeric($a)){
        echo "no";
    }
    if(!preg_match("/flag|system|php/i", $a)){
        eval($a);
    }
}else{
    highlight_file(__FILE__);
}
?>

直接用passthru即可

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值