web打點(理論篇)


打點漏洞選擇

首先,清楚web打點的目的,是為了獲取目標網站權限。簡單來說,就是為了拿shell。

在漏洞選擇上,我們可以放棄一些以獲取信息為目的的漏洞。例如:反射型xss,越權,邏輯支付等漏洞。

比較常見,也是所有人在學習滲透基礎時候都會學的能拿到權限的漏洞,有兩個:

  1. SQL注入。
  2. 文件上傳。

SQL注入漏洞有更為詳細和具體的分類,這里不做具體說明;文件上傳漏洞在一般情況下,需要和其他漏洞進行配合,以組合拳的形式獲取網站的權限,最常見的與文件上傳漏洞配合的有文件包含漏洞,解析漏洞。

明確了打點需要使用的漏洞之后,接下來就針對這兩個漏洞在web打點方面的作用和使用方法進行一個總結。

SQL注入漏洞

簡單介紹一些sql注入漏洞,漏洞存在的原因是因為程序員在編寫代碼的時候,沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段數據庫查詢代碼,根據程序返回的結果,獲得某些他想得知的數據,這就是所謂的SQL Injection,即SQL注入。

SQL漏洞因為參數的不同,有數字型和字符型兩種。因為返回內容不同,又可以分為顯注和盲注,其中還有更小的分類,這個在sql注入的文章里有描寫,感興趣的朋友可以自己去看。

在web打點中,使用sql注入漏洞的好處是,首先對於這個漏洞,有很多已經成型的工具,或者批量化的掃描利用工具,例如:sqlmap、超級sql注入工具。在這些工具的幫助下,能極大的減少我們的工作量。

其次,sql注入是能直接修改數據庫中的數據,一個SQL注入漏洞,就有可能讓我們拿下一個網站的權限,例如sqlmap的--os-shell;或者是into outfile寫入一句話木馬,再或者通過查詢管理員賬號密碼的形式進入后台,從后台上傳點使用文件上傳漏洞上傳一句話木馬。

尋找注入點其實也並不是一個困難的事,例如說,在Url中,看到了類似於?id=,就可以直接利用sqlmap進行嘗試。或者是一些跟數據庫有交互的搜索框,也可以在發送請求之后,抓取數據包,利用工具進行注入檢測。再或者是登錄頁面,因為一個大型的網站,用戶名和密碼的存儲一般都是放在數據庫中,而我們之前的操作數據,也會存放在數據庫中,我們輸入的賬號密碼,可以當成提取這些數據的鑰匙。這也是一個和數據庫交互的點,也可以直接利用sqlmap進行檢測。

文件上傳漏洞

文件上傳漏洞也是一個通過上傳大型木馬直接獲取網站權限甚至服務器權限的漏洞。簡單介紹一下文件上傳漏洞:一些web應用程序中允許上傳圖片,文本或者其他資源到指定的位置。 文件上傳漏洞就是利用網頁代碼中的文件上傳路徑變量過濾不嚴將可執行的文件上傳到一個到服務器中,再通過URL去訪問以執行惡意代碼。

這里可以關注一下這個描述。

【將可執行的文件上傳到服務器中】

在我們的認知中,可執行文件一般是功能強大的腳本文件,例如我們常說的大馬,一句話等都是可執行文件。

這也是就是說,如果找到一個文件上傳漏洞,我們可操作點會變多,同樣的,獲得的權限也會更大。

因為在某些服務器上,可能掛在的並不只是一個網站,利用文件上傳漏洞,等於是將可執行的木馬文件上傳到了服務器中,如果成功執行,就可以直接獲取整個服務器的權限,簡單來說,如果一個SQL注入可以獲取一個網站權限的話,那么一個文件上傳漏洞,可以獲取至少一個網站權限。

對比與玩法花樣比較多的SQL注入漏洞,文件上傳漏洞模式很簡單,存在的地方也是一眼就可以看出的。

首先,有些網站為了個性化處理,會允許用戶自己上傳頭像,上傳頭像的點,就是一個可能存在文件上傳漏洞的點【上傳點】。其次,有些編輯器,為了文章的可讀性,會允許編寫文章的坐着自主添加一些圖片,這也是一個可能存在文件上傳的位置。再比如說,有的網站后台,會因為網站業務需要,存在上傳點。

上傳點存在的位置不多樣,不代表這個漏洞找起來困難,或者說利用價值沒有SQL注入高。恰恰相反,哪怕是使用SQL注入獲取了網站權限,為了擴大戰果,也會有比較多的人會選擇使用文件上傳漏洞嘗試獲取網站所在服務器的權限。

當然,打點中使用到的技巧和常用漏洞還有類似於st2這樣的反序列化漏洞,郵件釣魚,社工等方法。

其他方法,我會在web打點(技巧篇)和web打點(總結篇)中進行詳細描述以及實際演示。

未完待續....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM