天天看點

SQLi LABS Less-29

第29關使用GET請求送出參數,在url中構造payload即可

源碼中并沒有做什麼過濾,直接測試注入點即可

SQLi LABS Less-29
SQLi LABS Less-29

在url中輸入 1'and true-- a,源碼中的SQL會拼接成下面這樣

SQLi LABS Less-29

 注釋後面的内容不起作用,是以真正執行的SQL是這樣的

SQLi LABS Less-29

 and後面的true會使SQL恒成立,SQL正常查詢出使用者内容,并在頁面顯示出來

SQLi LABS Less-29

接下來再輸入 1'and false-- a,參數拼接到SQL中是下面這樣的

SQLi LABS Less-29

由于注釋後面的内容不起作用 ,是以真正執行的SQL應該是這樣的

SQLi LABS Less-29

 and後面的false使SQL恒不成立,SQL查不出使用者資訊,進而導緻頁面空顯示

SQLi LABS Less-29

使用者的參數能夠使SQL恒成立或恒不成立,進而控制SQL執行的結果,由此可知存在SQL注入,注入類型為單引号字元型注入,頁面有顯示位,我們可以使用聯合注入進行脫庫

-1' union select 1,2,
(select group_concat(schema_name)from information_schema.schemata)
-- a
           
  • 因為使用者id不為負數,這裡id寫成-1會導緻查詢不到使用者資訊,進而展示後面聯合查詢的結果
  • group_concat()用來将多行結果合并成一行,并使用逗号分隔
SQLi LABS Less-29

繼續閱讀