封神臺(tái)復(fù)現(xiàn)
EzPyeditor

這個(gè)界面沒啥東西,直接下載源碼看一下

進(jìn)去看一下app.py

熟悉的界面,又是他
這里先去追蹤一下這個(gè)函數(shù)parse

這里這個(gè)函數(shù)大體上來說是存在一個(gè)文件讀取的漏洞的
這個(gè)漏洞會(huì)接受filename這個(gè)參數(shù)
這里我們就可以自己去設(shè)置這個(gè)參數(shù)
然后下面還有一個(gè)函數(shù)兩個(gè)聯(lián)合起來可以做到文件讀取
traceback.format_exc()這個(gè)函數(shù)會(huì)追蹤報(bào)錯(cuò)原因并且?guī)蛨?bào)錯(cuò)輸出出來
這里有一個(gè)細(xì)節(jié)需要注意一下
我們先隨便輸入一個(gè)報(bào)錯(cuò)一下看看

這里我們看見一個(gè)細(xì)節(jié)
SyntaxError
這個(gè)是語法報(bào)錯(cuò),當(dāng)我們輸入'號的時(shí)候他是詞法報(bào)錯(cuò)
所以不能用'
這里先用/etc/passwd來做實(shí)驗(yàn)看一下

這里可以看到也是成功的讀取到了文件
再去看secret.py

flag在第六行
這里可以使用換行符號來進(jìn)行讀取

讀取到了
EzEcho

輸入個(gè)1看看

這里好像就是把我輸入的給輸出出來使用echo函數(shù)
看下有沒有flag變量

看來是沒有
附件下載下來看看

進(jìn)來就看見好東西

也是找到了騙人的flag了
下面哪個(gè)readflag應(yīng)該是個(gè)可執(zhí)行程序
使用die看一下

是一個(gè)ELF文件
再下面那個(gè)是readflag.c的c語言源碼
這里大概的思路有了
我們要在這個(gè)框里面運(yùn)行readflag這個(gè)文件
但是echo只能輸出
但是如果我們使用`包裹后面的內(nèi)容
他會(huì)先運(yùn)行命令然后再輸出

這里嘗試一下

看下源代碼

誒源代碼頁沒有
看下ls

cat一下看看
大概測試了一下好像只要出現(xiàn)空格之后他就不會(huì)當(dāng)作指令運(yùn)行但是正常來說應(yīng)該是可以的

大概率是被過濾了
這里嘗試了一下${IFS}繞不過使用<重定向符號繞過了
這里是cat了f4444

看一下flag.sh

本來一開始就來嘗試readflag了
但是沒用后面仔細(xì)看了一下
/沒加進(jìn)去

EzGrades

上來一大串英文沒看懂
先搜一下這個(gè)英文什么意思

所以這個(gè)就是用來查看作業(yè)成績的

有一個(gè)登錄界面
不急著做,先去看一下附件

內(nèi)容看著有點(diǎn)多噢
先看一下依賴

經(jīng)典模板flask

審代碼的時(shí)候發(fā)現(xiàn)一個(gè)flag界面
但一看就是假的
但我還是要看一下

這里去看一眼路由

只能用教師來訪問
這里先隨便提交一下看看

這里可以觀察到一個(gè)東西

這里的認(rèn)證會(huì)在url中顯示看一下能不認(rèn)證為老師


好像沒反應(yīng)
看一下成績

依然是學(xué)生,再回去看一下代碼

在這里注意到他的cookie是jwt抓包看一下

這里可以看見是stu的所以是學(xué)生

看看改成tea有沒有用
也是沒有用
這里再去看了下源碼

這里發(fā)現(xiàn)了is_teacher的獲取方式
這里去JWT里面加一點(diǎn)東西
這里一開始腦子比較死,就想著自己去構(gòu)造
但是我們細(xì)致的看一下這個(gè)邏輯

這里可以直接把我們傳入的參數(shù)進(jìn)行json一開始腦子抽筋了
就想著把passwd后面階段之后再構(gòu)造進(jìn)去
沒了完全理解這個(gè)邏輯的意思
這里是會(huì)把我輸入的所有參數(shù)進(jìn)行json話
所以我們可以直接傳入is_teacher=True利用他自己服務(wù)器的漏洞來構(gòu)造

后面那一串cookie里面就有我要的東西
可以解析了看一下

這下再把這串cookie拿去用來訪問一下/grades_flag這個(gè)路由
這樣就可以拿到flag了

c
這里看完代碼之后就可以知道
登錄admin獲取到flag
然后在db文件里面發(fā)現(xiàn)了admin的用戶名和密碼
他對admin的過濾是使用php
最后接受參數(shù)返回使用的是flask框架
這里用到的知識(shí)點(diǎn)
是HTTP參數(shù)污染
這里flask接受同樣參數(shù)的第一個(gè)php接受第二個(gè)所以可以繞過
然后就可以繞過了

EzReveal

奇奇怪怪的界面
看不懂一點(diǎn)
先去問一下AI

先傳一個(gè)馬看看怎么個(gè)事
這里不知道瀏覽器是抽什么風(fēng)
這里要抓包來上傳才能傳
要把UA頭刪掉

這里讓我們發(fā)文檔
隨便傳一個(gè)看一下

去看下源碼

這里是通過來檢測MIME頭來進(jìn)行選擇
所以我們可以通過構(gòu)造MIme頭來繞過

再看

浙公網(wǎng)安備 33010602011771號