真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java滲透代碼 代碼滲透什么意思

滲透學(xué)習(xí)java c語(yǔ)言

做滲透測(cè)試的用腳本語(yǔ)言的比較多,如Python, Perl等

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、謝家集網(wǎng)站維護(hù)、網(wǎng)站推廣。

而且滲透測(cè)試工具多是用這類語(yǔ)言開(kāi)發(fā)的

Web滲透是怎么弄的?

1.滲透目標(biāo)

滲透網(wǎng)站(這里指定為)

切記,在滲透之前要簽訂協(xié)議。

2.信息收集

建議手動(dòng)檢查和掃描器選擇同時(shí)進(jìn)行。

2.1 網(wǎng)站常規(guī)檢測(cè)(手動(dòng))

1:瀏覽

1. 初步確定網(wǎng)站的類型:例如銀行,醫(yī)院,政府等。

2. 查看網(wǎng)站功能模,比如是否有論壇,郵箱等。

3. 重點(diǎn)記錄網(wǎng)站所有的輸入點(diǎn)(與數(shù)據(jù)庫(kù)交互的頁(yè)面),比如用戶登錄,用戶注冊(cè),留言板等。4. 重點(diǎn)查看網(wǎng)站是否用到了一些通用的模板,比如論壇選擇了動(dòng)網(wǎng)(dvbss),就有可能存在動(dòng)網(wǎng)的漏洞;郵箱有可能選擇通用的郵箱系統(tǒng),也有漏洞。

2: 分析網(wǎng)站的url1. 利用搜索引擎,搜索網(wǎng)站的url,快速找到網(wǎng)站的動(dòng)態(tài)頁(yè)面。

2. 對(duì)網(wǎng)站的域名進(jìn)行反查,查看IP,確定服務(wù)器上的域名數(shù),如果主頁(yè)面url檢測(cè)沒(méi)有漏洞,可以對(duì)其他的域名進(jìn)行檢測(cè)。

3:審查代碼

重點(diǎn)對(duì)輸入代碼(比如表單)進(jìn)行分析,看如何來(lái)提交輸入,客戶端做了哪些輸入的限制方法。

1. 隱藏表單字段 hidden

2. Username,Password等

4:控件分析

Active x 通常都是用c/c++編寫(xiě)

在頁(yè)面上(通常是首頁(yè))的源碼中搜索

1. 需要ComRaider+OD 對(duì)dll文件進(jìn)行反編譯,看是否有漏洞。

2. 改變程序執(zhí)行的路徑,破壞Active X 實(shí)施的輸入確認(rèn),看web的回應(yīng)。

5:對(duì)常規(guī)的輸入進(jìn)行手動(dòng)注入測(cè)試,測(cè)試是否有sql注入和跨站漏洞,試用常規(guī)的用戶名和密碼登錄。

6:查看web服務(wù)器的版本,確定搜索是否有低版本服務(wù)器組件和框架的漏洞,比如通用的Java框架Struct2的漏洞。

2.2 工具選擇和使用

1:web應(yīng)用程序漏洞掃描工具

Appscan: (版本7.8)

掃描漏洞比較全,中文,漏洞利用率高,檢測(cè)速度慢,需要大量?jī)?nèi)存,重點(diǎn)推薦。

AWVS:

英文,漏洞庫(kù)完善,檢測(cè)速度慢。

JSky

中文,檢測(cè)速度快,但深度一般。

Nessus

英文,檢測(cè)速度較快,漏洞也比較完善,免費(fèi),可及時(shí)更新,B/S界面。

2:端口掃描

Nmap

流光

3: 口令破解工具

溯雪

4:sql 注入工具

Asp+SqlServe, ACCESS:啊D注入工具

Php+MySQL : php+mysql注入工具(暗組的hacker欄中)

Jsp+ORACAL: CnsaferSI

支持以上數(shù)據(jù)庫(kù) Pangolin

5: http代理請(qǐng)求

Paros

6:木馬

灰鴿子

7:提權(quán)木馬

一句話木馬大馬(具體所用的木馬參考文檔和工具包(綠盟,暗組))

5: 工具推薦使用方案

Appscan掃描出的重大漏洞,進(jìn)行手工檢測(cè)(注意看漏洞是如何發(fā)現(xiàn)的,修改漏洞的代碼,對(duì)滲透幫助很大)。

sql注入漏洞

可以選用根據(jù)網(wǎng)站類型選擇sql注入工具

如果是post請(qǐng)求類型的url,選擇使用paros代理后,修改http請(qǐng)求包,進(jìn)行注入。

WebDEV漏洞

可以啟用發(fā)送請(qǐng)求(比如DELETE對(duì)方網(wǎng)頁(yè))

跨站漏洞

直接將appscan的代碼輸入測(cè)試,成功后,可以嘗試跨其他腳本(比如

遍歷漏洞:

網(wǎng)頁(yè)的目錄,下載網(wǎng)站配置文件信息,和源文件進(jìn)行反編譯

反編譯:

Class 可以選用java 反編譯工具

Dll (asp.net) 選用Reflector

3.分析并滲透

---------------------

作者:centos2015

來(lái)源:CSDN

原文:

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!

打造自己的滲透測(cè)試框架—溯光

TrackRay簡(jiǎn)介

溯光,英文名“TrackRay”,意為逆光而行,追溯光源。同時(shí)致敬安全圈前輩開(kāi)發(fā)的“溯雪”,“流光”。

溯光是一個(gè)開(kāi)源的插件化滲透測(cè)試框架,框架自身實(shí)現(xiàn)了漏洞掃描功能,集成了知名安全工具:Metasploit、Nmap、Sqlmap、AWVS等。

溯光使用 Java 編寫(xiě),SpringBoot 作為基礎(chǔ)框架,JPA + HSQLDB嵌入式數(shù)據(jù)庫(kù)做持久化,Maven 管理依賴,Jython 實(shí)現(xiàn) Python 插件調(diào)用,quartz 做任務(wù)調(diào)度,freemarker + thymeleaf 做視圖層,Websocket 實(shí)現(xiàn)命令行式插件交互。

框架可擴(kuò)展性高,支持 Java、Python、JSON 等方式編寫(xiě)插件,有“漏洞掃描插件”、“爬蟲(chóng)插件”、“MVC插件”、“內(nèi)部插件”、“無(wú)交互插件”和“可交互插件” 等插件類型。

功能展示

主頁(yè)

登錄

任務(wù)創(chuàng)建

任務(wù)列表

任務(wù)詳情

無(wú)交互接口插件調(diào)用

MVC插件示例

交互式插件控制臺(tái)

MSF 控制臺(tái)

依賴環(huán)境

JDK 1.8

Python 2.7

Maven

Git

Metasploit

Nmap(建議安裝)

SQLMAP(建議安裝)

AWVS

**加粗為必須環(huán)境,沒(méi)有安裝程序則無(wú)法正常編譯運(yùn)行

不論是 Windows 還是 linux 一定需要先安裝 JDK1.8 和 Maven。安裝過(guò)程這里不做演示。保證 JDK 和 Maven 都在系統(tǒng)環(huán)境變量,能執(zhí)行java -version 和 mvn --version即可。

安裝過(guò)程

第一步

手動(dòng)啟動(dòng) AWVS 服務(wù)

登錄后臺(tái),生成一個(gè)API密匙。

復(fù)制密匙和 AWVS 的地址。

找到web/src/main/resources/application.properties配置文件。

修改如下部分

第二步

找到你 python 的第三方庫(kù)目錄。

Windows 的一般在 python 安裝目錄下的/Lib/site-packages

Linux 下可以通過(guò)輸出 sys.path 來(lái)找第三方包路徑

我的是 D:/Python2/Lib/site-packages

同樣找到web/src/main/resources/application.properties配置文件。

修改python.package.path參數(shù)

第三步

安裝 Maven 后找到倉(cāng)庫(kù)位置。

如果沒(méi)有在 settings.xml 里配置指定倉(cāng)庫(kù)目錄,默認(rèn)會(huì)在當(dāng)前用戶目錄中生成一個(gè) .m2的目錄

找到倉(cāng)庫(kù)目錄后修改 application.properties 的 maven.repository.path參數(shù)

第四步

這個(gè)是 DNSLOG 回顯檢測(cè)漏洞時(shí)需要的。

去 ceye.io 注冊(cè)一個(gè)賬號(hào),拿到給你分配的域名和 TOKEN。

修改配置文件

第五步

啟動(dòng) msf 和 sqlmapapi。

如果你是 kali 操作系統(tǒng),可以直接運(yùn)行startdep.sh。

如果是其他系統(tǒng),則要找到 metasploit 和 sqlmap 的目錄分別執(zhí)行

啟動(dòng)成功后修改配置文件

第六步

編譯打包程序

等待依賴下載完成和編譯完成,如果以上操作都沒(méi)有出現(xiàn)問(wèn)題則會(huì)提示 BUILD SUCCESS

編譯成功后會(huì)在當(dāng)前目錄打包一個(gè)trackray.jar就是溯光的主程序。

然后直接執(zhí)行startup.bat或startup.sh溯光就會(huì)啟動(dòng)服務(wù)。

沒(méi)有拋出異?;駿RROR日志,訪問(wèn) 8080 端口正常。

服務(wù)啟動(dòng)正常后,登錄 iZone 社區(qū)賬號(hào)。

**開(kāi)發(fā)插件建議使用 Intellij IDEA IDE,需要安裝 lombok 插件。

目錄結(jié)構(gòu)

插件

AbstractPlugin

這是交互式插件和非交互式插件的父類。

BASE常量

其中的靜態(tài)常量 BASE 是 /resources/include/ 的所在目錄。

如果你的插件需要額外的靜態(tài)資源,那么你可以在 /resources/include 目錄里創(chuàng)建一個(gè)和插件 KEY 相同的文件夾,便于識(shí)別,如果沒(méi)有在 @Plugin 注解中設(shè)置 value 則默認(rèn)的插件 KEY 就是當(dāng)前類名首字母小寫(xiě)。

如 Typecho001 = typecho001

check(Map param)

這是用于檢驗(yàn)是否合規(guī)的方法,需要被強(qiáng)制重寫(xiě),當(dāng)返回 true 時(shí)才會(huì)調(diào)用 start() 方法

param 參數(shù)是從前臺(tái)傳過(guò)來(lái)的參數(shù)鍵值對(duì)。

常被用于檢驗(yàn)參數(shù)格式是否正確或漏洞是否存在。

after()

在 start() 方法之前調(diào)用

before()

在 start() 方法之后調(diào)用

start()

這是一個(gè)抽象方法,所有繼承了該類的子類都需要重寫(xiě)這個(gè)方法。

在 check 方法 通過(guò)后會(huì)調(diào)用 start() 方法

start() 方法返回值最終會(huì)會(huì)當(dāng)做插件結(jié)果,響應(yīng)給前臺(tái)。

shell()

調(diào)用當(dāng)前系統(tǒng) shell 來(lái)輔助完成插件功能。

executor()

插件執(zhí)行的主方法

crawlerPage

http請(qǐng)求對(duì)象(不推薦使用)

fetcher

執(zhí)行 http 請(qǐng)求對(duì)象(不推薦使用)

errorMsg

當(dāng)校驗(yàn)不通過(guò)時(shí),返回給前臺(tái)的信息。

param

前臺(tái)傳過(guò)來(lái)的參數(shù)鍵值對(duì)

requests

HTTP 發(fā)包工具(推薦使用)

hackKit

hack 常用工具包

無(wú)交互插件

無(wú)交互插件需要你填寫(xiě)好所有要填寫(xiě)的參數(shù),直接請(qǐng)求接口來(lái)執(zhí)行插件。

默認(rèn)需要去繼承 CommonPlugin類。

這是一個(gè)抽象類,繼承了 AbstractPlugin

主要多出來(lái)兩個(gè)屬性:request 和 response。

繼承了 CommonPlugin 的類可以通過(guò)調(diào)用這兩個(gè)屬性來(lái)控制請(qǐng)求和響應(yīng)內(nèi)容。

無(wú)交互插件同時(shí)也需要使用 @Rule 和 @Plugin 插件,這兩個(gè)注解后面會(huì)講到。

在 ,找到相應(yīng)的插件填寫(xiě)好參數(shù)提交即可完成調(diào)用。

或直接調(diào)用接口。

交互式插件

交互式插件一般在命令行控制臺(tái)中調(diào)用,可以允許你通過(guò)命令行交互來(lái)完成插件的調(diào)用。

交互式插件由 Websocket 實(shí)現(xiàn),想要寫(xiě)一個(gè)交互式插件,首先要繼承 WebSocketPlugin 類。

同時(shí)設(shè)置 @Rule 注解的 websocket 參數(shù)為 true ,如果需要異步交互需要將 sync 也設(shè)置為 true。

內(nèi)部插件

內(nèi)部插件是不可以通過(guò)外部去調(diào)用的,需要繼承 InnerPlugin 并使用 @Plugin 注解,通常在漏洞掃描時(shí)時(shí)會(huì)調(diào)用。

例如 “網(wǎng)頁(yè)爬蟲(chóng)”,“指紋識(shí)別”,“端口掃描” 等,都是通過(guò)調(diào)用內(nèi)部插件實(shí)現(xiàn)的。

還有用于檢測(cè) SSRF 等漏洞用的 FuckCeye 插件也屬于內(nèi)部插件。

通過(guò) spring 的自動(dòng)注入,來(lái)注入內(nèi)部插件到當(dāng)前對(duì)象。

例子可參考 WebLogicWLSRCE.java

爬蟲(chóng)插件

爬蟲(chóng)插件會(huì)在掃描任務(wù)被勾選“網(wǎng)頁(yè)爬蟲(chóng)”時(shí)調(diào)用,每爬取一條請(qǐng)求就會(huì)調(diào)用一次爬蟲(chóng)插件。

爬蟲(chóng)插件需要繼承 CrawlerPlugin,繼承該類必須重寫(xiě) check 和 process 方法。

check 方法用于檢驗(yàn)請(qǐng)求是否符合插件規(guī)則,以免產(chǎn)生多余請(qǐng)求。

當(dāng) check 方法 返回為 true 時(shí)會(huì)調(diào)用 process 方法。

process 方法里寫(xiě)插件主要檢測(cè)代碼。

addVulnerable()

當(dāng)插件檢測(cè)出漏洞時(shí),可以通過(guò)調(diào)用 addVulnerable() 方法來(lái)向數(shù)據(jù)庫(kù)插入一條漏洞。

requests

requests 屬性為請(qǐng)求工具包,處理 https 和 http 都很方便。

response

response 屬性為當(dāng)前爬蟲(chóng)得到的 HTTP 響應(yīng)。

task

task 屬性為當(dāng)前任務(wù)對(duì)象,如果你的爬蟲(chóng)插件不是檢測(cè)漏洞而希望是檢測(cè)一些敏感信息的話可以修改 task.getResult() 里的屬性。

參考 FingerProbe.java 或 InfoProbe.java。

target

爬蟲(chóng)爬取到的 URL 對(duì)象。

fetcher crawlerPage

http 請(qǐng)求對(duì)象(不建議使用)。

漏洞掃描插件

漏洞掃描插件會(huì)在,掃描任務(wù)中勾選“漏洞攻擊模塊”時(shí)調(diào)用。

漏洞掃描插件分為三種

1.獨(dú)立插件

獨(dú)立的漏洞掃描插件需要繼承 AbstractExploit 并使用 @Plugin 或 @Exploit

AbstractExploit 中有以下需要了解的方法和屬性。

requests

http / https 發(fā)包工具

target 當(dāng)前掃描任務(wù)的地址。

task

當(dāng)前掃描任務(wù)對(duì)象。

check()

check 是一個(gè)抽象方法,需要被子類強(qiáng)制重寫(xiě)。

該方法一般用于檢驗(yàn)是否符合當(dāng)前漏洞掃描插件的規(guī)則,以免產(chǎn)生多與請(qǐng)求。

attack()

attack 也是一個(gè)抽象方法,需要被子類強(qiáng)制重寫(xiě)。

該方法是檢測(cè)漏洞的主方法。

before()

在 attack 方法前執(zhí)行

after()

在 attack 方法后執(zhí)行

addVulnerable()

當(dāng)插件檢測(cè)出漏洞時(shí),可以通過(guò)調(diào)用 addVulnerable() 方法來(lái)向數(shù)據(jù)庫(kù)插入一條漏洞。

fetcher crawlerPage

http 請(qǐng)求對(duì)象(不建議使用)。

2.漏洞規(guī)則

位于

實(shí)際上這是一個(gè)“內(nèi)部插件”,會(huì)在勾選漏洞模塊攻擊時(shí)調(diào)用。

有一些漏洞檢測(cè)方法很簡(jiǎn)單,只通過(guò)簡(jiǎn)單的判斷響應(yīng)體就能識(shí)別出來(lái),也就沒(méi)有必要再去寫(xiě)一個(gè)獨(dú)立的插件而占用空間了。

在 doSwitch() 方法中會(huì)先去根據(jù)當(dāng)前任務(wù)的指紋識(shí)別結(jié)果走一遍 switch 流程。

swtich 的每一個(gè) case 都是 WEB 指紋的枚舉對(duì)象。

當(dāng) switch 找到當(dāng)前任務(wù) WEB 指紋對(duì)應(yīng)的 case 后,case 內(nèi)的代碼會(huì)通過(guò)構(gòu)建一個(gè)漏洞規(guī)則添加到 loaders 集合里。

如果規(guī)則是通用的,可以寫(xiě)在 switch 的外面。

3.kunpeng JSON插件

kunpeng 是一個(gè) go 語(yǔ)言編寫(xiě)的 poc 測(cè)試框架,這里我對(duì) kunpeng 的 JSON 插件做了一個(gè)支持。

只需要按照 kunpeng json 插件的格式規(guī)范創(chuàng)建一個(gè) json 文件到 /resources/json 目錄。

在掃描任務(wù)勾選“漏洞攻擊模塊”時(shí)會(huì)被調(diào)用,或通過(guò) MVC 插件調(diào)用 。

MVC 插件

位于

MVC 插件的特點(diǎn)在于,他可以像是在寫(xiě)一個(gè)功能一樣,而非簡(jiǎn)單的接口式調(diào)用。

MVC 插件需要繼承 MVCPlugin 類,并使用 @Rule,@Plugin 注解。

MVCPlugin 內(nèi)置了一個(gè) ModelAndView 對(duì)象, 是 SpringMVC 提供的。

可以通過(guò) setViewName() 來(lái)指定視圖層的網(wǎng)頁(yè)模板。

通過(guò) addObject(key,value) 向視圖層網(wǎng)頁(yè)模板注入?yún)?shù)。

這里的視圖層是使用 thymeleaf 實(shí)現(xiàn)的,需要懂 thymeleaf 的語(yǔ)法。

例子可以參考:com.trackray.module.inner.JSONPlugin

繼承 MVCPlugin 必須要重寫(xiě)一個(gè) index 方法,這是插件的入口。

如果需要寫(xiě)其他的功能,就得再創(chuàng)建一個(gè) public 返回值為 void 的無(wú)參方法。

并且要在該方法上使用 @Function 注解,該注解的 value 參數(shù)如果不填寫(xiě)的話則默認(rèn)的 requestMapping 地址為方法名。

例如

最后還需要在 /module/src/main/resources/templates 創(chuàng)建一個(gè)目錄名為插件 KEY 的目錄。

里面存放擴(kuò)展名為 .html 的模板文件。

Python 插件

python 插件有兩種實(shí)現(xiàn)方式。

1.通過(guò)命令行實(shí)現(xiàn)

這種方式最為簡(jiǎn)單,通過(guò)在 include 里寫(xiě)一個(gè) python 腳本。

然后在插件里調(diào)用 shell() 方法來(lái)執(zhí)行系統(tǒng)命令。

案例可參考 com.trackray.module.plugin.windows.smb.MS17010

但這樣還需要再寫(xiě) java 的代碼,對(duì)于沒(méi)有學(xué)過(guò) java 的人來(lái)說(shuō)很不友好。

2.通過(guò)jython實(shí)現(xiàn)

jython 是一個(gè) Python 語(yǔ)言在 Java 中的完全實(shí)現(xiàn)。

我將它的調(diào)用過(guò)程寫(xiě)成了一個(gè)交互式插件。

你可以通過(guò)在 /resources/python/ 目錄下安裝如下規(guī)范去創(chuàng)建一個(gè) python 文件。

在這個(gè) python 文件中需要寫(xiě)兩個(gè)方法。

關(guān)于注解

@Rule

一般用在“可交互插件”和“無(wú)交互插件”類上。

@Plugin

WEB指紋

這里順便再說(shuō)一下如何添加指紋庫(kù)。

指紋庫(kù)位于 base 模塊,是一個(gè)枚舉類。

可以在首部或尾部添加一條新的枚舉,盡量使用 $ 開(kāi)頭。

第一個(gè)參數(shù)是 指紋的名稱,如果第二個(gè)參數(shù)是 String 類型則是該指紋的說(shuō)明。

FingerBean 類是指紋匹配對(duì)象。


分享名稱:java滲透代碼 代碼滲透什么意思
文章起源:http://weahome.cn/article/dddgsoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部