$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cookie Theft and Session Hijacking
Search
shawn0102
August 16, 2014
Programming
0
920
Cookie Theft and Session Hijacking
shawn0102
August 16, 2014
Tweet
Share
More Decks by shawn0102
See All by shawn0102
Cookie Theft and Session Hijacking
shawn0102
2
120
Generators in ES6
shawn0102
2
140
Other Decks in Programming
See All in Programming
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
250
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
410
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
440
FluorTracer / RayTracingCamp11
kugimasa
0
250
AIコーディングエージェント(Gemini)
kondai24
0
260
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
570
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
150
開発に寄りそう自動テストの実現
goyoki
2
1.4k
Python札幌 LT資料
t3tra
6
1k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
530
AIエージェントの設計で注意するべきポイント6選
har1101
5
2k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
51
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The SEO Collaboration Effect
kristinabergwall1
0
300
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
15
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
My Coaching Mixtape
mlcsv
0
13
Transcript
Cookie Theft & Session Hijacking 邵帅 twitter@shawn0102 weibo@shaoshuai0102 http://shaoshuai.me
None
cookie有关的术语 • session cookie • persistent cookie/tracking cookie • secure
cookie • httpOnly cookie • third-party cookie • supercookie • zombie cookie/evercookie
httponly cookie 被声明为httponly的cookie只有在 执⾏行http/https请求时会带上,在js中⽆无 法获取到 Set-Cookie: JSESSIONID=xx88bss008; Domain=.foo.com; Path=/; HttpOnly
secure cookie 被声明为secure的cookie只有在使 ⽤用https时会加密传输,不会在http请求 中传输 Set-Cookie: JSESSIONID=xx88bss008; Domain=.foo.com; Path=/; Secure
cookie的⽤用途 • session管理! • 个性化 • user tracking
session cookie被窃取 的危害演⽰示
“怎么偷⾛走session cookie?”
利⽤用xss漏洞获取cookie
我把session cookie设置为httpOnly,xss漏洞就 ⽆无法拿到session cookie了吧?
如果是php,如果开放了phpinfo权限,攻击就可 ⾏行了:xss发起异步请求,分析response拿到 httpOnly的cookie
设置httpOnly,关闭phpinfo,还有办法吗
XST!
XST • XST = Cross Site Tracing = XSS +
http trace • http trace是让我们的web服务器将客户端的所有请求信 息返回给客户端的⽅方法。其中包含了httpOnly的 cookie。 • 最佳实践是关闭服务器的trace功能。 • 但是当使⽤用代理的时候,代理可以被配置成⽀支持trace, 从⽽而⼜又可以进⾏行xst攻击了,所以代理要慎⽤用! • 还好现代浏览器禁⽤用了异步发送trace请求的功能。
设置httpOnly,关闭phpinfo,关闭trace⽀支持,⽤用 户使⽤用的是现代浏览器,还有办法偷⾛走session吗
以上⽅方式只防⽌止通过浏览器拿到 session cookie,但是可以通过拿 到实际的⺴⽹网络请求,所有cookie都 ⽆无法隐藏!
⽅方式⼀一⺴⽹网络监听(network eavsdropping) • 只要是未使⽤用https加密的⺴⽹网站都可以抓包 分析,其中包含session cookie • 未保护的wifi,对同⼀一⺴⽹网络下的请求进⾏行 监听 •
⼯工具firesheep http://codebutler.com/ firesheep/
⽅方式⼆二 DNS缓存投毒 • 把要攻击的域名的⼀一个⼦子域映射到攻击者 的server,然后想办法让被攻击者访问这 个server,请求中会带过来所有cookie (包括httpOnly)
⽅方式三 中间⼈人攻击 • 搭建免费wifi,把DHCP服务器指定为攻击 者ip,在攻击者机器上可以收到所有请 求,不仅可以获取session cookie,还可 以进⾏行脚本注⼊入 • 未使⽤用https才可以
⽅方式四 代理服务器/VPN等 • 翻墙⽤用免费VPN?⼩小⼼心你的session cookie
使⽤用https协议,是不是中间⼈人就⽆无法攻击了
如果同时⽀支持http和https,那么 还是可以使⽤用⺴⽹网络监听http请求获 取session cookie
只⽀支持https,不⽀支持http
如果输⼊入example.com发起请 求,会有⼀一次301重定向,这次请 求是http的,也会带上cookie!
把 session cookie设置成secure,只允 许在https上加密传输
其他cookie(⾮非secure)在这次301 请求中还是可以拿到,就看有没 有有⽤用信息了
设置header Strict-Transport- Security,直接省略这个http请求! http://www.wooyun.org/bugs/wooyun-2010-0498 36b625b1c47b40b270c6a390a0fb9525
现实 • ⼀一个https的⺴⽹网站,有某些⼦子域名使⽤用http提供服 务,通常为了统⼀一session,会不设置session cookie为secure,可以通过中间⼈人攻击劫持 session。
如果偷取cookie失败,⽆无 法session劫持,攻击者 如何再发起攻击?
劫持session的⺫⽬目的是拿到登录态,从⽽而获得服务器授权做很多 请求,例如账户变更。如果劫持不到session,也能够做授权请 求不是也达到攻击的⺫⽬目的了? ! ⽆无需拿到session cookie,跨站发起请求就可以了,这就是 CSRF! ! server通过把⽤用户凭证存储在cookie以维持session,http/https 协议每次访问都会⾃自动传输cookie,协议上的缺陷是导致可进⾏行
CSRF攻击的根本原因! ! 防御⽅方式:使⽤用anti-forgery token ! CSRF
“⼤大部分攻击都是提权⾏行为,最基本的提权通过偷 取⽤用户名密码,不成功转⽽而窃取session,窃取不 成转⽽而跨站攻击,实在不⾏行重放也可以造成危害” 总结
谢谢