WEB安全 SQL注入漏洞測試 報錯盲注

2022-09-09 22:42:34 字數 2874 閱讀 6240

前言

目前鑽研sqli注入,這是第四篇,靶場名即為標題,鏈結如下

正文首先明確靶場為報錯注入,了解到目標,方便我們之後遇到問題有底,這裡截斷函式不知道,接下來就會遇到問題

進入靶場,環境和之前一樣,進入公告

之後按照流程,判斷出是單引號閉合,同時判斷出有四個回顯位,但是當我們準備判斷哪個是回顯位的時候,發現出現報錯,即無法通過回顯獲取資料,開始嘗試報錯注入

第一步注入出資料庫名為  stormgroup 

219.153.49.228:49893/new_list.php?id=-1' and updatexml(0,concat(0x7e,database(),0x7e),0) %23

第二步獲取表資訊為  member 和 notice

第三步獲取member表中的列為  name,password,status

第四步獲取name為 mozhe,password為 3114b433dece9180717f2b7de

但是真正的md5是標準的16位或者32位,這裡明顯不夠,所以懷疑是溢位了,於是通過使用截斷函式進行拉取第一組資料~mozhe~3114b433dece9180717f2b7de56b28a3

第二組資料 mozhe~ef2fc393ecfab2a2991e0a6f7e5cafae

最後md5解密,提交key

總結這個靶場難度比之前難度略高一些,費了一些時間,以下有一些打靶場時候的知識點總結

報錯函式的使用:

updatexml():mysql中對xml文件資料進行查詢和修改的xpath函式,通過xml查詢過程中的返回的錯誤獲取報錯資訊

updatexml(xml_target, xpath, new_xml)

xml_target::需要操作的xml片段,為表中欄位名

xpath:需要更新的xml路徑(xpath格式的字串)

new_xml:更新後的內容

第二個引數xpath的定位必須是有效的,否則會發生錯誤。如果xpath傳入的是乙個表示式,那麼會先把表示式執行一遍再進行報錯。

實際上第乙個和第三個傳入的引數都是錯誤的,重點是第二個傳入的引數

截斷函式:

在這裡我用的也就是之前第一篇布林盲注那裡提到的substr()函式

substr(str,pos):擷取字串str,從pos開始的位置,一直擷取到最後

substr (str, pos, len):擷取字串str,從pos位置開始,擷取位數為len

WEB安全 SQL注入漏洞測試 寬位元組

前言 這是sql注入的第七篇,有關寬位元組注入的知識之前的部落格也有敘述,但是缺少一次完整的實操經歷,這一次完整的梳理一遍 正文首先明確實訓目標和解題方向,是寬位元組注入 進入 發現和之前的靶場差不多,點進去公告 所謂寬位元組注入,原理在於開發人員在開發的時候,對傳入的引數進行了特殊的函式處理,比如...

Web 安全漏洞之 SQL 注入

有人的地方就有江湖,有資料庫存在的地方就可能存在 sql 注入漏洞。在所有漏洞型別中,sql 注入可是說是危害最大最受大家關注的漏洞。簡單說來,sql 注入是通過在使用者可控引數中注入sql語法,破壞原有sql結構,達到編寫程式時意料之外結果的攻擊行為。還是以 thinkjs 為例,假設我們寫了如下...

WEB安全 SQL注入

sql注入 or 1 例如 select form table1 where name param 一般param是從頁面輸入控制項傳遞來的資料 如果你在控制項中輸入 or 1 1 那麼他將查詢所有的資料出來 表示後面的都被注釋掉了 你還可以 drop table table1 那麼他將刪除該錶,其...