專業(yè)做網(wǎng)站的技術(shù)人員百度網(wǎng)站如何優(yōu)化排名
目錄
開源-CMS指紋識別源碼獲取方式
閉源-習慣&配置&特性等獲取方式
閉源-托管資產(chǎn)平臺資源搜索監(jiān)控
思維導圖
章節(jié)點Web:語言/CMS/中間件/數(shù)據(jù)庫/系統(tǒng)/WAF等
系統(tǒng):操作系統(tǒng)/端口服務(wù)/網(wǎng)絡(luò)環(huán)境/防火墻等
應(yīng)用:APP對象/API接口/微信小程序/PC應(yīng)用等
架構(gòu):CDN/前后端/云應(yīng)用/站庫分離/OSS資源等
技術(shù):JS爬蟲/敏感掃描/目錄爬蟲/源碼獲取/接口泄漏等
技術(shù):指紋識別/端口掃描/CDN繞過/WAF識別/Github監(jiān)控等
開源-CMS指紋識別源碼獲取方式
如果你看到一個網(wǎng)站
標簽 | 名稱 | 地址 |
指紋識別 | 在線cms指紋識別 | http://whatweb.bugscaner.com/look/ |
指紋識別 | Wappalyzer | https://github.com/AliasIO/wappalyzer |
指紋識別 | TideFinger潮汐 | TideFinger 潮汐指紋 TideFinger 潮汐指紋 |
指紋識別 | 云悉指紋 | yunsee.cn-2.0 |
指紋識別 | WhatWeb | https://github.com/urbanadventurer/WhatWeb |
指紋識別 | 數(shù)字觀星Finger-P | 指紋收錄平臺 |
除了CMS識別,指紋識別還包括Web框架、中間件、組件等的識別,可以使用如下工具
Wappalyzer:基于瀏覽器插件的指紋識別工具,支持多種Web框架、CMS、中間件、CDN等的識別。
WhatWeb:基于命令行的指紋識別工具,支持多種Web框架、CMS、中間件、語言等的識別。
Fingerprintjs2:基于JavaScript的指紋識別工具,可以識別瀏覽器的User-Agent、語言、時區(qū)、屏幕分辨率、字體等信息。
BuiltWith:基于網(wǎng)站的指紋識別工具,可以識別網(wǎng)站所使用的Web框架、CMS、中間件、CDN等信息。
Nuclei:基于命令行的掃描工具,可以使用已有的指紋識別模板進行掃描。
?
CMS識別見上述項目
- 使用掃描工具掃描出搭建的源碼為Zblog
- 搜索并下載該源碼,查看源碼目錄
- 通過源碼目錄進行數(shù)據(jù)訪問:回寫數(shù)據(jù)403文件夾存在(判斷是該源碼)
403:文件夾存在
確定源碼后(開源的),就可以進行代碼審計
閉源-習慣&配置&特性等獲取方式
參考文章:https://www.secpulse.com/archives/124398.html
源碼泄漏原因:
1、從源碼本身的特性入口
2、從管理員不好的習慣入口
3、從管理員不好的配置入口
4、從管理員不好的意識入口
5、從管理員資源信息搜集入口
源碼泄漏集合:標記 * 需要著重關(guān)注
composer.json *?
git源碼泄露 *
svn源碼泄露 *
hg源碼泄漏
網(wǎng)站備份壓縮文件 *
WEB-INF/web.xml?泄露
DS_Store 文件泄露? *
SWP 文件泄露
CVS泄露
Bzr泄露
GitHub源碼泄漏
git源碼泄露
Git是一個開源的分布式版本控制系統(tǒng),在執(zhí)行
git init
初始化目錄的時候,會在當前目錄下自動創(chuàng)建一個.git
目錄,用來記錄代碼的變更記錄等。發(fā)布代碼的時候,如果沒有把.git
這個目錄刪除,就直接發(fā)布到了服務(wù)器上,攻擊者就可以通過它來恢復源代碼。漏洞利用工具:GitHack
github項目地址:https://github.com/lijiejie/GitHack
403:文件夾存在,說明有該漏洞
示例:
python GitHack.py http://www.openssl.org/.git/
svn源碼泄露
SVN是一個開放源代碼的版本控制系統(tǒng)。在使用SVN管理本地代碼過程中,會自動生成一個名為.svn的隱藏文件夾,其中包含重要的源代碼信息。網(wǎng)站管理員在發(fā)布代碼時,沒有使用‘導出’功能,而是直接復制代碼文件夾到WEB服務(wù)器上,這就使.svn隱藏文件夾被暴露于外網(wǎng)環(huán)境,可以利用.svn/entries文件,獲取到服務(wù)器源碼。
漏洞利用工具:GitHub - callmefeifei/SvnHack: 一個Svn信息泄露輔助工具,可以使用這個腳本列取網(wǎng)站目錄,讀取源碼文件以及下載整站代碼。
示例:
python SvnHack.py -u http://x.x.x.x/.svn/entries —download
網(wǎng)站備份壓縮文件
管理員將網(wǎng)站源代碼備份在Web目錄下,攻擊者通過猜解文件路徑,下載備份文件,導致源代碼泄露。
常見的備份文件后綴:
.rar
.zip
.7z
.tar.gz
.bak
.txt
.old
.temp
網(wǎng)站后臺掃一下文件即可,比如:御劍等
DS_Store 文件泄露
.DS_Store是Mac下Finder用來保存如何展示 文件/文件夾 的數(shù)據(jù)文件,每個文件夾下對應(yīng)一個。如果將.DS_Store上傳部署到服務(wù)器,可能造成文件目錄結(jié)構(gòu)泄漏,特別是備份文件、源代碼文件。
漏洞利用工具:
github項目地址:https://github.com/lijiejie/ds_store_exp
安裝:pip install ds-store requests
用例:
ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store
PHP特性-composer.json泄漏
composer.json文件作用:composer.json文件定義了您當前項目的依賴項,以及依賴項的一些相關(guān)信息?常見屬性說明:
- name:表示包的名稱
- description:表示包的描述
- version:表示包的版本
- type:表示包的類型
- keywords:表示一組用于搜索與篩選的與包相關(guān)的關(guān)鍵字
- homepage:表示項目網(wǎng)站的url地址
- readme:表示README文檔的絕對路徑
- time:表示包的版本發(fā)布時間
- license:表示包的許可證
- authors:表示包的作者
- support:表示獲取對項目支持的信息對象
- require:表示必須安裝的依賴包列表
- autoload:表示PHP自動加載的映射
- minimum-stability:定義了按穩(wěn)定性過濾包的默認值
- repositories:表示自定義的安裝源
- config:表示一組配置選項
- script:表示Composer允許在安裝過程的各個部分執(zhí)行腳本
- extra:表示scripts使用的任意擴展數(shù)據(jù)
閉源-托管資產(chǎn)平臺資源搜索監(jiān)控
解決1:識別出大致信息卻無下載資源
解決2:未識別出信息使用碼云資源獲取
同"程"交友:可以在這些程序員發(fā)布源碼的網(wǎng)站進行搜索
https://gitee.com/https://github.com/
https://www.oschina.net/
打開已經(jīng)知道網(wǎng)址選中帶有相關(guān)性數(shù)據(jù)包,選中其請求URL在github中搜索
一般選用一些js,css文件,圖片文件不選
查找到不確定的源碼目錄,一一對應(yīng)后,采用替換域名訪問的方式來確定
GITHUB資源搜索:
in:name test ? ? ? ? ? ? ? #倉庫標題搜索含有關(guān)鍵字?
in:descripton test ? ? ? ? #倉庫描述搜索含有關(guān)鍵字?
in:readme test ? ? ? ? ? ? #Readme文件搜素含有關(guān)鍵字?
stars:>3000 test ? ? ? ? ? #stars數(shù)量大于3000的搜索關(guān)鍵字?
stars:1000..3000 test ? ? ?#stars數(shù)量大于1000小于3000的搜索關(guān)鍵字 forks:>1000 test ? ? ? ? ? #forks數(shù)量大于1000的搜索關(guān)鍵字
forks:1000..3000 test ? ? ?#forks數(shù)量大于1000小于3000的搜索關(guān)鍵字 size:>=5000 test ? ? ? ? ? #指定倉庫大于5000k(5M)的搜索關(guān)鍵字 pushed:>2019-02-12 test ? ?#發(fā)布時間大于2019-02-12的搜索關(guān)鍵字 created:>2019-02-12 test ? #創(chuàng)建時間大于2019-02-12的搜索關(guān)鍵字 user:test ? ? ? ? ? ? ? ? ?#用戶名搜素?
license:apache-2.0 test ? ?#明確倉庫的 LICENSE 搜索關(guān)鍵字 language:java test ? ? ? ? #在java語言的代碼中搜索關(guān)鍵字?
user:test in:name test ? ? #組合搜索,用戶名test的標題含有test的
關(guān)鍵字配合谷歌搜索:
site:Github.com smtp ??
site:Github.com smtp @qq.com ??
site:Github.com smtp @126.com ??
site:Github.com smtp @163.com ??
site:Github.com smtp @sina.com.cn?
site:Github.com smtp password?
site:Github.com String password smtp
- 找到源碼或者通過抓包獲取到的數(shù)據(jù)包可以進行以下操作
- 利用sumlime軟件打開源碼文件夾,使用在文件夾中查找例如qq.com
- 查找到相關(guān)留下的聯(lián)系方式名稱等信息
- 使用這些信息再去github中查詢尋找源碼
- 找到相關(guān)代碼
解決3:其他行業(yè)開發(fā)使用對口資源站獲取
https://www.huzhan.com/
https://28xin.com/
https://bbs.bcb5.com/
https://www.shixinwl.com/
https://www.lengcat.com/
https://www.xlymz.com/
https://www.ymadx.com/