Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
關於 HITCON CTF 的那些事 之 Web 狗如何在險惡的 CTF 世界中存活?
Search
Orange
July 18, 2015
Technology
6
12k
關於 HITCON CTF 的那些事 之 Web 狗如何在險惡的 CTF 世界中存活?
2015 烏雲峰會演講投影片
Orange
July 18, 2015
Tweet
Share
More Decks by Orange
See All by Orange
Best Practices - The Upload
p8361
0
24
Security in PHP 那些在滲透測試的小技巧
p8361
0
55
網頁安全 Web Security 入門
p8361
0
61
Bug Bounty 獎金獵人甘苦談 - 那些年我回報過的漏洞
p8361
13
36k
那些 Web Hacking 中的奇技淫巧
p8361
16
14k
PHPConf 2013 - 矛盾大對決
p8361
53
28k
0-Day 輕鬆談 - Happy Fuzzing Internet Explorer
p8361
15
12k
駭客看 Django
p8361
25
12k
Other Decks in Technology
See All in Technology
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
370
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
740
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.8k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
710
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
6
770
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
550
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
230
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
550
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Site-Speed That Sticks
csswizardry
4
380
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Statistics for Hackers
jakevdp
797
220k
Optimizing for Happiness
mojombo
376
70k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Docker and Python
trallard
44
3.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Transcript
關於 HITCON CTF 的那些事 Web 狗如何在險惡的 CTF 世界中存活?
[email protected]
之
About Me • 蔡政達 a.k.a Orange • CHROOT 成員 /
HITCON 成員 • 國內外研討會 HITCON, AVTokyo, PHPConf 等講師 • 國內外駭客競賽 CTF 冠軍 • 揭露過 Microsoft IE, Django, Yahoo ... 等 0-DAY 漏洞 • 專精於駭客手法、Web Security 與網路滲透 #90後 #賽棍 #電競選手 #狗 #Web狗
None
About HITCON CTF Team • 台灣駭客年會 (Hacks in Taiwan Conference)
• 前身為 CHROOT 讀書會 • 目前比賽成員約 14 位,成員來自台灣各隊伍 • 過半數為學生
參與過賽事(決賽) • 中國 BCTF • 韓國 SECUINSIDE • 美國 DEF
CON • 馬來西亞 HITB • 日本 SECCON • 韓國 CODEGATE • 中國 0CTF • …
由三隻獨立隊伍所合併而成 HITCON
None
• DEFCON CTF 21 Quals • 217 首度接觸 CTF! 2013-05
• 中國百度 BCTF 決賽 • 首次參加的 Attack & Defense 比賽!
2014-05 2013-05
None
黑客競賽住宿飯店提供黑客蚊香片
• DEFCON CTF 22 Quals • 聚集各方戰力重新挑戰一次 • HITCON •
台灣大學 217 • 交通大學成員 2014-05 2013-05 2014-05
SICK http://www.jeffxx.com/blog/2014/05/19/defcon-ctf-22-qual-sick-writeup/
• 韓國 SECUINSIDE CTF 決賽 • 發現跟國外隊伍差距多大 2014-05 2013-05 2014-05
2014-07
None
DEF CON 22 CTF FINAL
• 首次聚集台灣最強戰力挑戰 DEFCON 決賽 • 抵達美國過程一波三折 2014-05 2013-05 2014-05 2014-07
2014-08
• 時差問題 • 食物只有漢堡王 • 設備 ? VLAN TAG 999
2014-05 2013-05 2014-05 2014-07 2014-08
None
None
None
• HITCON 舉辦首場開放世界報 名的比賽 - HITCON CTF • 列強環繞 -
Bamboo Fox 成立 2014-05 2013-05 2014-05 2014-07 2014-08 2014-08
http://ctf.hitcon.org/
• 日本 SECCON 決賽 • Kill of the Hill 賽制
• 看不懂規則以及網頁 • 花了兩個小時 Fuzzing Protocol 找到 Overflow 後... 原來有提供 Binary 2014-05 2013-05 2014-05 2014-07 2014-08 2014-08 2015-02
TO BE CONTINUED 2014-05 2013-05 2014-05 2014-07 2014-08 2014-08 2015-02
2015-??
「Web 狗如何在險惡的 CTF 世界中存活?」
DEFCON 22 CTF Quals Web x 1 of 21 DEFCON
23 CTF Quals Web x 1 of 24 Boston Key Party CTF 2015 Web x 0 of 31 PLAID CTF 2015 Web x 1 of 24 「Web 狗如何在險惡的 CTF 世界中存活?」
None
看到都快哭出來了
Web 為何弱勢? • 代碼數量 • 你不會為了出一道題目去寫幾十萬行代碼 • 技術 v.s. 思路
v.s. ...滲透? • 漏洞利用的藝術 • 想想假使 WordPress / Discuz 出了一個任意變量覆蓋要如何 優雅 的利用? • 跳個 alert 也是利用,遠端代碼執行也是利用
# login page r = query("SELECT pwd FROM users WHERE
user = '%s'" % username) if r.pwd == password: session['username'] = username # index page username = session['username'] r = query("SELECT point FROM users WHERE user = '%s'" % username) print r.point CodeGate CTF 2015 Final Web Pseudo Code
CodeGate CTF 2015 Final Web Pseudo Code • 4 /
10 隊伍解出 • 技術很簡單,成功登入後可以看到 session 對應的分數 • 不過在沒有原始碼狀況下難度增加 • 對於黑箱測試來說只有登入成功以及失敗的結果可知 Q: 在沒有錯誤、無法讀寫、無法多語句的前提下,如何用最快的方式 取得資料?
' UNION SELECT (SELECT CASE WHEN random()*2>1 THEN 'password' ELSE
(SELECT sql FROM sqlite_master limit 1) END)--+ 核心概念 - 單次輸入但構造出不同的結果
' UNION SELECT (SELECT CASE WHEN datetime('now')>'2015-06-22 00:00:00' THEN 'password'
ELSE (SELECT sql FROM sqlite_master limit 1) END)--+ 核心概念 - 單次輸入但構造出不同的結果
HITCON CTF 2014 Web LEENODE
• 2 / 1020 隊伍解出 • Web 分層架構漏洞 • ColdFusion
with Apache Connector • 舊版本 ColdFusion Double Encoding 造成資訊洩漏漏洞 • 同樣漏洞,出現兩種思路兩種解法 HITCON CTF 2014 Web LEENODE
<FilesMatch "^\.ht"> 會被 Apache 處理 使⽤用 Double Encoding 繞過 Apache
處理 .cfm 會被 JRun 處理 使⽤用 Null Byte 截斷 .cfm JRun 讀取 .htpasswd 原始碼並送回 /admin%252f%252ehtpasswd%2500.cfm
/.%5Cadmin%5C.htpasswd%253b.jsp <FilesMatch "^\.ht"> 會被 Apache 處理 使⽤用反斜線繞過 Apache 處理 .jsp
會被 JRun 處理 使⽤用 ; 截斷 .jsp JRun 讀取 .htpasswd 原始碼並送回
「Web 狗如何在險惡的 CTF 世界中存活?」 所以說
– 怎麼可能存活,想多了 「Web 狗如何在險惡的 CTF 世界中存活?」
– 為了存活下來,不得不強迫自己學其他技能 「Web 狗如何在險惡的 CTF 世界中存活?」
– 但是密碼學、堆棧溢出是高富帥的領域怎麼辦? 「Web 狗如何在險惡的 CTF 世界中存活?」
DAWN 隊伍專訪節錄
從用得上的實例學起 • Web Hacking • Reversing + Pwnable • /cgi-bin/
下的 ELF • 嵌入式設備總會遇到 • 滲透後主機提權要自己改 Exploit Code • Cryptography • Padding Oracle / Bit Flipping Attack / Length Extension Attack ...
– 人在江湖,身不由己 「Web 狗如何在險惡的 CTF 世界中存活?」
Web 狗額外優勢 • 網頁端的資訊洩漏 ( Flag ? ) • /server-status/
• /.git/ .DS_Store • 針對出題者的資訊蒐集? • 蒐集題目作者習慣 Code Snippet / Coding Style •還有哪些只有 Web 狗能做的事情?
結論
Q & A