본문 바로가기

전체 글315

[웹보안] Enviroment Variables & Attacks Enviroment Variables & AttacksEnviroment Variables환경변수운영체제가 실행중인 프로세스의 환경을 정의하는 동적 변수의 집합예를들어 PATH 변수에서 쉘이 명확한 경로를 받지 못했을 때 여기서 찾는다.환경변수에 접근하는 법이렇게 메인문에서 접근도 가능하지만전역변수로 선언하는 것이 더 권장된다.프로세스가 환경변수 얻는 법프로세스는 두가지 방법으로 얻을 수 있다fork()위 명령어를 실행하면 새로운 자식프로세스가 생성된다.이 때 부모의 환경변수를 상속받는다.execve()이건 현재 실행중인 프로세스를 완전히 덮어쓰기 하는 것이다.이 때 기존 환경변수..는 다 날아가고 새롭게 들어온다.이 때 envp[]부분에 환경변수가 들어오게 된다./user/bin/env는 현재 환경변수.. 2025. 6. 2.
[웹보안] SQL Injection Attack SQL Injection Attacksql 로그인-p 다음에 비번 입력DB 만들기show database 하면 원래 데이터베이스 보여야함없으니까 create database로 만든다.그 다음 해당 데이터베이스에 접속하고, 테이블을 만든다.DESCRIBE문으로 테이블의 기본 정보를 확인할 수 있다.INSERT INTO 문으로 요소들을 넣을 수 있따.이떄 id는 자동생성되므로 우리가 따로 만질 필요는 없다.select 문으로 테이블 요소들을 확인할 수 있다.where 절where절에 있는 문이 true인 요소들만 반영한다.and나 or을 쓸 수 있다위와 같이 항상 참인 것을 넣을 경우, 모든 요소가 해당되어 출력되게 된다.위의 where 절을 활용해서 원하는 요소의 정보를 수정할수도 있다.한 줄을 주석처리하.. 2025. 6. 2.
[프로그래머스 JAVA] 기능개발 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr알고리즘 고득점 키트 풀고있는데어떤 자료구조를 사용해야하는지 나와있으니까 자꾸 생각을 자유롭게 못해서 더 어려운 길을 가는 것 같다.. progresses는 현재 진행률을 의미하고, speeds는 하루에 진행 가능한 양을 의미한다.뒷 순서에 있는 작업이 끝났더라도 앞 순서의 작업이 끝나지 않았으면 배포할 수 없다. 이 문제는 각 배포마다 몇개의 작업이 배포되는지를 배열로 리턴하는 문제이다. 나는 progresses와 speeds를 사용하여 각 작.. 2025. 5. 15.
[프로그래머스 java] 전화번호 목록 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr위와 같이 전화번호 목록이 주어지고, 특정 요소가 특정 요소의 접두사(114와 114545와 같이)가 되는 경우가 있는지를 조사하고있으면 false를 없으면 true를 반환한다. 처음에 이 문제가 해시에 들어가있어서 대체 왜 이게 해시문제이지 했는데해시셋 안에 특정 요소가 있는지를 검사하기 위해서 해시를 쓰는 것이었다. import java.io.*;import java.util.*;class Solution { public boolean .. 2025. 5. 15.
[프로그래머스 JAVA] 완주하지 못한 선수 최근에 개발하느라 코테 공부를 진짜 안했다반성중..스프링으로 개발 계속 했으니까 잘하겠지 했는데 걍 아님.. 자동완성에 길들여져서 메서드 외운게 다 날아간거같다 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이런식으로 참가자와 완주자가 있고, 참가자 중 완주를 하지 못한 사람을 찾는 문제이다.처음에는 해시맵에 넣고 일치하지 않는거 빼면 되겠네 했는데중복이 있다고 한다(문제를 잘 읽자) 그래서 해시맵에다가 각 이름과 갯수를 넣고, 완주자를 순회하면서 갯수(value)의 수를 하나씩 줄여나가도록.. 2025. 5. 15.
[웹보안] XSS XSS는 공격자가 자신의 코드를 피해자의 브라우저에 주입한다.이 코드는 대상 웹사이트에서 온다.웹사이트에서 온 코드는 믿을만하다고 여겨져 페이지를 바꾸고, 쿠키를 읽고, 요청을 보내는 것이 가능해진다.csrf - 서버를 공격xss - 브라우저를 공격Non-persistent XSS Attack웹사이트는 유저의 input이 그대로 웹사이트에 반영되어 실행되는 공격이다.이런 취약한 사이트가 있다그럼 공격자는 피해자에게이 링크를 클릭하게 한다. 피해자가 이 링크를 클릭하면 get요청이 웹 서버에 전달되고, 이 값이 반영된 페이지를 내놓게 된다. 그러면 이 자바스크립트가 피해자의 브라우저에 뜨게 된다.Persistent(Stored) XSS Attack이는 공격자가 직접 서버를 공격하여 persistent st.. 2025. 4. 28.