XXE Injection (Basic Concept & Real World Case)
ยท
๐Ÿ–Œ๏ธ Theory/WEB
What is XML(eXtensible Markup Language)?XML์€ ๋ฐ์ดํ„ฐ ์ €์žฅ๊ณผ ์ „์†ก์— ์ดˆ์ ์„ ๋‘” ์–ธ์–ด์ด๋‹ค. ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ์™€ ๋ฌธ์„œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ „์†ก & ์ €์žฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๋ฏธ๋ฆฌ ์ •์˜๋œ ํƒœ๊ทธ ์™ธ์—๋„ ์ž„์˜๋กœ ํƒœ๊ทธ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.[ ์ข…๋ฅ˜ ][ XML DTD ]XML DTD(Docuemtn Type Definition)์„ ์‚ฌ์šฉํ•ด ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ฌธ์„œ ๊ตฌ์กฐ์— ๋Œ€ํ•ด XML ๋ฌธ์„œ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ]>์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ DTD๋Š” ELEMENT ํƒ€์ž… ์„ ์–ธ๊ณผ ํ•จ๊ป˜ root์ธ email์„ ์„ ์–ธํ•˜๊ณ  child ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.์ดํ›„ child ์š”์†Œ๋“ค์ด ์ •์˜๋œ๋‹ค. child ์š”์†Œ๋Š” ๋ณธ์ธ์˜ child ์š”์†Œ๋ฅผ ๋˜ ๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๊ณ , ์›์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•  ์ˆ˜๋„ ์žˆ๋‹ค. D..
Cache Poisoning Attack
ยท
๐Ÿ–Œ๏ธ Theory/WEB
Basic of Caching Cache๋ž€ Web Server์™€ User ์‚ฌ์ด์— ์œ„์น˜ํ•˜์—ฌ Web Service๊ฐ„์˜ ํ†ต์‹ ์„ ํšจ์œจ์ ์œผ๋กœ ๋„์™€์ค€๋‹ค. Web Server์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด Cache์— ๋ฏธ๋ฆฌ ์ €์žฅํ•ด๋‘๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„ ํ–ฅ์ƒ์„ ํ† ์™€์ฃผ๋Š” ๊ฒƒ์„ Caching์ด๋ผ ํ•œ๋‹ค. Web Server ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Browser์—๋„ Cache๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์›น ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ Loadํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ PC์— ์ด๋ฏธ์ง€, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. User๊ฐ€ Cache ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘” Website์— ์ ‘๊ทผ ์‹œ, ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒŒ ์•„๋‹Œ, ๋กœ์ปฌ PC์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ Loadํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„ ์ธก๋ฉด์—์„œ ๋น ๋ฅด๋‹ค. (๋Œ€ํ‘œ์ ์ธ Cache๋ฅผ ์ด์šฉํ•˜๋Š” ์„œ๋น„์Šค๋กœ๋Š” CDN์ด ์žˆ๋‹ค.) Ex..
PHP HEAD Method Trick (GDG Algiers CTF 2022)
ยท
๐Ÿ–Œ๏ธ Theory/WEB
While playing CTF, I found a interesting idea so I note in here. โ— ezphp(fixed) You can find a hint to solve this problem in Header. When you enter the site, you can find response header like this. The point is the version of PHP. PHP 5.3.x Version has "HEAD Method Trick" vulnerability. To solve this challenge, you must use "HEAD" method to bypass code "$_SESSION["admin"]=0;". That is to say you..
Advanced Tips For SSRF Attack
ยท
๐Ÿ–Œ๏ธ Theory/WEB
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
Small Tip
ยท
๐Ÿ–Œ๏ธ Theory/WEB
When running docker with apache, tomcat etc.. must run with command "-D FOREGROUND"
Mass Assignment Vulnerability
ยท
๐Ÿ–Œ๏ธ Theory/WEB
What is 'Mass Assignment Vulnerbility'? ๊ฐœ๋ฐœ์ž๊ฐ€ ํšจ์œจ์ ์ธ ์ž‘์—…์„ ์œ„ํ•ด Parameter๊ฐ€ HTTP Request ์š”์ฒญ๊ณผ binding ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ—ˆ์šฉํ•œ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. 'Mass Assignment Vulnerability'๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ž๋™์œผ๋กœ binding๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฒฉ์ž๊ฐ€ ์„œ๋ฒ„ ์ธก์˜ ํ•ญ๋ชฉ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ณ„์ •์˜ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ ๋ถ€์—ฌ, ์ ‘๊ทผ ์ œ์–ด ๊ณต๊ฒฉ ๋“ฑ์„ Triggerํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ Spring์˜ Auto Binding, ASP.NET์˜ Object Injection์ด ์žˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด Parameter๋ฅผ Whitelist ๋ฐฉ์‹์„ ์ด์šฉํ•ด ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. Example of ..
SOP & CORS
ยท
๐Ÿ–Œ๏ธ Theory/WEB
What is SOP(Same Origin Policy)? HTTP ์š”์ฒญ์—์„œ ๊ฐ€์ ธ์˜จ ์•…์˜์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๊ฒŒ ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ Origin ๊ตฌ๋ถ„ : Protocol, Port, Host https://same-origin.com ์ฃผ์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ Same Origin, Cross Origin ํŒ๋‹จ ์˜ˆ์‹œ URL ๊ฒฐ๊ณผ ์ด์œ  https://same-origin.com/frame.html Same Origin Path๋งŒ ๋‹ค๋ฆ„ http://same-origin.com/frame.html Cross Origin Scheme์ด ๋‹ค๋ฆ„ https://cross.same-origin.com/frame.html Cross Origin Host๊ฐ€ ๋‹ค๋ฆ„ https://same-origin.com:1234/ Cross O..
CSP ( Content Security Policy )
ยท
๐Ÿ–Œ๏ธ Theory/WEB
What is CSP? XSS, ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ๋“ฑ์˜ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ๊ณต๊ฒฉ์„ ๋ณด๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๋ณด์•ˆ ๊ณ„์ธต ( XSS์™€ CSP๊ฐ€ ๋ณ‘ํ–‰๋˜์–ด์•ผ ํ•จ ) Basic policy of CSP 1. Inline-code๋ฅผ ์œ ํ•ดํ•˜๋‹ค๊ณ  ๊ฐ„์ฃผ Inline-code๋ž€ ํƒœ๊ทธ์˜ src ์†์„ฑ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‚ฝ์ž…ํ•˜๋Š” ์ฝ”๋“œ๋“ค์„ ๋œปํ•œ๋‹ค. ex) ๋˜ํ•œ on* ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ, javascript: ์Šคํ‚ค๋งˆ๊นŒ์ง€ ํฌํ•จ๋œ๋‹ค. 2. ํ…์ŠคํŠธ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅด ๋ณ€ํ™˜ํ•˜๋Š” ๋งค์ปค๋‹ˆ์ฆ˜์„ ์œ ํ•ดํ•˜๋‹ค๊ณ  ๊ฐ„์ฃผ ex) eval() , settimeout(), new Function() ๋“ฑ ์ง€์‹œ๋ฌธ. ์„ค๋ช… default-src -src๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์˜ ๊ธฐ๋ณธ ๋™์ž‘์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ CSP ๊ตฌ๋ฌธ ๋‚ด์—์„œ ์ง€์ •ํ•˜์ง€ ์•Š์€ ..