목록분류 전체보기 (186)
Iriton's log
문제 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 인접해 있어야 한다. 조별로 인원수가 같을 필요는 없다. 이렇게 나뉘어진 조들은 각자 단체 티셔츠를 맞추려고 한다. 조마다 티셔츠를 맞추는 비용은 조에서 가장 키가 큰 원생과 가장 키가 작은 원생의 키 차이만큼 든다. 최대한 비용을 아끼고 싶어 하는 태양이는 K개의 조에 대해 티셔츠 만드는 비용의 합을 최소로 하고 싶어한다. 태양이를 도와 최소의 비용을 구하자. 입력 입력의 첫 줄에는 유치원에 있는 원생의 수를 나타내는 자연수 N(1 ≤ N ≤ 300,000)과 나누려고 하는 조의 개수를 나타내는 자연수 K..
문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 10 이하의 자연수이다. 서로 다른 두 정점 사이에 여러 개의 간선이 존재할 수도 있음에 유의한다. 출력 ..
초기 화면은 위와 같다. flag.docx 를 다운받으려 하니 역시나... 권한이 부여되지 않았다고 한다. 그럼 test.txt라도 다운로드 받아 보자. 소스코드를 확인해 보니 test.txt의 하이퍼링크는 어떤 문구가 인코딩된 걸로 보이는 것으로 연결되어 있고 flag.docx는 애초부터 access denied 라는 경고문이 뜨게 되어 있다. 우선 디코딩 해서 어떤 문구인지 확인해 보자. ?down=dGVzdC50eHQ= 위의 문자열을 base64로 디코딩 했는데 위와 같은 결과가 나왔다. ?down=까지는 어떤 파일을 다운로드 하라는 거 같고 그 뒤의 문자열이 test.txt의 인코딩된 문자열 같다. 그럼 이 문자열을 flag.docx을 인코딩한 문자열로 바꿔서 실행하면 어떨까? 그럼 test.tx..
초기 화면은 위와 같다. 제출 버튼을 눌러보면 url에 id=admin으로 입력한 값이 뜨며, you are not admin이라는 문구가 뜬다. admin으로 접속이 되면 flag 값이 뜰 것 같다. 소스 코드에는 별다른 내용이 없었다. 혹시나 admin을 base64로 인코딩 한 값인 YWRtaW4= 으로 바꾸면 될까 싶었지만 그냥 로그인만 된다. 그래서 가장 기본적인 SQL Injection 공격을 시도했다. ?id=admin'-- 콜론으로 id 입력 코드를 임의로 끝내고 --으로 뒤의 코드를 무력화 시켜서 원래 로그인 조건에 맞지 않아도 admin으로 로그인 될 수 있게끔 하는 것이다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.