CTF萌新入坑指南(web篇)
ps:其實在寫這篇入坑指南的時候內心還是十分掙扎的,畢竟大佬太多而我自己太太太太菜,然鵝我也不好拒絕溫柔善良的鄭童鞋的邀請,因此這篇文章只面向最最最新的萌新,各位大佬請自行忽略
前言
web在ctf裡面佔到的比重還是蠻大的,從國內有ctf賽事以來,web就一直是各
路出題人的寵兒,就比如說前段時間的某次分割槽賽初賽題目構成是7pwn 7web
1re 1misc,雖然在我看來這個題目分配過於偏激且離譜了,但是足以看出web
在ctf中的重要性,線下賽pwn佬可能更加關鍵,不過web手對於每個隊伍都是不
可或缺的,總體來說基礎web題的難度不是很大,但是內容很多,所以想要以
web作為主項的小夥伴一定要加倍努力奧。
準備工作
web方向的工具還是很多的,這裡推薦幾個常用的神器
burp suite
別問,問就是神器,用過的都說好!
(什麼?不用burp?我的天哪 真有自斷一臂的web選手嗎)
burp 是一款web領域的跨平臺工具,整合了代理、重放、暴力破解、解碼等等多個模組,模組之間共享http訊息框架來實現共享資訊,大大提高了解web題目的效率。
條件:需要預裝java環境
下載地址:get到burp的途徑有兩種,一種是官網,官網的burp有兩種版本,一個社群版一個專業版(pro),pro的功能更加強大當然也需要付費,具體費用是199還是299刀一年來著
另一種方式便是網上找資源(懂得都懂),不過有財力的小夥伴還是建議支援一下正版(反正我窮(狗頭))具體的下載和破解方式網上有很多很多詳細的教程,這裡不再贅述
sqlmap
別問,問就是sql注入神器,用過的都說好!
(這真不是忽悠,曾經精通sqlmap的人在src上僅僅用這個工具挖洞得到了6萬獎金)
sqlmap是一款開源的滲透測試工具,可以自動檢測並利用sql注入漏洞,配備有十分強大的檢測引擎。
條件:預裝python環境,官網下載即可
下載地址:官網即可 sqlmap是開源的不會收費 但是網上的其他版本可能會留有後門,保險起見官網下載,地址在下面
連結: link.
關於具體安裝與環境配置,網上也有很多教程,不再贅述。
(這裡多插一嘴,做sql注入不能過度依賴sqlmap,有一些比較隱蔽的報錯、回顯注入檢測不出來還是需要手動注入的,應當在掌握理論知識的同時結合工具的使用)
kali linux
別問,問就是滲透測試神器,用過的都說好!
(俗話說,kali學得好,牢飯吃得早)
linux系統無論是在操作指令方面還是程式編寫方面都有著不俗的效率,因此每位ctfer都應該有一套自己的linux虛擬機器,debian,ubuntu都是不錯的選擇,但是對於web選手而言,我著重推薦kali,因為kali內建了一套十分完整的滲透工具,包括我們先前提到的sqlmap,burp社群版,nmap,wireshark等等,一鍵整合,方便快捷!
條件:vmware kali映象檔案(.iso)
簡單說,vmware是一個提供虛擬機器安裝測試環境的軟體,而映象檔案就相當於你要安裝的系統,將映象檔案安裝並配置到vm中就得到了一臺虛擬機器
教程,網上有很多詳細的,不再多說
以上三款工具,如果實在有小夥伴的安裝與配置出現問題一直無法解決,歡迎與我聯絡
web整體框架
web安全方向的題都有哪些型別呢?簡單拉個框架介紹一下
- web
- sql注入
- 回顯注入
- 報錯注入
- 盲注
- xss跨站指令碼攻擊
- 反射型
- 儲存型
- DOM
- csrf跨站請求偽造
- 檔案相關
- 檔案包含漏洞
- 檔案上傳
- 檔案下載
- php相關
- php反序列化
- XXE
- SSRF
- 其他
- 暴力破解
- url重定向
- sql注入
簡述具體內容
後續會持續完善
一些例題的思路與知識擴充
後續會持續完善
篇幅實在有限,就不對具體知識進行講解了,不過儘量把wp寫詳細一些
get傳參與正規表示式
JLUCTF 2020 熱身賽
首先簡單看一下程式碼,得到兩個資訊,首先s的傳入方式是get型,其次這段程式碼實際上是對pattern與subject進行匹配,匹配成功輸出flag。而pattern看格式/^…$ /明顯是正規表示式,也就是說當subject符合正則pattern的要求的時候,就會輸出flag。
分析一下正則的幾個位置:
\s 空白字元
\d 數字
{2,3} 大括號內表示長度,即2位或3位
\ / 這裡有一點繞 前面的 \ 表示轉義符 簡單做一下說明:有些字元比如 / $ 等,在正則中是有實際意義的引數,同時也可以作為字元,如何區分這兩者呢?約定在字元前面加上一個轉義字元 \ ,以此來表示需要匹配的是字元
所以這個 \ / 的意思是匹配字元 /
[a-z] 任意一個小寫字母
(.+) 匹配括號 ()
^ 為開始標誌 $ 為結束標誌
因此需要在字串
theflag1之間需要加入 空格 2-3位數字 / 任意字母 / () 並且將位置對應
而get傳參的基本方式就是在url後面加 /?id=
因此這道題的payload為 /?s=the flag234/a/()1
知識擴充:
1.get與post 兩種傳參方式 建議百度或csdn
2.正規表示式 建議看菜鳥教程
重定向
JLUCTF 2020 熱身賽
重定向本質上是網頁之間的跳轉
hint 說這是一個重定向的題目 開啟連結看一下 url最後一級檔案目錄是index.php 頁面中還有一個2.php的入口,一直點選下一個頁面中的入口,發現在4.php下,入口的名字是5.php,而我們實際上回到了index.php。這也就意味著從index到4通過頁面跳轉 回到了index 從而在index與4之間形成了一個閉環,從而將5隱藏起來。所以我們有理由懷疑5.php中有我們想要的flag
這是隻要不讓網頁進行重定向就可以了 我們開啟kali 在終端使用curl指令連結到5.php curl預設是不支援重定向的,除非有-L的引數。
果然,在5.php中得到了flag
知識擴充:
- linux指令 建議搜尋 linux指令集
- 重定向 csdn有很多部落格 講的很不錯
相關文章
- 給萌新HTML5 入門指南HTML
- Go Web開發入坑指南GoWeb
- 給萌新HTML5 入門指南(二)HTML
- 踩坑指南:入門OpenTenBase之部署篇
- Hugging Face Transformers 萌新完全指南Hugging FaceORM
- 踩坑指南:入門OpenTenBase之監控篇
- 萌新 redux 入門Redux
- 萌新入坑,資深玩家安利,國行Switch消費面面觀
- UIStackView 入坑指南UIView
- vim 入坑指南
- 給 Web 開發人員的以太坊入坑指南Web
- 給Web開發人員的以太坊入坑指南Web
- Terraform 新手村指南,萌新必讀!ORM
- INE - Web Application Penetration Testing Professional (萌新級)WebAPP
- PHPer面試指南-Web 篇PHP面試Web
- 「萌新指南」SOA vs. 微服務:What’s the Difference?微服務
- uni-app 入坑指南APP
- Oracle函式入坑指南Oracle函式
- rust入坑指南之ownershipRust
- CTF—web基礎Web
- Omi 入坑指南 Third field 事件入門事件
- 2021年 Istio 大型“入坑”指南
- CTF web安全45天入門學習路線Web
- 給萌新的Flexbox簡易入門教程Flex
- CTF入門學習2->Web基礎瞭解Web
- CTF入門學習3->Web通訊基礎Web
- Omi 入坑指南 第四場 Router
- React Router v4 入坑指南React
- Flutter 入坑指南(dio +fish_redux)FlutterRedux
- 針不戳!GitHub Actions 入坑指南Github
- CTF-BugKu-WEB-1-20Web
- CTF-BugKu-WEB-35-41Web
- Flutter入坑指南:開發環境搭建Flutter開發環境
- 小米安全Dayeh:《Spring Security入坑指南1》Spring
- 小米安全Dayeh:《Spring Security入坑指南2》Spring
- Omi 入坑指南 The second floor 初步接觸
- 小程式入坑指南 | 鵝廠優文
- Rust入坑指南:海納百川Rust