内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Flask模擬實(shí)現(xiàn)CSRF攻擊的方法-創(chuàng)新互聯(lián)

CSRF

目前累計(jì)服務(wù)客戶成百上千家,積累了豐富的產(chǎn)品開(kāi)發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹(shù)立企業(yè)形象,為客戶提供成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過(guò)對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺(jué)傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

CSRF全拼為Cross Site Request Forgery,譯為跨站請(qǐng)求偽造。

CSRF指攻擊者盜用了你的身份,以你的名義發(fā)送惡意請(qǐng)求。

包括:以你名義發(fā)送郵件,發(fā)消息,盜取你的賬號(hào),甚至于購(gòu)買商品,虛擬貨幣轉(zhuǎn)賬......

造成的問(wèn)題:個(gè)人隱私泄露以及財(cái)產(chǎn)安全。

CSRF攻擊示意圖

客戶端訪問(wèn)服務(wù)器時(shí)沒(méi)有同服務(wù)器做安全驗(yàn)證

Flask模擬實(shí)現(xiàn)CSRF攻擊的方法

防止 CSRF

1.在客戶端向后端請(qǐng)求界面數(shù)據(jù)的時(shí)候,后端會(huì)往響應(yīng)中的 cookie 中設(shè)置 csrf_token 的值

2.在 Form 表單中添加一個(gè)隱藏的的字段,值也是 csrf_token

3.在用戶點(diǎn)擊提交的時(shí)候,會(huì)帶上這兩個(gè)值向后臺(tái)發(fā)起請(qǐng)求

4.后端接受到請(qǐng)求,以會(huì)以下幾件事件: •從 cookie中取出 csrf_token

  • 從 表單數(shù)據(jù)中取出來(lái)隱藏的 csrf_token 的值
  • 進(jìn)行對(duì)比

5.如果比較之后兩值一樣,那么代表是正常的請(qǐng)求,如果沒(méi)取到或者比較不一樣,代表不是正常的請(qǐng)求,不執(zhí)行下一步操作

代碼演示

未進(jìn)行 csrf 校驗(yàn)的 WebA

后端代碼實(shí)現(xiàn)

from flask import Flask, render_template, make_response

from flask import redirect

from flask import request

from flask import url_for

 

app = Flask(__name__)

 

 

@app.route('/', methods=["POST", "GET"])

def index():

  if request.method == "POST":

    # 取到表單中提交上來(lái)的參數(shù)

    username = request.form.get("username")

    password = request.form.get("password")

 

    if not all([username, password]):

      print('參數(shù)錯(cuò)誤')

    else:

      print(username, password)

      if username == 'laowang' and password == '1234':

        # 狀態(tài)保持,設(shè)置用戶名到cookie中表示登錄成功

        response = redirect(url_for('transfer'))

        response.set_cookie('username', username)

        return response

      else:

        print('密碼錯(cuò)誤')

 

  return render_template('temp_login.html')

 

 

@app.route('/transfer', methods=["POST", "GET"])

def transfer():

  # 從cookie中取到用戶名

  username = request.cookies.get('username', None)

  # 如果沒(méi)有取到,代表沒(méi)有登錄

  if not username:

    return redirect(url_for('index'))

 

  if request.method == "POST":

    to_account = request.form.get("to_account")

    money = request.form.get("money")

    print('假裝執(zhí)行轉(zhuǎn)操作,將當(dāng)前登錄用戶的錢轉(zhuǎn)賬到指定賬戶')

    return '轉(zhuǎn)賬 %s 元到 %s 成功' % (money, to_account)

 

  # 渲染轉(zhuǎn)換頁(yè)面

  response = make_response(render_template('temp_transfer.html'))

  return response

 

if __name__ == '__main__':

  app.run(debug=True, port=9000) 

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站欄目:Flask模擬實(shí)現(xiàn)CSRF攻擊的方法-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://m.rwnh.cn/article26/djiejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
栖霞市| 孟连| 开封县| 青浦区| 泊头市| 宝兴县| 巩留县| 漯河市| 嘉峪关市| 临夏县| 余干县| 大埔区| 通渭县| 疏附县| 宁津县| 长岭县| 泗洪县| 兴文县| 无锡市| 定安县| 贵溪市| 荥阳市| 夏邑县| 东平县| 广宁县| 铁岭市| 湄潭县| 色达县| 黑龙江省| 肇东市| 方山县| 游戏| 华坪县| 灵璧县| 孟村| 黔江区| 皮山县| 偏关县| 额敏县| 旌德县| 三门县|