Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
本文作者:晚風(fēng),根據(jù)其之前的文章數(shù)量獎(jiǎng)勵(lì) 50 元,以資鼓勵(lì),希望可以繼續(xù)加油,再接再厲。
的最大優(yōu)勢(shì)在于以 .NET 框架為基礎(chǔ)。 .NET 框架在腳本領(lǐng)域幾乎是無(wú)所不能,這是一個(gè)優(yōu)點(diǎn),也有可能成為一個(gè)方便黑客攻擊的一個(gè)強(qiáng)大的便利。
在滲透測(cè)試中,在正常的傳輸通道被禁止時(shí),我們時(shí)常會(huì)劍走偏鋒,通過(guò)一些特殊的方法來(lái)進(jìn)行文件的傳輸。這篇文章將會(huì)描述使用 下載文件的三種方法,并評(píng)估它們的優(yōu)缺點(diǎn)。
關(guān)于其他在 windows 系統(tǒng)下通過(guò)命令行上傳文件的姿勢(shì),請(qǐng)查看前文:
測(cè)試環(huán)境
本次測(cè)試的目的在于展示執(zhí)行時(shí)間和性能的區(qū)別。
測(cè)試環(huán)境主要是 Windows 10(x64) 的 5 和下載速度約為 3mb/s 的無(wú)線網(wǎng)絡(luò)連接。
我將從我自己的服務(wù)器上
下載一個(gè)測(cè)試文件 .txt ,文件大小為 25.45MB ,服務(wù)器公網(wǎng)帶寬 1Mbps 。我們會(huì)測(cè)試腳本 10 次并取平均值作為結(jié)果。
讓我們開始吧!
1.Invoke-
說(shuō)到使用 下載文件,最先想到的就是 Invoke- 命令。可能你有點(diǎn)不熟悉這個(gè)名字,它有 3 個(gè)別名,分別是 “iwr”、“wget”、“curl”。
平均用時(shí):3分28秒
優(yōu)點(diǎn)
這個(gè)方法非常容易上手。如果你知道文件總的大小的話,結(jié)合 Write- 命令你可以很方便得看到腳本的運(yùn)行進(jìn)度。Cookie 也可以通過(guò)使用 -Session 和 - 參數(shù)在多個(gè)請(qǐng)求之間保留。
缺點(diǎn)
使用這個(gè)命令下載文件的速度很慢。我觀察到 HTTP 響應(yīng)流先全部緩存到了內(nèi)存中,一旦文件全部傳輸完畢,文件就會(huì)從內(nèi)存中一下子轉(zhuǎn)移到磁盤中。如果你要下載一個(gè)大文件,那么這種方式會(huì)造成巨大的性能問(wèn)題和內(nèi)存的損耗。如果有人知道這個(gè)命令的具體操作細(xì)節(jié),請(qǐng)告訴我!我們可以一起討論一下。
這種方法的另一個(gè)潛在的嚴(yán)重缺點(diǎn)是依賴 。比如,這個(gè)命令不能運(yùn)行在 Windows Server core 版本的服務(wù)器上,因?yàn)樗J(rèn)不包含 二進(jìn)制文件。在這種情況下,你可以使用 - 參數(shù),但它并不是在所有情況下都起作用。另外我在這里給出兩個(gè)讓 Invoke- 提速的方法。
第一,使用 $='' 語(yǔ)句來(lái)隱藏滾動(dòng)條,減小了資源的占用。
第二,就是使用上面提到的 - 參數(shù),這樣在 Invoke- 請(qǐng)求完數(shù)據(jù)后,就不會(huì)調(diào)用 IE 去進(jìn)行 DOM 樹結(jié)果的解析,效率會(huì)提高不少。
結(jié)論
當(dāng)你需要在多個(gè)請(qǐng)求時(shí)保留 Cookie(例如下載文件之前的 HTTP 表單驗(yàn)證),那么這個(gè)命令會(huì)很有用。
這種方法很適合用來(lái)下載小文件,但是如果你對(duì)下載速度有要求,那肯定會(huì)有更好的選擇。如果這個(gè)腳本要運(yùn)行在 Windows Server Core 版本的服務(wù)器上,那這個(gè)命令就不適用了。
2.System.Net.
.NET 框架中的 System.Net. 類就是一個(gè)用于下載文件的 .NET 類。
平均用時(shí):3分28秒
優(yōu)點(diǎn)
這個(gè)方法用起來(lái)也很簡(jiǎn)單。這種方法的下載速度跟上一種差不多,在整個(gè)下載過(guò)程中 HTTP 響應(yīng)流被直接緩存到了磁盤中。
你還可以用 System.Net..() 這個(gè)函數(shù)。可以很方便地在文件并行下載的同時(shí)繼續(xù)運(yùn)行腳本。
缺點(diǎn)
沒(méi)有一個(gè)下載進(jìn)度條(或者任何能查詢下載進(jìn)度的東西),也就是說(shuō)你無(wú)法知道到底還要多久才能下載完成,也不知道目前到底下載了多少。并且這個(gè)命令是單線程的,所以會(huì)造成線程阻塞,只能一個(gè)下載任務(wù)完成了才能進(jìn)行下一個(gè)任務(wù)。
結(jié)論
當(dāng)需要下載文件時(shí),System.Net. 是我的最佳選擇。這個(gè)方法也是完全兼容 Windows Server Core 版本的服務(wù)器。
3. Start-
如果你在之前沒(méi)聽說(shuō)過(guò)后臺(tái)智能傳輸服務(wù)(BITS) 參考文檔:
BITS 主要用于 Windows 系統(tǒng)的升級(jí)、自動(dòng)更新等工作。工作方式為異步下載文件,并且用于同步下載文件時(shí)也有十分優(yōu)異的表現(xiàn)。還有一個(gè) 工具使用的也是這個(gè)后臺(tái)智能傳輸服務(wù)。
平均用時(shí):3分33秒
優(yōu)點(diǎn)
集成了進(jìn)度條可以讓我們清楚的了解文件的下載進(jìn)度。- 參數(shù)可用于異步傳輸隊(duì)列。異步就意味著無(wú)需等待上一個(gè)任務(wù)完成即可執(zhí)行下一個(gè)任務(wù),多個(gè)命令可以并行執(zhí)行。雖然在單任務(wù)狀態(tài)下較慢,但在多任務(wù)的情況下能提高效率。
就個(gè)人而言,使用這個(gè)方法最大的優(yōu)勢(shì)是能夠在失敗的時(shí)候進(jìn)行重試操作并限制可用于傳輸?shù)膸捔俊?/p>
缺點(diǎn)
這個(gè)方法是我測(cè)試到現(xiàn)在最慢的方法!但是和其他兩個(gè)方法來(lái)比慢的也不太多。另外,雖然 BITS 在許多機(jī)器上默認(rèn)可用,但是你不能保證在所有的機(jī)器上都可以使用 BITS ,除非你在你的機(jī)器上確保已經(jīng)開啟了 BITS 。還有,由于 BITS 主要用于異步傳輸?shù)奶匦裕绻麆e的 BITS 任務(wù)正在后臺(tái)運(yùn)行,那么你的任務(wù)就會(huì)被加入隊(duì)列或者在片刻后再執(zhí)行,這就會(huì)阻礙你的腳本的執(zhí)行。
總結(jié)
在你想限制文件下載的帶寬或者不太考慮下載時(shí)間的情況下,這種方法是最完美的。得益于這種特性,我設(shè)置了一種夜間全速下載、白天半速下載的策略。并且 BITS 也易于觀察下載的進(jìn)度。
總得來(lái)說(shuō)
我推薦使用 System.Net. 這種方法,因?yàn)樗容^通用,下載速度也比較快。BITS 是我的第二個(gè)選擇因?yàn)樗撵`活性和易于管理。
在滲透測(cè)試中,利用系統(tǒng)自帶的一些工具進(jìn)行攻擊是一種不錯(cuò)的方法。而 就是一把利器,由于它過(guò)于強(qiáng)大,很多系統(tǒng)管理員會(huì)直接禁用它,并且在 Windows 系統(tǒng)中,也是默認(rèn)禁止 *.ps1 腳本文件的執(zhí)行的。所以呢我們需要在執(zhí)行 ps 腳本的時(shí)候繞過(guò)一下這個(gè)默認(rèn)的策略。最簡(jiǎn)單的方法就是執(zhí)行 .exe 附加需要執(zhí)行的命令,也可以將要執(zhí)行的腳本直接復(fù)制進(jìn) 的窗口。
在執(zhí)行 ps1 腳本文件的時(shí)候加上一個(gè) Bypass 參數(shù)就可以很簡(jiǎn)單地繞過(guò)了。例如:
.exe - Bypass -File .\t1.ps1
如果你知道其他的方法,請(qǐng)告訴我哦。
個(gè)人作品展作者簡(jiǎn)介
作者目前位于移動(dòng)支付之城—杭州。就讀于浙江水利水電學(xué)院。之前在學(xué)校的東旭工作室做的是網(wǎng)站的前端(FE),后來(lái)從工作室出來(lái),和小伙伴一起創(chuàng)辦了紅楓信安協(xié)會(huì),踏上了信息安全之旅。平時(shí)偶爾喜歡玩玩游戲,愛 RNG,愛 UZI。
下面呢和大家分享一下我在信安方面的心路歷程。
首先呢,帶我入門的還是東旭工作室,在工作室里學(xué)到了很多基礎(chǔ)的東西。比如一個(gè)網(wǎng)站的建設(shè)過(guò)程、整體架構(gòu),然后還有編程能力的提升等等。
但是呢,在學(xué)的過(guò)程中發(fā)現(xiàn)了一些安全性的問(wèn)題。比如在一次工作室的慶祝圣誕活動(dòng)頁(yè)面上,有一個(gè)留言板。于是想到那時(shí)候剛學(xué)的 js,就寫了一段 js 提交上去,然后所有人的瀏覽器上都彈了窗... 一段時(shí)間以后才知道原來(lái)這就是 xss …后來(lái)從工作室出來(lái),閑了一段時(shí)間,聽學(xué)姐推薦說(shuō)去考一個(gè)軟考,以后畢業(yè)找工作多一個(gè)證書好找點(diǎn)。然后就去考了中級(jí)的信安工程師。
在備考期間發(fā)現(xiàn)信息安全好有趣呀,精巧的密碼學(xué)設(shè)計(jì),刺激的中間人攻擊,復(fù)雜又不失優(yōu)雅的認(rèn)證協(xié)議…… 還有很多很多有趣的技術(shù)。
后來(lái)又接觸到了 CTF 比賽,跟紅楓信安的小伙伴一起去玩玩 CTF,很刺激很開心。最后希望能和有相同愛好的各位在信安之路上越走越遠(yuǎn)。想跟作者成為朋友嗎?那就加群吧!
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。