第一天
????????1.首先講了d0cker的部署,
????????這個是第一個Vulhub漏洞環境。所有環境都使用D0cker容器化,使其易于部署和隔離測試。
????????其中,國內的阿里用不了,你得搞個代理,下國外的:入門指南 | Vulhub
然后按這個步驟去做,不過你得看看有沒有這個文件cd /etc/proxychains.conf,沒有的話下這個:apt-get install proxychains ,然后編輯這個vim /etc/proxychains.conf,把最下面的改自己本地地址,端口改代理的,一般是7190,我的是7197;你可能首先要關物理主機的防火墻,不然不會走代理,,如果訪問谷歌成功了,說明走了代理,然后第一個命令應該按這個輸入:proxychains bash -c "curl -fsSL https://get.docker.com | sh"
????????2.講述了dns的解析過程,
????????1??首先我們輸入域名時,瀏覽器會檢查我們本地瀏覽器緩存中是否有該對應的IP地址,有的話就直接返回ip,2??沒有的話就會查詢操作系統的DNS緩存,如果操作系統緩存有這個域名的解析結果,就直接返回,3??如果操作系統緩存中沒有,那么將會把該域名發給本地的DNS服務器,本地DNS服務器通常會緩存域名的解析結果。一般到此就結束了,要是還沒有,4??那么就會向根dns服務器發送dns請求,根dns服務器會返回一個頂級域名服務器的地址,然后本地就會向頂級dns服務器發送請求,頂級dns服務器返回該域名對應的地址。最后5??Name Server查詢:本地DNS服務器向Name Server發送請求,Name Server返回該域名對應的IP地址和TTL值,本地DNS服務器緩存該域名和IP地址的對應關系,并將結果返回給客戶端。客戶端根據TTL值將結果緩存到本地系統緩存中。
????????大概就是這樣一個過程,然后域名服務器之間關系是這樣的
????????3.最后將了https為什么安全:
? ? ? ? 這里涉及到一個對稱加密的原理,它主要是通過SSL/TLS加密技術保護數據傳輸的隱私性和完整性。因為加密,所以防止數據在傳輸的過程中被竊取或篡改
第二天
?????????1.首先將了RSA的具體原理和實際應用
它使用了非對稱加密算法,使用了兩個密鑰,一個公鑰用于加密數據,一個私鑰用于解密數據,然后這個安全性目前來說依然難以破解,主要因為它。。。過程有點繞,反正就是應用了歐拉函數,一個特別大的數不容易分解成兩個互質的數,所以它的解密難度取決于計算機的算力
????????大整數決定了RSA的破解難度,因為大整數需要因式分解,否則無法獲得d。
????????2.其次講了debug的部署,在windos和linux下的部署
第三天
1.講了入鋟的流程是怎樣的,
????????首先要信息收集,我們的目標是獲取后臺地址,有80%來自網頁(收集子域名whois,第三方網站查詢(搜索引擎,谷歌、第三方搜索引擎、fofa.info)),15%來自小程序,5%來自app
我們可以嘗試的搜一些網站,像學校之類的,看看他們的網站有沒有什么信息泄露,采集信息,在登錄頁面先進行弱口令嘗試,然后密碼噴灑,最后再爆破
????????例如:利用好谷歌語法查找敏感信息
實際這里獲得的學號還是少,但這個東西有規律,我們可以根據規律,拿AI生成一大堆學號
不過這里比較倒霉哈,他要驗證碼(實際這個學校大多數登錄平臺都有驗證碼)防范意識挺高,就不做掩飾了
2.小知識:
? ? ? ?· 密碼噴灑:和暴力破解不同,一個賬號用一個密碼錯誤后就換一個賬號,這樣就避免了一個賬號測試多個密碼后ip被封
? ? ? ?· 某個賬號在規定時間內錯誤次數太多,如1分鐘內3-5次錯誤
? ? ? ?·sS -ST 面試只問參數
半連接:sS 由于是半連接,較為隱蔽,流量較小,不容易被態勢感知 全流量感知等工具發現 不記錄日志,但是要root權限
全連接:會記錄日志
一直ping:ping -t
死亡ping:ping大包
第四天
1.首先繼續昨天的內容,介紹了只有一個登錄界面怎么攻擊:
????????1??查子域名;2??如果沒有驗證碼,用密碼噴灑;3??用弱口令;4??.在js里找漏洞
2.其次講了文件上傳,文件包含實例(小程序滲透)
? ? ? ? 這里環境什么的也是弄好了,也可以抓到小程序的包了
3.講了反射型漏侗,還有實際打靶場
? ? ? ?反射型xss漏洞 :對用戶的輸入沒做限制,所以用戶可以輸入惡意JS代碼,最終被服務器解析,并且反射給用戶
開始稀里糊涂,跟著回放也是打到第九關了
第一關:<img src=1 onerror=alert(1)>
????????onfocus:焦點事件,用在input表單上
第二關:利用標簽實體化,防御xss攻雞
????????三種編碼:urlcode html實體編碼 js的unicode編碼
????????1??urlcode 英文數字一般不編碼,例如:‘是%27
????????2??js的unicode編碼:是以 \u 開頭的;例如 \u0065=e
????????然后這個題主要跳過value,要逃逸,
????????第一種可以用用戶參與,a"onclick="alert(1) 用戶點擊跳轉? 或者使用? a"onmouseover="alert(1)鼠標劃過跳轉
????????第二種用戶不參與的就要求把input標簽閉合 a"><script>alert(1)</script>
echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword ?value="a"><script>alrt(1)</script>">?? ?//最后剩下這個 "> 不用管,他會自己糾錯,如果你加一個//把他注釋掉也可以
<input type=submit name=submit value="搜索"/>
第三關.htmlspecialchars($str).
????????.htmlspecialchars($str)?是 PHP 中的一個函數,用于將字符串中的特殊字符轉換為 HTML 實體(HTML entities)。這是防范 XSS(跨站腳本攻擊)的重要手段之一,通過將潛在的惡意代碼轉換為無害的文本顯示,確保用戶輸入不會被瀏覽器解析為執行代碼。
????????而他和第二關不同的是他這個地方也有過濾
????????可以將這些字符轉化為實體
&? 轉換為 &
<? 轉換為 <
>? 轉換為 >
"? 轉換為 " 除非設置了ENT_NOQUOTES
'? 轉換為 ' 設置了ENT_QUOTES后,'(如果是ENT_HTML401),或者 sapos;(如果是 ENT_XML1、ENT_XHTML 或ENT_HTML5)。
答案:a' onclick='alert(1)
?
第四關:過濾了<>
????????$str = $_GET["keyword"];
????????$str2=str_replace(">","",$str);
????????$str3=str_replace("<","",$str2);
????????????????過濾了 < >
????????????????所以答案:a" onclick="alert(1)
第五關 沒過濾href
$str = strtolower($_GET["keyword"]);??? 表示把keyword全部轉化為小寫
第五關還是過濾,只是過濾了<script>和on,所以我們不用這兩個
答案:a"><a href="javascript:alert(1)">aaaaaaa</a>
第六關 html大寫繞過
雖然他過濾了好多詞,但是html不區分大小寫,所以我們可以使用大寫的來繞過,不過javascript代碼就會區分大小寫
第七關 替換過濾只能替換一次
這個看似大小寫和關鍵詞都過濾了,但這是替換過濾,現在見不到了,因為他只能替換一次,比如 ononclick 替換后就成了 onclick
所以答案為:a"oonnclick="alert(1)
看他后端代碼叫白盒審計,看前端代碼叫黑盒審計:
審計人員在完全知曉目標系統內部結構、源代碼、設計文檔等 “白盒” 信息的前提下,對系統進行全面的安全分析,以發現潛在的漏洞、邏輯缺陷或不符合安全規范的代碼。
第八關:href支持的編碼
這里很多詞給過濾掉了,我們就要看href支持哪些編碼了
HTML 實體編碼:JavaScript: 變成 javascript:
UTF-8編碼、URL編碼、Unicode編碼出來 javascript 還是 javascript
所以答案:javascript:alert(1)