999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

精準SQL注入漏洞批量檢測技術研究

2021-08-05 14:22:36薛念明張明巖謝吉倫
山東電力技術 2021年7期
關鍵詞:檢測

邊 莉,薛念明,張明巖,謝吉倫,林 秀

(山東魯能軟件技術有限公司,山東 濟南 250014)

0 引言

隨著計算機應用技術的發展和信息化建設的深入,WEB技術得到飛速發展。目前以WEB技術為主的應用系統發展規模越來越大,相應地,針對WEB應用漏洞所發起的攻擊在各類攻擊中占據的比重也越來越高,帶來了巨大的危害[1-3]。其中以結構化查詢語言(Structured Query Language,SQL)注入為主體的注入漏洞已位居WEB 安全漏洞的榜首,其危害程度和普遍程度都呈現上升的趨勢[4-8]。攻擊者可利用SQL 注入漏洞獲取系統管理權限、竊取機密資源和敏感數據或上傳木馬病毒等,帶來極其嚴重的潛在威脅[9-10]。因此,SQL 注入漏洞檢測與防護是保證WEB應用系統安全必不可少的一個重要因素。

目前SQL 注入漏洞檢測技術分為自動化掃描和手工滲透兩種方式。自動化掃描工具主要由網絡爬蟲和滲透測試兩部分組成。首先利用網絡爬蟲搜索目標系統鏈接到服務器的統一資源定位符(Universal Resource Locator,URL)列表,然后對其進行滲透測試。該方式能夠快速檢測SQL 注入漏洞,但爬蟲所得測試數據的覆蓋率影響檢測能力。由于目前爬蟲技術的限制和不穩定性,大部分掃描工具的誤報和漏報概率都比較大,檢測準確率較低[11-16]。手工分析需要測試者對當前系統有比較深入的了解,從中過濾出目標測試點,采取手工的方式逐條測試。雖然此種可以保證漏洞檢測的準確度,但對測試人員技術要求較高,且檢測過程需要消耗大量時間導致效率比較低下[17-20]。

通過分析SQL 注入漏洞檢測技術,可以得知SQL 注入具有非常復雜和多變的攻擊方式[21],而現有的檢測技術并不能很好地滿足應用程序的需求。基于此,提出一種精準SQL 注入漏洞批量檢測方案。通過此種方案可確保檢測的高效性和準確性,并能最大限度地降低漏測和誤報情況。

1 SQL注入攻擊原理

應用程序通過SQL 語句完成與數據庫服務器的交互。未對用戶輸入進行有效的驗證和過濾是SQL注入漏洞產生的主要原因,攻擊者通過控制應用程序發送給服務端的SQL 輸入,并將該輸入解析為執行代碼,進而獲取較高的數據庫操作權限,實現對數據庫的任意操作,達到控制后臺服務器、獲取重要數據信息的目的[22-25]。

圖1 顯示了普通用戶和SQL 注入攻擊者訪問同一個系統的對比。通過圖1 可方便理解SQL 注入原理。登錄時程序使用了Java 數據庫連接(Java Data Base Connectivity,JDBC)查詢,且開發人員使用了語句拼接的方式:select * from user where name=‘$username’and password=‘$password’。

圖1 普通用戶和SQL注入攻擊者訪問系統

對于普通用戶的輸入:$username=admin,$password=admin 此時執行的SQL 語句為select *from user where name=‘admin’and password=‘admin’;服務端正常返回user 表中用戶名為admin,密碼為admin的用戶信息。

對于攻擊者的輸入:$username=admin’--,$password=123 此時程序執行的SQL 語句變為select* from user where name=‘admin’--’and password=‘123’;由于用戶名中的單引號與SQL 語句中前半部分的單引號相匹配,且SQL 后半部分內容因“--”進行了注釋,其結果就是只根據用戶名就能查出user 表中admin 用戶的所有信息。若數據庫中的密碼是用明文顯示的,則可直接查出該用戶的密碼,攻擊者就可以用該用戶的賬號進行進一步的操作。

2 精準SQL注入漏洞批量檢測方案

針對WEB 應用程序特點,提出了一種精準SQL注入漏洞批量檢測方案。該方案集數據定制化收集和批量自動執行于一體,充分結合自動化掃描和人工滲透分析的優點,可兼顧檢測效率和準確性,并且可以減少漏測和誤報情況的發生。

2.1 精準SQL漏洞批量檢測架構設計

精準SQL 注入漏洞檢測能夠有效地快速識別被測系統中的SQL 注入漏洞,同時結合響應分析設計,可依據測試過程數據精準定位注入點。相應的架構設計方案如圖2所示。

圖2 批量SQL注入漏洞檢測架構

1)請求采集與存儲。通過二次開發的代理工具對瀏覽器進行監聽,實現對請求數據的精準采集并自動本地存儲。

2)批量執行漏洞檢測。集成SQLMAP 漏洞檢測工具,SQL 注入檢測規則定制模塊自定義導入payload,調用SQL 注入批量檢測執行模塊和測試結果數據存儲模塊,完成批量漏洞檢測執行,并對響應數據進行記錄和存儲。

這時,餐廳的大門突然打開,整個屋里瞬間鴉雀無聲。我回過頭去看,一個年輕人走了進來,周圍一片死寂,連一根針掉到地上都能聽到。他臉上到處都是穿孔,多到數不過來,一頭長發又黑又油膩。但讓他看起來很有威脅的還不是這些,而是他掃視一切時的那種冷酷眼神。

3)結果分析。通過關鍵字掃描,對測試結果進行分析,定位存在SQL 注入漏洞的目標數據請求位置。

依此綜合實現SQL 注入漏洞的分析、核查、注入等功能。該SQL 注入漏洞檢測模型具有實現代價小、運行效率高,并且誤報率低的優勢,可有效提升SQL注入漏洞的檢測能力。

2.2 請求采集與存儲

該過程的關鍵在于通過對代理工具Fiddler進行二次開發以高效準確地記錄待測請求數據。

Fiddler 是一款HTTP 協議調試代理工具,它可以監視和記錄客戶端和服務器之間的所有通信數據和請求信息。Fiddler 的代理功能是實現批量漏洞檢測的前提條件,測試者只需要通過前端訪問WEB 應用程序的各個輸入點,Fiddler 便可通過監聽準確收集和記錄測試請求數據,為后續批量滲透檢測提供數據輸入,具體操作步驟及原理如圖3所示。

圖3 采用Fiddler代理工具進行請求數據采集與本地存儲的原理

1)對Fiddler 代理工具進行二次開發,修改Fiddler Script Editor 文件,添加命令行save 指令代碼:實現格式化數據請求文件保存類型,設置本地存放路徑以及對目標請求數據的一鍵保存功能。

2)調試開發完成后,打開Fiddler 對瀏覽器進行監聽,用戶可根據業務需求自定義Fiddler 過濾器規則(包括域名過濾、請求類型過濾及其相應狀態過濾)監聽目標請求數據。

3)手工瀏覽測試站點,此時Fiddler 會自動記錄根據步驟2)規則過濾后的所有客戶端與服務器通信的HTTP/HTTPS請求。

4)確保遍歷應用程序的每項功能后,根據步驟1)的命令行指令save,導出Fiddler 記錄的所有目標請求數據。

使用二次開發后的Fiddler的代理功能是測試流程的關鍵步驟,記錄并保存的數據請求皆為目標站點請求,有效提高了測試準確率;目的請求數據按照特定文件格式保存,為滲透工具提供數據輸入,有效提高了測試效率。此種方法可以很好地彌補自動化掃描工具在測試數據收集方面的缺點。

2.3 批量執行漏洞檢測

由Fiddler 獲取的請求數據,通過有效性檢查后連接SQLMAP 批處理檢測程序,完成檢測規則和配置文件的定義和配置后,由檢測程序向目標請求數據進行SQL注入滲透檢測。

1)數據有效性檢查。從Fiddler 中收集到的每一個數據包都包含一個完整的請求過程,若應用程序是需要登錄才能訪問的,則應在滲透測試開始前檢查請求中的會話信息是否有效,否則應將有效的會話信息替換到每個請求文件中,如圖4所示。

圖4 數據有效性控制和SQLMAP集成與批處理

2)SQLMAP集成與批量檢測。首先集成SQLMAP開源檢測工具,通過調用SQLMAP 檢測庫中的既有掃描規則和自定義payload 進行檢測規則定制。然后在配置文件中對請求執行路徑以及相關數據庫信息進行配置,根據配置信息啟動批量檢測程序從而實現對目標數據請求的批量SQL 注入檢測。為了提高執行效率,該過程采用了多進程并發模式進行批量滲透執行,充分利用系統資源,提高了程序的執行速度,如圖4所示。

同時SQL 注入批量檢測執行過程中產生的中間數據會自動保存在本地,每個數據請求文件對應一個檢測結果文件,且有唯一編號標識。例如1_Request.txt 數據請求文件對應檢測結果文件為1_Request.txt-------Result.txt。

2.4 檢測結果分析

結果分析模塊對SQL 注入批量檢測結果進行關鍵字掃描,確定存在SQL 注入漏洞的檢測結果文件,并根據編號標識定位到對應的數據請求文件,從而快速定位到存在漏洞的系統URL 地址,如圖5 所示。定位到注入點后可做一步滲透攻擊,從而可獲取數據庫表結構和表數據等。根據測試結果給出系統加固修復建議。

圖5 結果分析與漏洞定位模塊操作原理

3 可行性驗證及結果比對

為了證實新型SQL 注入測試方案的可行性,在內網搭建測試環境部署3個不同復雜度的WEB應用信息系統,分別使用精準SQL 注入漏洞批量檢測方案、自動化掃描工具APPSCAN 和手工滲透3 種方案對3 個WEB 應用信息系統進行測試。其中,精準SQL 注入漏洞批量檢測方案對項目2 測試執行過程如圖6所示。

圖6 精準SQL注入批量檢測方案執行過程

1)使用二次開發的Fiddler 作為代理工具,收集并格式化保存目標請求數據;

2)配置XML文件,集成SQLMAP工具;

3)實現批處理,對有效的目標請求文件執行批量SQL注入檢測;

4)結果分析和SQL注入點定位。

對測試結果進行統計分析,得到3種方案的SQL注入檢測準確率和執行效率對比結果。其中檢測準確率是指檢測SQL 注入漏洞數量與實際SQL 注入漏洞數量的比值。執行時間是一次全量應用系統SQL注入漏洞檢測所耗費的時間。對比結果如表1 和表2所示。

表1 3種方案漏洞檢測準確率 單位:%

表2 3種方案漏洞檢測執行時間 單位:min

由測試結果可知,精準SQL 注入漏洞批量檢測方案可快速檢測到WEB 應用程序的SQL 注入漏洞;自動化工具因受爬蟲技術限制,并不能準確定位漏洞的注入點,誤報和漏測率很高;而手工測試在一般的項目測試中,因耗時太長一般不予以使用。

由此得出基于代理模式的SQL 注入檢測方法不僅極大地提高了檢測效率,更能提高檢測準確率,保證測試質量。

4 結語

由于現有的自動化掃描工具受限于檢測模式單一、爬蟲數據收集不穩定等因素的影響,漏測和誤報現象較為嚴重。基于此,提出一種精準SQL 注入批量漏洞檢測方案。此方案一方面能保證待測數據的穩定性和全面性,減少對數據輸入點的漏測現象;另一方面,借助FIDDLER 監聽技術,準確收集和記錄測試請求數據,為后續批量滲透檢測提供數據輸入,確保了漏洞檢測的高效性。

SQL注入是WEB應用程序威脅最大的安全漏洞之一,應當結合系統業務特點和安全事件,進一步優化安全檢測技術,這對于促進WEB 應用安全質量在各個行業的推廣,具有積極作用和戰略意義。同時應不斷深入學習漏洞檢測技術,科學結合現有工具并實現優勢互補,適應信息安全的動態發展趨勢。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 91精品国产一区| 四虎国产成人免费观看| 国产成人一区在线播放| 亚洲天天更新| 亚洲乱码在线播放| 亚洲成人福利网站| 成人免费视频一区二区三区 | 亚洲精品无码av中文字幕| 色婷婷电影网| 亚洲av无码牛牛影视在线二区| 欧美成人亚洲综合精品欧美激情 | 波多野结衣亚洲一区| 青青青视频免费一区二区| 国产成人精品一区二区免费看京| 亚洲 日韩 激情 无码 中出| 小13箩利洗澡无码视频免费网站| 亚洲嫩模喷白浆| 青青青伊人色综合久久| 精品一区国产精品| 亚洲天堂网视频| 亚洲欧洲日本在线| 成人在线不卡视频| 亚洲精品动漫| 波多野结衣一级毛片| 亚洲欧美成人| 久草视频精品| 亚洲一区波多野结衣二区三区| 欧美伊人色综合久久天天| 日本人妻一区二区三区不卡影院 | 国产视频入口| 日本人妻丰满熟妇区| 深爱婷婷激情网| 国产精品白浆无码流出在线看| 国内精品自在欧美一区| 亚洲综合色婷婷| 69av在线| 91精品啪在线观看国产| 高清无码手机在线观看| 天天干天天色综合网| 欧美国产菊爆免费观看| 国产又色又爽又黄| 中文字幕日韩视频欧美一区| 毛片最新网址| 亚洲精品福利视频| 丝袜高跟美脚国产1区| 极品私人尤物在线精品首页| 亚洲精品桃花岛av在线| 国语少妇高潮| 亚洲视频二| 精品久久高清| 亚洲乱码精品久久久久..| 亚洲AV成人一区二区三区AV| 熟女视频91| 成人午夜亚洲影视在线观看| h视频在线播放| 综合人妻久久一区二区精品 | 欧美另类视频一区二区三区| 2021最新国产精品网站| a在线亚洲男人的天堂试看| 国产精品免费露脸视频| 日韩A∨精品日韩精品无码| 亚瑟天堂久久一区二区影院| 亚洲精品欧美日本中文字幕| 久久黄色视频影| 亚洲一级毛片免费观看| 国产91在线|日本| 婷婷在线网站| 高清无码手机在线观看| 五月激情婷婷综合| 999精品视频在线| 亚洲色无码专线精品观看| 夜夜高潮夜夜爽国产伦精品| 中文字幕av一区二区三区欲色| 国产幂在线无码精品| 亚洲第一天堂无码专区| 欧美精品aⅴ在线视频| 亚洲欧美日韩中文字幕一区二区三区| 五月激激激综合网色播免费| 久热这里只有精品6| 最近最新中文字幕在线第一页| 伊人无码视屏| 亚洲成人在线免费|