bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

ctfshow-菜狗杯-抽老婆-創新互聯

任意文件讀取 抽老婆

打開首先發現是一個圖片下載(老婆們都很不錯( ̄▽ ̄)*),感覺也沒什么其他的東西,先F12看一下代碼,發現有一處標注,感覺跟任意文件下載有關:

網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了岳陽免費建站歡迎大家使用!

(一開始的錯誤思路:)

想著先掃一遍看看能不能發現啥,于是用dirsearch掃了一下,
在這里插入圖片描述發現了/console,訪問顯示需要PIN,
在這里插入圖片描述
也沒有什么提示不知道能不能爆破出來,先抓個包看看,發現返回的響應包中有,改一下值,改為true,
在這里插入圖片描述

發現驗證就通過了:
在這里插入圖片描述
但是我不會了。。。。后來看了一下wp,發現這個思路是錯的,還是應該從文件讀取入手。

(正確思路:)

于是先試一試讀取flag:
在這里插入圖片描述
被過濾了🤪,不過不要氣餒,多試試,再嘗試隨便讀一個111.jpg:
發現沒有過濾了,出現了報錯:
在這里插入圖片描述
里面暴露了一些路徑,猜測app.py是網站源文件,下載下來先看看(但是這個路徑,我不太了解為什么就是返回兩層,是開發經驗嗎):

# !/usr/bin/env python
# -*-coding:utf-8 -*-

"""
# File       : app.py
# Time       :2022/11/07 09:16
# Author     :g4_simon
# version    :python 3.9.7
# Description:抽老婆,哇偶~
"""

from flask import *
import os
import random
from flag import flag

#初始化全局變量
app = Flask(__name__)
app.config['SECRET_KEY'] = 'tanji_is_A_boy_Yooooooooooooooooooooo!'

@app.route('/', methods=['GET'])
def index():  
    return render_template('index.html')


@app.route('/getwifi', methods=['GET'])
def getwifi():
    session['isadmin']=False
    wifi=random.choice(os.listdir('static/img'))
    session['current_wifi']=wifi
    return render_template('getwifi.html',wifi=wifi)



@app.route('/download', methods=['GET'])
def source(): 
    filename=request.args.get('file')
    if 'flag' in filename:
        return jsonify({"msg":"你想干什么?"})
    else:
        return send_file('static/img/'+filename,as_attachment=True)


@app.route('/secret_path_U_never_know',methods=['GET'])
def getflag():
    if session['isadmin']:
        return jsonify({"msg":flag})
    else:
        return jsonify({"msg":"你怎么知道這個路徑的?不過還好我有身份驗證"})



if __name__ == '__main__':
    app.run(host='0.0.0.0',port=80,debug=True)

有個/secret_path_U_never_know路徑,但是從代碼里可以看出還需要繞過身份驗證:
在這里插入圖片描述

flask中的session偽造

看代碼只需要讓session中的isadmin為真就可,這個用的應該是JWT方式認證,里面簽名要用到SECRET_KEY;于是我們將isadmin的值更改后,使用密鑰SECRET_KEY重新加密生成一個session。有一個開源腳本可以幫我們自動生成:github—flask-session-cookie-manager下載鏈接
下載之后,使用腳本進行重新加密:
在這里插入圖片描述

生成以后我們在burp攔截的請求包中用此session替換之前的session,發現flag出現:
在這里插入圖片描述

總結:
了解到了flask框架,以及flask框架中會使用的登錄認證:
現在流行兩種方式登錄認證方式:Session和JWT,無論是哪種方式其原理都是保存憑證:session,JWT,token的區別

  1. 前端發起登錄認證請求
  2. 后端登錄驗證通過,返回給前端一個憑證
  3. 前端發起新的請求時攜帶憑證
    只不過session的重點是會在服務端存儲憑證;而JWT不會在服務端存儲憑證,而是會將返回的憑證根據簽名和加密方式來校驗其是否被篡改。
    JWT的格式及加密形式(JWT的介紹及使用);

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

標題名稱:ctfshow-菜狗杯-抽老婆-創新互聯
文章出自:http://vcdvsql.cn/article46/diohhg.html

成都網站建設公司_創新互聯,為您提供微信公眾號服務器托管企業網站制作搜索引擎優化面包屑導航App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化