前言
目前鑽研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 那麼他將刪除該錶,其...