Csrf phần 1

2
CSRF ph n 1: Nh ng hi u v bi t chung ế Ki n th c an ninh m ng ế Ki n th c c bn ế ơ Web Security April 17, 2014 1:05 am CSRF là gì? CSRF ( Cross Site Request Forgery) là k thu t t n công b ng cách s d ng quy n ch ng ĩ th c c a ng i s d ng i v i 1 website khác. Các ng d ng web ho t ng theo c ch nh n ườ đố ạ độ ơ ế các câu l nh HTTP t ng i s d ng, sau ó th c thi các câu l nh này. ườ đ Hacker s d ng ph ng pháp CSRF ươ l a trình duy t c a ng i dùng g i i các câu l nh để ừ ườ ửđ http n các ng d ng web. Trong tr ng h p phiên làm vi c c a ng i dùng ch a h t hi u l c thì đế ườ ườ ư ế các câu l nh trên s dc th c hi n v i quy n ch ng th c c a ng i s d ng. ườ CSRF còn dc g i là “ session riding “, “XSRF L ch s v t n công CSRF ềấ Các ki u t n công CSRF xu t hi n t nh ng n m 1990, tuy nhiên các cu c t n công này xu t phát ă t chính IP c a ng i s d ng nên log file c a các website k cho th y các d u hi u c a CSRF. Các ườ cu c t n công theo k thu t CSRF ĩ k dc báo cáo y , n n m 2007 m i có m t vài tài li u miêu đầ đủ đế ă t chi ti t v các tr ng h p t n công CSRF. ế ườ N m 2008 ng i ta phát hi n ra có kho ng ă ườ 18 tri u ng i s d ng ườ eBay Hàn Qu c m t các thông tin cá nhân c a mình. C ng trong n m 2008, m t s khách hàng t i ngân hàng Mexico b m t ũ ă tài kho n cá nhân c a mình.Trong 2 tr ng h p k trên hacker u s d ng k thu t t n công ườ đề ĩ CSRF. K ch b n t n công CSRF Ng i dùng ườ Alie duy t qua 1 di n àn yêu thích c a mình nh th ng l . M t ng i dùng đ ư ườ ườ khác, Bob ng t i 1 thông i p lên di n àn. Gi s r ng đă đệ đ Bob có ý k t t và anh ta mu n l y đồ ti n t nh ng ng i có tài kho n t i ngân hàng nh ườ ư Bob . Alie s t o 1 thông báo, trong ó có ẽạ đ chèn 1 o n code nh sau: đạ ư eBank v a công b lãi xu t m i….<img height=0 width=”0 src=”http://eBank.com/withdraw? account=bob_id&amount=1000000&for=Alie_ id”/> o n mã trên dc che gi u r t khéo léo, th nh t nó thêm các thông i p bình th ng ng i Đạ đệ ườ để ườ dùng không chú ý. Th hai th <img ” s d ng trong tr ng h p này có kích th c 0x0 pixel và ườ ướ ng i dùng s không th th y dc. Gi s ườ Alie v a m i truy c p vào tài kho n ngân hàng c a mình và ch a th c hi n logout k t thúc. Trình duy t c a ư để ế Bob s g i câu l nh HTTP GET n đế a ch l u trong th đị ỉư <img ” trong o n mã trên và nó s dc th c hi n b ng quy n ch ng th c đạ ca Bob. Trong d trên hacker th s d ng 1 URL khác, d: http://www.projectpage.com/admin/project/13/delete xóa i m t d án để đ quan tr ng nào ó đ Bob ang làm. M t chú ý là c n ph i có 1 chút k thu t v đ ĩ Social Engineering có th để bi t dc victim s d ng tài kho n ngân hàng nào, account c a d ch v nào và forum th ng hay ế ườ vào là gì. Xem thêm Social Engineering Ngoài th <img “, các th html có th s d ng k thu t trên có th là: ĩ 1. <iframe height=”0 width=”0 src=”http://eBank.com/withdraw? account=bob_id&amount=1000000&for=Alie_ id”/> 2. <link ref=”stylesheet” href=”http://eBank.com/withdraw? account=bob_id&amount=1000000&for=Alie_ id” type=”text/css”/>

Transcript of Csrf phần 1

Page 1: Csrf phần 1

CSRF ph n 1: Nh ng hi u v bi t chungầ ữ ể ề ế Ki n th c an ninh m ngế ứ ạ Ki n th c c b nế ứ ơ ả Web SecurityApril 17, 2014 1:05 am

CSRF là gì?

CSRF ( Cross Site Request Forgery) là k thu t t n công b ng cách s d ng quy n ch ngĩ ậ ấ ằ ử ụ ề ứ th c c a ng i s d ng i v i 1 website khác. Các ng d ng web ho t ng theo c ch nh nự ủ ườ ử ụ đố ớ ứ ụ ạ độ ơ ế ậ các câu l nhệ HTTP t ng i s d ng, sau ó th c thi các câu l nh này.ừ ườ ử ụ đ ự ệ

Hacker s d ng ph ng pháp CSRFử ụ ươ l a trình duy t c a ng i dùng g i i các câu l nhđể ừ ệ ủ ườ ử đ ệ http n các ng d ng web. Trong tr ng h p phiên làm vi c c a ng i dùng ch a h t hi u l c thìđế ứ ụ ườ ợ ệ ủ ườ ư ế ệ ự các câu l nh trên s dc th c hi n v i quy n ch ng th c c a ng i s d ng.ệ ẽ ự ệ ớ ề ứ ự ủ ườ ử ụ

CSRF còn dc g i là “ọ session riding“, “XSRF “

L ch s v t n công CSRFị ử ề ấ

Các ki u t n công CSRF xu t hi n t nh ng n m 1990, tuy nhiên các cu c t n công này xu t phátể ấ ấ ệ ừ ữ ă ộ ấ ấ t chính IP c a ng i s d ng nên log file c a các website k cho th y các d u hi u c a CSRF. Cácừ ủ ườ ử ụ ủ ấ ấ ệ ủ cu c t n công theo k thu t CSRFộ ấ ĩ ậ k dc báo cáo y , n n m 2007 m i có m t vài tài li u miêuđầ đủ đế ă ớ ộ ệ t chi ti t v các tr ng h p t n công CSRF.ả ế ề ườ ợ ấ

N m 2008 ng i ta phát hi n ra có kho ngă ườ ệ ả 18 tri uệ ng i s d ngườ ử ụ eBay Hàn Qu c m t cácở ố ấ thông tin cá nhân c a mình. C ng trong n m 2008, m t s khách hàng t i ngân hàng Mexico b m tủ ũ ă ộ ố ạ ị ấ tài kho n cá nhân c a mình.Trong 2 tr ng h p k trên hacker u s d ng k thu t t n côngả ủ ườ ợ ể đề ử ụ ĩ ậ ấ CSRF.

K ch b n t n công CSRFị ả ấ

Ng i dùngườ Alie duy t qua 1 di n àn yêu thích c a mình nh th ng l . M t ng i dùngệ ễ đ ủ ư ườ ệ ộ ườ khác, Bob ng t i 1 thông i p lên di n àn. Gi s r ngđă ả đ ệ ễ đ ả ử ằ Bob có ý k t t và anh ta mu n l yđồ ố ố ấ ti n t nh ng ng i có tài kho n t i ngân hàng nhề ừ ữ ườ ả ạ ư Bob. Alie s t o 1 thông báo, trong ó cóẽ ạ đ chèn 1 o n code nh sau:đ ạ ư

eBank v a công b lãi xu t m i….<img height=0 width=”0 src=”http://eBank.com/withdraw?ừ ố ấ ớ ″ ″account=bob_id&amount=1000000&for=Alie_ id”/>

o n mã trên dc che gi u r t khéo léo, th nh t nó thêm các thông i p bình th ng ng iĐ ạ ấ ấ ứ ấ đ ệ ườ để ườ dùng không chú ý. Th hai th “ứ ẻ <img” s d ng trong tr ng h p này có kích th c 0x0 pixel vàử ụ ườ ợ ướ ng i dùng s không th th y dc. Gi sườ ẽ ể ấ ả ử Alie v a m i truy c p vào tài kho n ngân hàng c aừ ớ ậ ả ủ mình và ch a th c hi n logout k t thúc. Trình duy t c aư ự ệ để ế ệ ủ Bob s g i câu l nhẽ ử ệ HTTP GET nđế

a ch l u trong th “đị ỉ ư ẻ <img” trong o n mã trên và nó s dc th c hi n b ng quy n ch ng th cđ ạ ẽ ự ệ ằ ề ứ ự c aủ Bob.

Trong ví d trên hacker có th s d ng 1 URL khác, víụ ể ử ụ d :ụ http://www.projectpage.com/admin/project/13/delete xóa i m t d ánđể đ ộ ự quan tr ng nào óọ đ mà Bob ang làm. M t chú ý là c n ph i có 1 chút k thu t vđ ộ ầ ả ĩ ậ ề Social Engineering có thđể ể bi t dc victim s d ng tài kho n ngân hàng nào, account c a d ch v nào và forum th ng hayế ử ụ ả ủ ị ụ ườ vào là gì. Xem thêm Social Engineering

Ngoài th “ẻ <img“, các th html có th s d ng k thu t trên có th là:ẻ ể ử ụ ĩ ậ ể

1. <iframe height=”0 width=”0 ″ ″src=”http://eBank.com/withdraw? account=bob_id&amount=1000000&for=Alie_ id”/>

2. <link ref=”stylesheet” href=”http://eBank.com/withdraw?account=bob_id&amount=1000000&for=Alie_ id” type=”text/css”/>

Page 2: Csrf phần 1

3. <bgsound src=”http://eBank.com/withdraw?account=bob_id&amount=1000000&for=Alie_ id”/>

4. <background src=”http://eBank.com/withdraw?account=bob_id&amount=1000000&for=Alie_ id”/>

5. <script type=”text/javascript” src=”http://eBank.com/withdraw?account=bob_id&amount=1000000&for=Alie_ id”/>

Các k thu tĩ ậ CSRF r t a d ng, l a ng i dùng click vào link, g i email ch a các o n mã c nấ đ ạ ừ ườ ử ứ đ ạ độ đế ng i dùng… Hacker còn có th che gi u các link trên r t khéo léo.ườ ể ấ ở ấ Ví d trong tr ng h p thụ ườ ợ ẻ “<img“, ng i dùng có th nh n ra n u vào ng link ch a trongườ ể ậ ế đườ ứ <ing src=”http://eBank.com/ withdraw?account=bob_id&amount=1000000&for=Alie_ id”/> Tuy nhiên, ng i dùng s r t có phátườ ẽ ấ hi n n u hacker dùng ng link nh sauệ ế đườ ư : <img height=”0 width=”0 src=”″ ″ http://www.ahackersite.com/abc.jpg”/> và c u hình l i máy ch :ấ ạ ủ Redirect 302/abc.jpg http://eBank.com/withdraw?account=bob_id&amount=1000000&for= Alie_ id”/>. Nh v y ng iư ậ ườ dùng s r t khó có th phát hi n, v n trách nhi m ph n l n thu c v các website c a các nhàẽ ấ để ể ệ ấ đề ệ ầ ớ ộ ề ủ cung c p.ấ

Trong bài t i tôi s gi i thi u ti p v i các b n các cách phòng tránh CSRF i v i ng i dùng vàớ ẽ ớ ệ ế ớ ạ để đố ớ ườ i v i ng i phát tri n website.đố ớ ườ ể