HGAME2018WP WEEK1

warning: 这篇文章距离上次修改已过314天,其中的内容可能已经有所变动。

hgame2018 writeup

我们不一样~~~

URL:http://118.25.18.223:10002/
看源码

    include_once("flag.php");
    if(isset($_POST['str1'])&&isset($_POST['str2'])){

        if ($_POST['str1']!=$_POST['str2']&&strcmp($_POST['str1'],$_POST['str2'])==0) {
            echo "flag is:".$flag;
            exit();
        } else{
            echo "Something wrong..";
        }
    }

很明显是php弱类型问题,然后有个关键函数stecmp()是二进制安全字符串比较,php手册上是这么说的,如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。开始怎么都没构造出来。后面还是问了下大佬,才知道这里的弱类型是在于string和非string的strcmp返回0,而array!=string成立,构造
str1=abc&str2[]=qwe

tell me what you want

URL:http://123.206.203.108:10001/
提示是想要flag吗?,想,当然想。。。
有个可以提交的地方,输入flag,弹出request method is error.I think POST is better,那就POST传递一下,又提示了xff要本地,就用bp抓了个包然后xff到127.0.0.1,然后又来一个user-agent要icefox/57.0,和referer要google,一起加上want=flag得到flag。

can u find me?

URL:http://118.25.18.223:10003
提示:only robot know where is the flag
那就访问http://118.25.18.223:10003/robots.txt
出现这两个

User-agent: *
Disallow: /f1aaaaaaaag.php

然后访问了一下/f1aaaaaaaag.php,说我不是admin,那我抓包,发现cookie里面有个user= ,那补上GO一下得到flag

Are you from Europe?

开局一发518,flag全凭血统,我居然抽了50多次,没抽到啥,开始看到还以为是抓包改referer的题,结果试了几次不是,看了下源码,最下面有一行超级长的代码而且还是eval开头,引起了我的注意,总感觉应该跟这个有丶关系

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p;}('w p(){b a=l("8!k,j 8 o 1 m?");5(!$("#4").7()&&!$("#9").7()){2("i。");f}b 1="";1+="";1+="";1+="";1+="y";1+="{";1+="g";1+="h";1+="3";1+="6";1+="v";1+="h";1+="0";1+="s";1+="e";1+="u";1+="6";1+="0";1+="n";1+="r";1+="!";1+="}";5(a){$("#4").d();$("#9").d();2("t。1: "+1)}q{2("x。")}}',35,35,'|flag|alert||serv5|if|_|html|SSR|craft5|buy|var||remove||return|T||你根本不是欧洲人|你愿意献祭你全部的|欧洲人|confirm|吗||来获取|soHappy|else|E||兑换成功|N|C|function|你失去了唯一的机会|hgame'.split('|'),0,{})

开始没看出什么名堂来,得到大佬提示,用插件美化一哈得到flag.
其实还有一道special number我觉得是可以做的,但是有点懒,看着代码有点稍稍的小复杂,就没做了。。。

CTF
最后修改于:2020年11月10日 10:03

添加新评论