1. 程式人生 > >ctf/web原始碼洩露及利用辦法【總結中】

ctf/web原始碼洩露及利用辦法【總結中】

               

.hg原始碼洩漏


漏洞成因:


hg init的時候會生成.hg


e.g.http://www.am0s.com/.hg/


漏洞利用:工具:dvcs-ripper


rip-hg.pl -v -u http://www.am0s.com/.hg/


.git原始碼洩漏

漏洞成因:在執行git init初始化程式碼庫的時候,會在當前目錄下面產生一個.git的隱藏檔案,用來記錄程式碼的變更記錄等等。在釋出程式碼的時候,把.git這個目錄沒有刪除,直接釋出了。使用這個檔案,可以用來恢復原始碼。


1.漏洞利用:工具:GitHack #注:遇到的題這個工具好像都不行


2.上海市網路安全大賽


官方wp給的利用方法:


本地kali測試:


ummmm,這個命令查了很久,linux不好的人真的受傷

大體意思就是把 printf後面的字串和 cat後面檔案的內容拼接起來交給gunzip解壓.
關於\x1f\x8b\x08\x00\x00\x00\x00\x00,本地我也測試了下,是亂碼,轉gbk,utf-8都不行

# -*- coding:utf-8 -*- ''' @Author:      GETF @Email:       
[email protected]
 @DateTime:    2017-11-07 21:01:26 @Description: Description '''
import chardetdata = b"\x1f\x8b\x08\x00\x00\x00\x00\x00"print(chardet.detect(data))str2 = data.decode('windows-1252')str2.encode('utf-8')print(str2)

查詢了百度,


猜測應該是php檔案解釋的前幾個字元標誌,這裡帶上這個才能讓gunzip解壓出來(如有不對,歡迎大佬指點~)





.DS_Store檔案洩漏

漏洞成因:在釋出程式碼時未刪除資料夾中隱藏的.DS_store,被發現後,獲取了敏感的檔名等資訊。漏洞利用:


http://www.am0s.com/.ds_store


注意路徑檢查工具:dsstoreexp


python ds_store_exp.py http://www.am0s.com/.DS_Store


網站備份壓縮檔案

在網站的使用過程中,往往需要對網站中的檔案進行修改、升級。此時就需要對網站整站或者其中某一頁面進行備份。當備份檔案或者修改過程中的快取檔案因為各種原因而被留在網站web目錄下,而該目錄又沒有設定訪問許可權時,便有可能導致備份檔案或者編輯器的快取檔案被下載,導致敏感資訊洩露,給伺服器的安全埋下隱患。漏洞成因及危害:該漏洞的成因主要有以下兩種:


         

    伺服器管理員錯誤地將網站或者網頁的備份檔案放置到伺服器web目錄下。

         

    編輯器在使用過程中自動儲存的備份檔案或者臨時檔案因為各種原因沒有被刪除而儲存在web目錄下。


漏洞檢測:該漏洞往往會導致伺服器整站原始碼或者部分頁面的原始碼被下載,利用。原始碼中所包含的各類敏感資訊,如伺服器資料庫連線資訊,伺服器配置資訊等會因此而洩露,造成巨大的損失。被洩露的原始碼還可能會被用於程式碼審計,進一步利用而對整個系統的安全埋下隱患。


.rar

.zip

.7z

.tar.gz

.bak

.swp

.txt

.html


SVN導致檔案洩露

Subversion,簡稱SVN,是一個開放原始碼的版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。網際網路上越來越多的控制服務從CVS轉移到Subversion。Subversion使用服務端—客戶端的結構,當然服務端與客戶端可以都執行在同一臺伺服器上。在服務端是存放著所有受控制資料的Subversion倉庫,另一端是Subversion的客戶端程式,管理著受控資料的一部分在本地的對映(稱為“工作副本”)。在這兩端之間,是通過各種倉庫存取層(Repository Access,簡稱RA)的多條通道進行訪問的。這些通道中,可以通過不同的網路協議,例如HTTP、SSH等,或本地檔案的方式來對倉庫進行操作。


e.g.http://www.am0s.com/admin/scripts/fckeditor.266/editor/.svn/entries


漏洞利用:工具:dvcs-ripper


rip-svn.pl -v -u http://www.am0s.com/.svn/


Seay-Svn

WEB-INF/web.xml洩露

WEB-INF是Java的WEB應用的安全目錄。如果想在頁面中直接訪問其中的檔案,必須通過web.xml檔案對要訪問的檔案進行相應對映才能訪問。WEB-INF主要包含一下檔案或目錄:


         

    /WEB-INF/web.xml:Web應用程式配置檔案,描述了 servlet 和其他的應用元件配置及命名規則。

         

    /WEB-INF/classes/:含了站點所有用的 class 檔案,包括 servlet class 和非servlet class,他們不能包含在 .jar檔案中

         

    /WEB-INF/lib/:存放web應用需要的各種JAR檔案,放置僅在這個應用中要求使用的jar檔案,如資料庫驅動jar檔案

         

    /WEB-INF/src/:原始碼目錄,按照包名結構放置各個java檔案。

         

    /WEB-INF/database.properties:資料庫配置檔案


漏洞成因:通常一些web應用我們會使用多個web伺服器搭配使用,解決其中的一個web伺服器的效能缺陷以及做均衡負載的優點和完成一些分層結構的安全策略等。在使用這種架構的時候,由於對靜態資源的目錄或檔案的對映配置不當,可能會引發一些的安全問題,導致web.xml等檔案能夠被讀取。漏洞檢測以及利用方法:通過找到web.xml檔案,推斷class檔案的路徑,最後直接class檔案,在通過反編譯class檔案,得到網站原始碼。一般情況,jsp引擎預設都是禁止訪問WEB-INF目錄的,Nginx 配合Tomcat做均衡負載或叢集等情況時,問題原因其實很簡單,Nginx不會去考慮配置其他型別引擎(Nginx不是jsp引擎)導致的安全問題而引入到自身的安全規範中來(這樣耦合性太高了),修改Nginx配置檔案禁止訪問WEB-INF目錄就好了: location ~ ^/WEB-INF/* { deny all; } 或者return 404; 或者其他!

CVS洩漏

漏洞利用測試的目錄


http://www.am0s.com/CVS/Root 返回根資訊

http://www.am0s.com/CVS/Entries 返回所有檔案的結構


取回原始碼的命令


bk clone http://www.am0s.com/name dir


這個命令的意思就是把遠端一個名為name的repo clone到本地名為dir的目錄下。檢視所有的改變的命令,轉到download的目錄


bk changes


Bazaar/bzr

工具:dvcs-ripper


rip-bzr.pl -v -u http://www.am0s.com/.bzr/

           

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow