[CISCN2019 华东南赛区]Web4

点击就进入了百度的页面,但是发现了url也发生了变化 

尝试一下任意文件读取(/etc/passwd)

尝试一下读取flag

f12查看发现了cookie中的session为jwt格式,可能为flask伪造

先去解密一下session(https://jwt.io/)

解密结果为www-data,如果是flask伪造的话需要找到secret_key,而在网上搜索flask有关信息时发现里面可能存在一个app.py文件

然后再去任意文件哪里查找有没有app这样的关键词,但是只发现了app并没有发现app.py

尝试读取一下app.py

 

整理如下代码:

# encoding:utf-8
import re, random, uuid, urllib
from flask import Flask, session, request app = Flask(__name__)
random.seed(uuid.getnode())
app.config['SECRET_KEY'] = str(random.random()*233)
app.debug = True @app.route('/')
def index(): session['username'] = 'www-data' return 'Hello World! Read somethings' @app.route('/read')
def read(): try: url = request.args.get('url') m = re.findall('^file.*', url, re.IGNORECASE) n = re.findall('flag', url, re.IGNORECASE) if m or n: return 'No Hack' res = urllib.urlopen(url) return res.read() except Exception as ex: print str(ex) return 'no response' @app.route('/flag')
def flag(): if session and session['username'] == 'fuck': return open('/flag.txt').read() else: return 'Access denied'
if __name__=='__main__': app.run( debug=True, host="0.0.0.0" )

审计代码可得确实是session伪造,并且告诉我们username必须是fuck(if session and session['username'] == 'fuck': ),以及secret_key要利用随机数求得(app.config['SECRET_KEY'] = str(random.random()*233) ),但是种子需要用到uuid.getnode函数(random.seed(uuid.getnode()) ),uuid.getnode函数用于获得网络接口的mac地址,如果机器具有多个网络接口,则返回通用管理的mac地址,而不是通过本地管理的mac地址返回。管理的mac地址保证是全局唯一的。如果getnode函数无法获取mac地址,则他会按照rfc 4122中的建议返回带有多播位得随机48位数字。uuid.getnode函数,是网卡mac地址的十进制数,使用(/sys/class/net/eth0/address)读取一下

找到地址之后按照源代码中的提示,生成secret_key

然后去linux中使用flask-session-cookie-manager-master(GitHub - noraj/flask-session-cookie-manager: Flask Session Cookie Decoder/Encoder)构造出新的session,使用命令(python3 flask_session_cookie_manager3.py decode -c 'eyJ1c2VybmFtZSI6eyIgYiI6ImQzZDNMV1JoZEdFPSJ9fQ.Yw8ANw.2tf4dnk4ntx3KEsZf7HC8ByAGlA' -s '105.264175525')(python3 flask_session_cookie_manager3.py encode -s '105.264175525' -t "{'username': b'fuck'}"

然后返回原页面修改session即可

url直接读取flag

完结撒花

[CISCN2019 华东南赛区]Web4相关推荐

  1. [CISCN2019 华东南赛区]Web11

    [CISCN2019 华东南赛区]Web11 继续刷题,今天这道题以前做过(类似的)很好懂. 开始拿到题目是一脸懵的,看到XFF伪造这个位置有点想法了,抓包那这儿是输入什么就显示什么吗?以前那道题就是 ...

  2. 体育技术机器学习金钱和灵感的圣杯

    I claim that anyone with a math background and a love of baseball has at one time given serious thou ...

  3. 机器学习 深度学习技术区别_体育技术机器学习金钱和灵感的圣杯

    机器学习 深度学习技术区别 I claim that anyone with a math background and a love of baseball has at one time give ...

  4. BUUCTF-社团考核

    目录 1.[CISCN2019 华东南赛区]Web4 2.[GWCTF 2019]枯燥的抽奖 3.[NCTF2019]Fake XML cookbook 4.[SCTF2019]Flag Shop 5 ...

  5. BUUCTF(12_1-12_5)

    //最近一直在准备四级所以鸽了几天 [GXYCTF2019]StrongestMind 让计算数字,计算一千次给flag 我们需要写一个脚本 import re import requests fro ...

  6. BUUCTF-刷题记录-7

    MISC [GUET-CTF2019]soul sipse steghide工具分析得到一个文件,无密码 得到一个链接 文件头错误,修复一下 得到这么一串Unicode字符 进行解码,得到 4070 ...

  7. [BUU刷题记录]day01-起步

    BUU-WEB 这是一个菜鸡的蜕变 先小记录一下题目环境部署必备的docker安装 sudo apt-get remove docker docker-engine docker.io contain ...

  8. buu(ssti模板注入、ssrf服务器请求伪造)

    目录 目录 [CISCN2019 华东南赛区]Web11 [BJDCTF2020]EasySearch [De1CTF 2019]SSRF Me [CSCCTF 2019 Qual]FlaskLigh ...

  9. BUUCTF Web 第二页全部Write ups

    更多笔记,可以关注yym68686.top 目录 [强网杯 2019]高明的黑客 [BUUCTF 2018]Online Tool [RoarCTF 2019]Easy Java [GXYCTF201 ...

最新文章

  1. 微生物培养的福音:一个直接用16S rDNA序列来预测其培养基配方的网站
  2. swift-初探webView与JS交互
  3. 精品思维导图,流程图模板分享
  4. Day 25: 联合Tornado、MongoDB 和 AngularJS 进行应用开发
  5. MYSQL:HAVING
  6. 【Pytorch神经网络理论篇】 05 Module类的使用方法+参数Parameters类+定义训练模型的步骤与方法
  7. 夸奖对方代码写的好_测一测,你写的代码性能好吗?
  8. adb命令查看报名和查看手机分辨率
  9. 在WSUS 3.0的环境中,部分客户机没有向WSUS服务器更新状态,该如何解决?
  10. cocosbuilder入门
  11. 需求分析和系统分析的区别
  12. 该内存不能为written或read的解决方案(比较全)
  13. ubuntu 下解压带密码的rar压缩包
  14. 多家技术公司喊停的人脸识别业务,被这家波兰网站玩火了!
  15. [机缘参悟-50]:鬼谷子-第十二符言篇-当好领导者的艺术:守其位,观四方,洞危险,广言路,虚谏言,定规则,明赏罚,符名实,得民心。
  16. 设计模式之工厂模式(factory pattern)
  17. SQL2022-8-10
  18. 英文自我介绍(考研/校内面试/复试)
  19. 竞赛排名_纪中1743_模拟
  20. 泡沫破裂的经济学原理

热门文章

  1. swagger初体验
  2. Grafana更改主题背景
  3. 华为路由器:ipsec技术
  4. java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
  5. 【编辑器】unity自动化生成UI模板代码
  6. [256个管理学理论]004.鲶鱼效应(Catfish Effect)
  7. gitlab self-hosted server
  8. linux lilo_LInux装箱商(LILO)| 免费和开源软件
  9. JavaScript笔试题(一)
  10. Windows SUS