代碼審計-php框架開發,實戰tp項目,打擊微交易,源碼獲取,擴大戰果

實戰,不安全寫法引發的注入

這個bc靶場源碼沒有,看老師演示

打開很明顯的tp框架源碼

拿到tp框架之后第一步,搜索版本信息5.0.5

兩個思路

1.代碼的不安全寫法

2.版本自身存在的漏洞

全局搜索where看看也沒有不安全的

哎?!

然后記錄一下文件路徑名字,方法名字,參數

然后直接按照tp框架的訪問路徑,構造一下url

這里先前臺注冊一個賬號登陸進去

哎?訪問路徑報錯哈

但是看調試是正常執行了

不回顯那就直接盲注好了

成功

全局搜索到了第二個存在不安全寫法的文件

.號,一個連接符號,相當于直接拼接上了

危險方法是chicjisopen,然后就看誰調用了他,右鍵查找用法

看到在

goods里面有一個調用

看到傳遞的值pid,那看看這個pid這個值從那獲取

從goods方法獲取,那就可以直接構造url了

就把上一個方法改成goods方法進行,因為別的文件和參數都一樣

版本漏洞引發的安全問題.

sql注入漏洞

測試一下下面提供的源碼,寫在代碼里面測試版本漏洞是否真實存在

根據復現poc,即使是安全寫法,依然存在漏洞問題

這個漏洞的入口點是因為exp,如果不存在這個exp就沒有辦法

而這個源碼,沒有寫exp這個函數在sql語句里面,就沒有入口點,無法利用這個漏洞

文件包含漏洞

有這兩句代碼就能觸發tp的文件包含漏洞

寫一個測試點

然后根據文檔的poc

成功文件包含

但這個利用條件很苛刻,因為get是接受get傳輸的任意值,那就是發送的get變量要完全可控

assign(可控變量)

有很多但是assign內容不可控

也是沒找到入口點

緩存漏洞

這個接受tp的一個應用功能,有設置緩存就可以訪問目標地址的時候url帶著后門信息,tp就會把后門信息緩存到一個固定的php文件里面,造成后門寫入

寫一個測試點

可控變量是username

訪問

就自動多了一個php文件

利用條件也是用了那個函數加上可控變量

命令執行漏洞(存在)

5.0.5版本的命令執行

試一試,這個倒是存在

這個語法第一個fileput是寫文件函數,2.php是文件名字,后面是木馬代碼

我們這里就復現一下只需要執行命令,把函數緩存system,文件名換成要執行的命令就行

存在

反序列化漏洞無

xss挖掘

存儲型xss才有這個擴大危害的可能,而tp框架挖掘xss要困難一些,因為retuen在tp框架可能是返回結果也可能是輸出

反射性xss一般要發鏈接給管理員釣魚,利用難度高

然后存儲型xss得讓管理員主動去看,才有最大的價值,這里就要想管理員喜歡看什么東西,然后不知不覺觸發xss。

這就登陸到后臺看看,管理員喜歡看什么,流水和自己的用戶

而這些顯示內容的信息都可以測試也沒有存儲xss

黑盒思路就是盲猜那些信息會在后臺顯示,管理員也經常看

而這里,用戶名這里就會造成存儲xss

注冊的時候寫一個存儲xss直接拖cookie。

從代碼中看,根據路徑找代碼,admin下的user的list函數,就是數據區查詢東西,然后this返回,沒有看到什么過濾

再去看前端文件,userlits.html

就獲取用戶名然后顯示在前端,沒有任何過濾,直接造成存儲xss漏洞

邏輯漏洞(脆弱的權限驗證)

不登陸訪問后臺界面,提示請先登錄

直接在源碼中搜索請先登錄在哪出現

首先驗證userid是否存在,存在在進行下一個token驗證,而token驗證的值就是固定死md5加密值,這就可以偽造登錄

正常的驗證邏輯是token是隨機值來判斷,輸入正確的密碼生成隨機token值

這里就很抽象了抓一下他正確登陸之后的cookie

字段是denglu,值是下面那些

直接在cookie寫入這個字段和值

在訪問admin

直接進后臺

還有后臺可以上傳任意文件,沒有任何檢測

如何擴大戰果(同種資產)

思路

特定圖標

特定文件

特定url鏈接

特定的盲注

這里就可以打組合拳,最容易搜索到

像這種特有的js文件

url那個就是搜特定鏈接語法,script就是搜特定js鏈接

而這個是有一個特殊的圖標,

這個可以直接保存下來,然后在queke上傳

jian

kang

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

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

相關文章

大模型的實踐應用43-基于Qwen3(32B)+LangChain框架+MCP+RAG+傳統算法的旅游行程規劃系統

大家好,我是微學AI,今天給大家介紹一下大模型的實踐應用43-基于Qwen3(32B)+LangChain框架+MCP+RAG+傳統算法的旅游行程規劃系統。本報告將闡述基于大模型Qwen3(32B)、LangChain框架、MCP協議、RAG技術以及傳統算法構建的智能旅游行程規劃系統。該系統通過整合多種技術優勢,實…

Jsoup庫和Apache HttpClient庫有什么區別?

Jsoup 和 Apache HttpClient 是兩個功能不同的庫,它們在 Java 開發中被廣泛使用,但用途和功能有明顯的區別: Jsoup 用途:Jsoup 是一個用于解析 HTML 文檔的庫。它提供了非常方便的方法來抓取和解析網頁內容,提取和操作…

騰訊云存儲原理

我們來詳細展開你提到的兩個核心結構概念: 一、“基于分布式文件系統 對象存儲技術” 是什么? 1. 分布式文件系統(DFS)基礎 分布式文件系統是一種支持將數據分布在多個存儲節點上、并對上層用戶透明的文件系統。騰訊云COS雖然是…

python fastapi + react, 寫一個圖片 app

1. 起因, 目的: 上廁所的時候,想用手機查看電腦上的圖片,但是又不想點擊下載。此app 應運而生。 2. 先看效果 單擊圖片,能放大圖片 3. 過程: 過程很枯燥。有時候, 有一堆新的想法。 但是做起來太麻煩,…

Kubernetes控制平面組件:Kubelet詳解(五):切換docker運行時為containerd

云原生學習路線導航頁(持續更新中) kubernetes學習系列快捷鏈接 Kubernetes架構原則和對象設計(一)Kubernetes架構原則和對象設計(二)Kubernetes架構原則和對象設計(三)Kubernetes控…

QT6 源(111):閱讀與注釋菜單欄 QMenuBar,進行屬性與成員函數測試,信號與槽函數測試,并給出源碼

(1) (2) (3) (4) (5) (6) (7)以下源代碼來自于頭文件 qmenubar . h : #ifndef QMENUBAR_H #defi…

Leetcode 3552. Grid Teleportation Traversal

Leetcode 3552. Grid Teleportation Traversal 1. 解題思路2. 代碼實現 題目鏈接:3552. Grid Teleportation Traversal 1. 解題思路 這一題的話核心就是一個廣度優先遍歷,我們只需要從原點開始,一點點考察其所能到達的位置,直至…

2023CCPC河南省賽暨河南邀請賽個人補題ABEFGHK

Dashboard - 2023 CCPC Henan Provincial Collegiate Programming Contest - Codeforces 過題難度:A H F G B K E 銅獎: 2 339 銀獎: 3 318 金獎: 5 523 A: 直接模擬 // Code Start Here int t;cin >> t;while(t-…

如何用Python批量解壓ZIP文件?快速解決方案

如何用Python批量解壓ZIP文件?快速解決方案 文章目錄 **如何用Python批量解壓ZIP文件?快速解決方案**代碼結果詳細解釋 話不多說,先上干貨!!! 代碼 import os import zipfiledef unzip_file(dir_path: str…

Spring Boot 的高級特性與經典的設計模式應用

目錄 1. 設計模式在 Spring Boot 中的應用 1.1 單例模式:Bean 管理與全局實例 1.1.1 Spring 中的單例 Bean 1.1.2 自定義單例實現 1.1.3 單例模式的優勢 1.2 工廠模式:動態創建 Bean 1.2.1 Spring 的工廠方法 1.2.2 自定義工廠類 1.2.3 工廠模式…

在Excel中使用函數公式時,常見錯誤對應不同的典型問題

在Excel中使用函數公式時,常見錯誤對應不同的典型問題 1. #DIV/0!(除以零錯誤)2. #N/A(值不可用)3. #NAME?(名稱錯誤)4. #NULL!(空交集錯誤)5. #NUM!(數值錯…

【cursor疑惑】cursor續杯后使用agent對話時,提示“需要pro或商業訂閱的用戶才能使用“

背景 cursor的pro會員體驗過期了,想再次體驗deepseek、Claude等agent對話提示:“免費版本不可以使用agent對話功能(英文忘記截圖了,大意是這樣)”。 處理方法 Step-1:再次續杯cursor的pro會員14天體驗 詳情,見:【c…

解決qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed

可以參考:解決qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed-CSDN博客 講的是程序執行目錄下可能缺少了: libssl-1_1-x64.dll 和 libcrypto-1_1-x64.dll 庫文件,將其復制到可執行文件exe的同級目錄下即可…

白楊SEO:不到7天,白楊SEO博客網站百度搜索顯示和排名恢復正常!順帶說說上海線下GEO聚會分享和播客紅利

大家好,我是白楊SEO,專注SEO十年以上,全網SEO流量實戰派,AI搜索優化研究者。 5月開始,明顯就忙起來了,不管是個人陪跑還是企業顧問,不管是需要傳統SEO還是新媒體流量,還是當下這個A…

FART 自動化脫殼框架簡介與脫殼點的選擇

版權歸作者所有,如有轉發,請注明文章出處:https://cyrus-studio.github.io/blog/ FART簡介 ART 環境下基于主動調用的自動化脫殼方案,可以解決函數抽取殼。 關于函數抽取殼的實現原理可以參考:基于 art 下的類加載機…

卷積神經網絡進階:轉置卷積與棋盤效應詳解

【內容摘要】 本文深入解析卷積神經網絡中的轉置卷積(反卷積)技術,重點闡述標準卷積與轉置卷積的計算過程、轉置卷積的上采樣作用,以及其常見問題——棋盤效應的產生原因與解決方法,為圖像分割、超分辨率等任務提供理論…

Redis進階知識

Redis 1.事務2. 主從復制2.1 如何啟動多個Redis服務器2.2 監控主從節點的狀態2.3 斷開主從復制關系2.4 額外注意2.5拓撲結構2.6 復制過程2.6.1 數據同步 3.哨兵選舉原理注意事項 4.集群4.1 數據分片算法4.2 故障檢測 5. 緩存5.1 緩存問題 6. 分布式鎖 1.事務 Redis的事務只能保…

SDC命令詳解:使用get_libs命令進行查詢

相關閱讀 SDC命令詳解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482 get_libs命令用于創建一個庫對象集合,關于設計對象和集合的更詳細介紹,可以參考下面的博客。需要注意的是,在有些工具中還存在…

idea2024 不知道安裝了什么插件,界面都是中文的了,不習慣,怎么修改各個選項改回英文

如果你的 IntelliJ IDEA 2024 突然變成中文界面,很可能是安裝了中文語言包插件(如 “Chinese (Simplified) Language Pack”)。以下是 徹底恢復英文界面 的方法: 方法 1:直接卸載中文插件(推薦)…

物流項目第二期(用戶端登錄與雙token三驗證)

第一期內容: 物流項目第一期(登錄業務)-CSDN博客 用戶端登錄 實現分析 登錄功能 Data public class UserLoginRequestVO {ApiModelProperty("登錄臨時憑證")private String code;ApiModelProperty("手機號臨時憑證"…