国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

BUU-Web-[護(hù)網(wǎng)杯 2018]easy_tornado

2021-04-30 08:55 作者:雨落雪辰  | 我要投稿

前言

每做一次新類型的題,就是一個新的知識點,將知識點弄通,就是對自己的一次提升。

開工

對3個url都進(jìn)行訪問


可以注意請求頭

每個請求頭都帶有file_name和filehash

再看第三個文件hints.txt中明確寫出了加密方式


這里我們就可以開始構(gòu)建代碼

但是我們發(fā)現(xiàn)輸出結(jié)果于filehash中的結(jié)果不同

我這邊誤以為cookie_secret就是header中的Cookie,以至于加密結(jié)果錯誤

與此同時,我們試著直接訪問/file?filename=/fllllllllllllag

得到了以下報錯結(jié)果

這里試著對msg進(jìn)行模版注入/error?msg={{1}}

模版注入:不正確的使用flask中的render_template_string方法會引發(fā)SSTI。

  • 在Jinja2模板引擎中,{{}}是變量包裹標(biāo)識符。{{}}并不僅僅可以傳遞變量,還可以執(zhí)行一些簡單的表達(dá)式。

  • 通過{{}}變量包裹符進(jìn)行簡單的表達(dá)式測試來判斷是否存在SSTI漏洞

  • 例如{{config}}(查看flask全局變量),{{2*2}}

這里對下劃線做了過濾“_”因此無法直接通過命令獲取flag

通過查閱tornado的官方文檔


也就是說我們需要查找的cookie_secret是存放在對象self.application.settings["cookie_secret"]


從后續(xù)的文檔中獲取到self.application.settings的別名為RequestHandler.setting

官方給出了能調(diào)用的對象的別名

可以發(fā)現(xiàn)我們需要調(diào)用的RequestHandler的別名是handler

因此settings的位置為[handler.settings]


獲取到cookie_secret后就直接將其放入上面寫好的加密程序中就可以計算出flag文件的hash值

最終獲取到flag

總結(jié)

本次主要就是考察了模版注入的基本知識,做法也較為簡單,起初一直沒搞明白handler是怎么來的,通過逐步查閱官方文檔發(fā)現(xiàn)這個是官方定義的別名。

主要知識點

  • 模版注入(SSTI)

  • tornado中功能類的別名




BUU-Web-[護(hù)網(wǎng)杯 2018]easy_tornado的評論 (共 條)

分享到微博請遵守國家法律
安徽省| 潞西市| 昂仁县| 兴安盟| 集安市| 西乡县| 祥云县| 中西区| 翁源县| 乾安县| 榆中县| 灵山县| 绥中县| 长春市| 丰镇市| 怀集县| 横峰县| 长春市| 永川市| 九江市| 怀宁县| 龙门县| 九江县| 大英县| 平陆县| 循化| 竹山县| 兴义市| 云梦县| 电白县| 合水县| 东乌珠穆沁旗| 嘉兴市| 黄骅市| 彩票| 德昌县| 洪江市| 罗源县| 武川县| 射洪县| 桂平市|