"Beware, Cookies!": Tips for Beginning Security Testers

Hi, my name is Vika Begencheva, I am a QA engineer at Redmadrobot. I'll tell you how cybercriminals steal our data, and what can be done to protect against this.





« » . , , , . , .





, , «» . , , .





cookie

, - ( ). . , ? : . ? , cookie.





Cookie — , . « », , .





, — cookie. , . Cookie (cookie-)  . .





Chrome «». Network , cookie:





"Habr" in Chrome
«» Chrome

() cookie:





Set-Cookie: fl=ru; expires=Fri, 25-Feb-2022 08:33:31 GMT; Max-Age=31536000; path=/







Google ( ): cookie fl=ru



(, , ) , — cookie. , . cookie. , , .





, , cookie session_id



— , .





, , ( , ) , cookie, , , . cookie , .





,

cookie , . , ?





-,  , cookie. , 2021 , . — .





-, , cookie httpOnly secure.





Cookie “secure” HTTPS. , SSL TLS. Cookie “httpOnly” JavaScript , cookie.





Chrome « » Application.





, LocalStorage « ».





.





HTTP HTTPS

« ». , . ?





HTTP — . HTTPS . HTTP HTTPS , — «Secure». — .





, HTTPS, TLS ( — SSL). , .





— - . , , «» . , .





HTTPS, «». SSL- .





, , . , , .





, :





  1. HTTPS, HTTP.





  2. http:// https:// http://, . https:// . .





  3. HSTS.





Brute force

, . “https:// […].com/admin”. . , «admin», , .





, . , , . brute force .





( / oauth2 ). , brute force , — .





:





  • ;





  • (, );





  • - n .





, , .





, . . , — .





, , , , , . , — . -, .





, - ? . — . , / . .





Access-token   . . , — , .





, , . — access-token.





. access-, – , . .





, . , — . , . access-, refresh-.





refresh- — access-. :





  • -;





  • «» ;





  • -;





  • -;





  • - ,   - ;





  • -.





! . ?





Access- refresh- – . , , — , .   .





, :





  • , Cookie LocalStorage;





  • , HTTPS;





  • , — ;





  • , , ;





  • ;





  • (/);





  • access-token .





(, ..), .





, . , , . « », — . , . , .





() ( ). — ( ).





. . — . — , — ( ).





, — . , — . 





, . , . , - .





, , /. :





  • 401 — / ;





  • 403 — , , .





, — , . , .





— . cookie, . . ?





, :





  • , cookie. – httpOnly ;





  • , , https.





:





  1. .





  2. , .





  3. .





  4. ( , ).





  5. , , .





. , , .





. 3 , 7 . . .





API:





  1. .





  2. .





  3. ( ).





  4. , / . , / http : “http://site.ru/page.php?login=testqa&password=12345678”.





. ,   :





  1. .





  2. ( «»).





  3. .





  4. .





, cookie. .





: « ». , , .





:  -  (Session-Timeout), .   - n .   - n . , - - .





, , .





, ( ). (, , ), . .





. — . — , SMS, (, Google Authenticator).





oAuth2. , oAuth2 — . , / Gmail.





Outline of an example of how oAuth2 works
oAuth2

SQL-

. , . . , .





, . . :





« ».





. . , , , , . ? SQL injection — . , — . SQL- — .





Infection scheme

, : ( ), , . ? HTTP, :





“http://some.site.ru/test/index.php?name=1′ UNION SELECT 1,2,3,4,5 —+ &password=1234”





, , , .





-, — , . , , — .





-, , , . , “Unknown column ‘4’ in ‘order clause’” , . 





, SQL-. , node-mysql node.js.





XSS

XSS “Cross-Site Scripting”. OWASP TOP-10. ,   JavaScript- : «» , . . , .





: ( ) cookie -.





, ( ) . , . ?





   . , «test».​





 ​ : 





\\ “test” :grin: /?.&&*@#$%^*;~` 你好你怎 <iNpUt type=“text” />.&%\ ’<b>t_e_st</b>’:sunglasses:<img src=x onerror=“alert(‘xss’)“/>
      
      



(, ) ( , ), . , . (, ) ( , ), . , .





— dev tools .





. . , .





, ! . . . , , . . !








All Articles