본문 바로가기

보안4

[AI 노동일지 2편 #7] 클라이언트에 API 키 넣으면 안 됩니다 — 보안 실수를 막은 규칙 빠른 구현의 유혹마감이 촉박하거나 빠르게 뭔가 돌아가는 걸 보고 싶을 때, 가장 빠른 방법은 프론트엔드 코드에 API 키를 직접 넣는 것이다. 한 줄이면 된다. 동작한다. 테스트도 통과한다.그리고 GitHub에 push하는 순간 전 세계에 공개된다.GitHub Pages는 퍼블릭 리포지토리다. 소스코드를 보는 사람이라면 누구든 키를 가져갈 수 있다. 자동으로 키를 스캔하는 봇도 있다. push하고 몇 분 안에 키가 수집되는 경우도 실제로 있다.실제 위험 시나리오각 키 유형별로 어떤 일이 생기는지 구체적으로 생각해봤다.OpenAI API 키가 노출되면 빌링 주소는 내 계정이다. 누군가 대량으로 요청을 날리면 하루 만에 수십만 원이 청구될 수 있다. Tistory 인증 토큰이 노출되면 블로그 관리자 권한으로.. 2026. 3. 7.
[본격 웹보안 Part 1.3] 폼 변조 공격이란? 안녕하세요 cocy입니다. 이번시간에는 폼 변조 공격에 대해 배워 보도록 하겠습니다. 지난시간에 sql injection을 방어하기위해 스크립트를 추가하여, '(single qutation) 문자를 발견하면 폼을 서브밋 하지 못하게 하였는데요, 폼 변조 공격을 하게되면 이를 무효화 시킬 수가 있게됩니다. 우선 lndex.jsp페이지를 실행시켜 우클릭후 소스보기를 합니다. 지금 하는 작업들은 사용자(공격자)의 입장에서 생각하셔야합니다. 그럼 소스가 보일텐데요, 전체선택(Ctrl + A) 후 소스를 카피(Ctrl+C)하여 메모장을 열고(실행 > notepad) 붙여넣기(Ctrl+V)합니다. 이후 소스를 수정합니다. 스크립트를 무효화 하기위해 모든 스크립트 구문을 삭제하고, form 태그 안에 action에 .. 2012. 9. 20.
[본격 웹보안 Part 1.2] SQL Injection이란 ? 안녕하세요 cocy입니다. 오늘은 대표적인 웹 10대 보안 취약점 중 하나인 SQL인젝션(SQL Injection) 에 대해 배워 보도록 하겠습니다. SQL은 데이터베이스의 쿼리언어라는 것을 짐작하실테고, injection의 뜻은 주입하다, 주사하다 정도의 뜻입니다. 이 의미는 바로 사용자가 데이터를 넣을 수 있도록 만든 필드에 악의적으로 sql쿼리를 망가뜨리거나 변조할 수 있는 구문을 삽입하여, 개발자가 원래 의도하지 않은 기능을 수행케 하거나, 데이터베이스를 조작하여 정보유출 등을 일으킬 수 있는 웹 해킹 공격 유형입니다. 설명보단 직접 실습하면서 이해하도록 하겠습니다. 지난시간에 만든 로그인 화면을 띄워주시기 바랍니다. 정상적이라면 회원 가입시 넣은 아이디와 패스워드를 입력하고, 메세지와 함께 로그.. 2012. 9. 19.
[본격 웹보안 Part 1.1] 웹 해킹도 로그인부터 안녕하세요 cocy입니다. 이번시간에는 웹에서 기본적으로 다루는 웹 보안에 대해 알아보도록 하겠습니다. 보안을 하시려면 만들어봐야 왜 뚫리는지 이해가 빠르시겠죠? 본격 게시판 part 1을 진행하고 오시기 바랍니다. 2012/06/13 - [Lecture/HTML] - [본격 게시판짜기 Part1.1 - 게시판도 HTML부터] 게시글 리스트 2012/06/13 - [Lecture/HTML] - [본격 게시판짜기 Part1.2 - 게시판도 HTML부터] 글입력폼 2012/06/13 - [Lecture/Javascript-기초] - [본격 게시판짜기 Part1.3 - Dom 맛보기 ] 글입력폼 검사 2012/06/13 - [Lecture/Jsp] - [본격 게시판짜기 Part1.4 - HTML-> JSP] .. 2012. 9. 19.