
안녕하십니까 코딩 파인애플입니다
이번 시간에는 XSS에 관해 알아보겠습니다.
XSS (Cross Site Scripting) 은 공격자가 취약한 웹사이트에 악성 자바스크립트 코드를 삽입하는 공격 기법입니다
만일 피해자가 해당 웹사이트에 방문하게 된다면 악성 스크립트 코드가 실행되어 쿠키나 세션 탈취 등의 피해가 발생됩니다
??? : 잠깐 Cross Site Scripting 이라면서 약자가 왜 XSS인?
뭐, 정석대로라면 CSS가 옳지만 이미 CSS라는 스타일시트 언어가 있기에 XSS라고 합니다 (Cross Site Scripting라 쓰고 XSS라 읽는다)
<?php
// 사용자가 URL 파라미터나 폼을 통해 'again' 값을 전달했다고 가정합니다.
$again = $_GET['name'];
?>
<!DOCTYPE html>
<html>
<head>
<title>ah_shit</title>
</head>
<body>
<h1>here we go<?php echo $again; ?></h1>
</body>
</html>
앞서 위 코드는 XSS공격에 취약한 공격입니다
만일 일반 사용자가 평범하게 'again' 값을 넣으면 이렇게 됩니다
<h1>here we go again</h1>
하지만 악성 사용자가 다음과 같은 XSS공격을 시도하면 코드가 맛이 갑니다
<h1>here we go
<script>alert('유치원생한테 다털렸죠');</script>
</h1>
여기서 script 태그의 alert() 함수로 인해 위에 '유치원생한테 다털렸죠' 알림이 뜹니다.
이것도 SQL INJECTION과 비슷하게 /h1태그가 나오기도 전에
먼저 선수를 치는 공격이라고 보시면 편합니다
이상으로 글을 마치겠습니다 감사합니다
