2019-03-30-xctf社區(qū)題解

web-新手模式:

[TOC]

view-source:

鼠標(biāo)右鍵被網(wǎng)頁禁用了吧,F12查看即可:

view-source

get_post:

hackbar構(gòu)造GET請求

提交之后,顯示:


再構(gòu)造POST

構(gòu)造POST請求

Flag

robots:

訪問robots.txt,發(fā)現(xiàn)f1ag_1s_h3re.php頁面:


robots.txt

訪問f1ag_1s_h3re.php頁面:


flag

backup:

常見的備份文件后綴名有:.git .svn .swp .~ .bak .bash_history,訪問提示如下:

backup

依次猜測,得到index.php.bak,訪問提示下載,下載完打開:
flag

github工具dirsearch的使用:

將代碼倉庫clone到本地,使用python3環(huán)境執(zhí)行命令:


dirsearch使用

cookie:

使用F12查看響應(yīng)頭的內(nèi)容,cookie消息:

cookie消息

提示查看cookie.php:
flag

cookie.php的響應(yīng)頭里面找到flag,每一題在線生成的場景不同,得到的flag也不同。

disabled_button:

前端知識,button的屬性設(shè)置了disable值,所以不能點擊,F12查看并修改,點擊即可得到flag:

刪除disabled屬性

flag

simple_js:

js的基本用法,查看源碼,整理如下:

 function dechiffre(pass_enc){
        var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
        var tab  = pass_enc.split(',');
        var tab2 = pass.split(',');
        var i,j,k,l=0,m,n,o,p = "";
        i = 0;
        j = tab.length;
        k = j + (l) + (n=0);
        n = tab2.length;
        for(i = (o=0); i < (k = j = n); i++ )
        {
            o = tab[i-l];
            p += String.fromCharCode((o = tab2[i]));
            if(i == 5)break;}
        for(i = (o=0); i < (k = j = n); i++ )
        {
            o = tab[i-l];
            if(i > 5 && i < k-1)
                p += String.fromCharCode((o = tab2[i]));
        }
        p += String.fromCharCode(tab2[17]);
        pass = p;return pass;
    }
    String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));

    h = window.prompt('Enter password');
    alert( dechiffre(h) );

String.fromCharCode是將Unicode編碼轉(zhuǎn)為字符串,真正的pass是String["fromCharCode"]處的字符串,用python處理一下轉(zhuǎn)為字符串:

python處理

最后提交的時候添加格式。

xff_referer:

偽造http請求頭:


偽造xff,referfer

然后在響應(yīng)里面找到flag:


flag

weak_auth:

Burpsuite爆破,根據(jù)教學(xué)文檔,找到GitHub上面大佬收集的常用密碼字典:https://github.com/rootphantomer/Blasting_dictionary

字典爆破

webshell:

使用菜刀連接webshell:

caidao

直接可以看到網(wǎng)站目錄下面有flag.txt:
image.png

flag

或者直接在瀏覽器里面通過php函數(shù)來獲取flag:
getcwd函數(shù)是獲取當(dāng)前目錄,scandir是掃描當(dāng)前目錄下的文件夾并把結(jié)果存在一個數(shù)組中,print_r是打印出結(jié)果:
得到flag文件名

然后,再獲取文件里面的內(nèi)容,fopen為打開文件的函數(shù),這里以可讀的方式打開,然后fgets獲取行內(nèi)容,最后print_r打印出結(jié)果:
打印出flag

command_execution:

命令執(zhí)行,命令行中command1|command2表示只執(zhí)行command2,經(jīng)驗所致了,flag文件放在home目錄下,查看即可,之前校賽的時候也有一道類似,好像是禁用了cat命令,然后解決方法是使用tac反向輸出命令:

命令執(zhí)行

simple_php:

PHP的簡單使用,十六進(jìn)制繞過,%00截斷繞過is_numeric()函數(shù)的判斷:

simple_php

官方解答,這我是真不知道,沒辦法,太菜:

掌握php弱類型比較
php中有兩種比較符號:
==: 先將字符串類型轉(zhuǎn)化成相同,再比較
===: 先將字符串類型轉(zhuǎn)化成相同,再比較
字符串和數(shù)字比較使用==時,字符串會先轉(zhuǎn)換為數(shù)字類型
再比較 php var_dump('a' == 0);//true,這里'a'會被轉(zhuǎn)換數(shù)字
0 var_dump('123a' == 123);//true,這里'123a'會被轉(zhuǎn)換為123

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容