polarctf靶场[WEB]cookie欺骗、upload、签到

[web]cookie欺骗

考点:cookie值

工具:Burp Suite抓包

根据题目提示,cookie欺骗,所以要在cookie值寻找关键

进入网页之后,说只有admin用户才能得到flag,而我们此时只属于普通访客

 我们查看cookie值,发现cookie值属于user,所以我们需要将user改为admin

 用爆破工具拦截,将cookie值改为user之后点击放行

如图,便可得到本题的flag

[web]upload

考点:双写绕过

工具:Burp Suite抓包、蚁剑

点击网页,如图

先看其源码,发现有个子域,将其访问

 是一串php代码

$is_upload = false;
$msg = null;  //首先定义了两个变量$is_upload初始值为false,表示上传状态未成功;$msg初始值为null,用于存储可能出现的错误信息
if (isset($_POST['submit'])) {
    if (file_exists(UPLOAD_PATH)) {
        $deny_ext = array("php","php5","php4","php3","php2","html","htm","phtml","pht","jsp","jspa","jspx","jsw","jsv","jspf","jtml","asp","aspx","asa","asax","ascx","ashx","asmx","cer","swf","htaccess");
 
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = str_ireplace($deny_ext,"", $file_name);
        $temp_file = $_FILES['upload_file']['tmp_name'];
        $img_path = UPLOAD_PATH.'/'.rand(10000,99999).$file_name;        
        if (move_uploaded_file($temp_file, $img_path)) {
            $is_upload = true;
        } else {
            $msg = '上传出错!';
        }
    } else {
        $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
    }
}

 解析如下:

当检测到表单通过 POST 方法提交且提交按钮名称为submit时,进行以下操作:

  • 检查指定的上传路径UPLOAD_PATH是否存在。如果存在,则继续执行文件上传操作;如果不存在,则将错误信息'UPLOAD_PATH 文件夹不存在,请手工创建!'赋值给$msg
  • 定义一个数组$deny_ext,其中包含了一系列不允许上传的文件扩展名,如phphtmljspasp等,这些扩展名通常与服务器端脚本或可执行文件相关,为了安全考虑不允许上传。
  • 获取上传文件的原始文件名$_FILES['upload_file']['name'],并使用trim函数去除文件名两端的空白字符。然后通过str_ireplace函数将文件名中的不允许的扩展名替换为空字符串,以确保上传的文件不是危险的类型。
  • 获取上传文件的临时文件名$_FILES['upload_file']['tmp_name'],并生成一个随机数和原始文件名组成的新文件路径$img_path,存储在指定的上传路径下。
  • 使用move_uploaded_file函数将临时文件移动到新的文件路径中。如果移动成功,将$is_upload设置为true,表示上传成功;如果移动失败,则将错误信息'上传出错!'赋值给$msg

 总的来说就是将其上传的文件后缀有:

"php","php5","php4","php3","php2","html","htm","phtml","pht","jsp","jspa","jspx","jsw","jsv","jspf","jtml","asp","aspx","asa","asax","ascx","ashx","asmx","cer","swf","htaccess"

 替换为空,所以我们要将其绕过

打开Burp Suite抓包,将文件后缀进行双写绕过

 在重发器上是看到可以上传成功的,还显示了子域

 所以直接在代理上放行,点击查看源代码,发现没看到缀,要是不确定,可以点开发现其就是我们所上传的一句话木马

子域有了,所以用蚁剑开始连接 

找到flag.php,打开,就是本题的flag

 [web]签到

考点:修改前端、html、disabled 、maxlength

打开网页,发现提交按钮无效

查看源代码,发现了disabled 

disabled 属性是一个布尔属性。当存在时,它规定应禁用选项。

禁用的选项是不可用且不可点击的。

可以设置 disabled 属性以防止用户选择该选项,直到满足某些其他条件(如选择复选框等)。然后,需要一个 JavaScript 来删除 disabled 值,使该选项可选择。

所以我们需要在前端将其disabled="disabled"删除

 👇

点击提交,弹出一个小窗

 输入ilovejljcxy,发现其吞掉了一些字符

 再继续观察前端

 maxlength 属性规定 <input> 元素中允许的最大字符数。 

该题只允许我们最多输入9个字符,所以我们可以将其而我们输入的ilovejljcxy已经超了,所以我们有两种方法,一个是将范围扩大,就是将数字9改为数字11及以上 ,或者将 maxlength =''9"给删了,上述操作完成任意一项之后输入ilovejljcxy点击提交,弹出了含有本题flag的窗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剁椒排骨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值