1. 程式人生 > >login1(SKCTF)(bugku)

login1(SKCTF)(bugku)

  這周學長出了兩道二次注入的題(再也不能直接用sqlmap水過去了……)第一道現在還沒寫出來QAQ,但是從第二道多少學習了一下手工注入的一些操作。

  先是看了幾篇講解約束注入的部落格,這個博主小姐姐超厲害,在這裡就說一下自己的理解:

  • 約束SQL注入的原理就是利用的約束條件,比如最長只能有15個字元的話,如果你輸入的是abcdefghijklmnop(16位),那麼儲存在資料庫裡的就是abcdefghijklmno,那麼別人用abcdefghijklmno註冊一個使用者名稱,就可以登陸。
  • 還有一個可以利用的地方就是SQL在執行字串處理的時候是會自動修剪掉尾部的空白符的,也就是說"abc"=="abc "
    ,同樣我們可以通過註冊使用者名稱為"abc "的賬號來登陸"abc"的賬號。

      這是bugku上面的一道題:


      看到這種登陸介面,一般先要註冊一個賬號以便把每個頁面都瀏覽一下,那我們先試試admin,發現賬號已存在……emmmmm那我就註冊別的吧,把頁面瀏覽了一遍並沒有發現什麼QAQ,然後各種亂試……某一次註冊時自己又用了一個似乎之前註冊過的賬號(註冊次數太多……)發現直接顯示註冊成功???然後反應過來覺得哪裡不太對……為什麼admin就不行呢??這其中必定有詐.jpg

      題目中說的是約束攻擊哎~那就試著用"admin "註冊了一個賬號,用這個的密碼登陸"admin"賬號,然後就看到了flag~