leesu0605 102

수학 - 자이스토리 1등급 고난도 스토리 191번

A191. 어느 고등학교 학생들을 대상으로 수학문제 A, B, C의 구매 여부에 대하여 조사한 결과가 다음과 같다. (가) A와 B를 모두 구매한 학생은 15명, B와 C를 모두 구매항 학생은 12명, C와 A를 모두 구매한 학생은 11명이다. (나) A와 B 중 적어도 하나를 구매한 학생은 55명, B와 C 중 적어도 하나를 구매한 학생은 54명, C와 A 중 적어도 하나를 구매한 학생은 51명이다. 수학 문제집 A를 구매한 학생의 수를 구하시오. (4.1점) 자이스토리 1등급 문제 치고 쉬운 문제였다. 일단 이 문제를 머리로 생각하며 풀긴 어려우니 벤다이어 그램을 통해 한눈에 보기 쉽게 나타내보았다. 이렇게 나타낸 상태에서 각 영역에 고유한 이름을 붙이고 보기의 (가) 조건을 이용해 수를 나타내보았다..

mathematics 2022.06.06

layer7 8차시 과제 - webhacking.kr 44번

· 이 페이지에 들어가보니 name이라는 사용자 입력칸이 있었고, 제출 버튼과 소스보기 버튼이 있었다. 아무 값이나 넣어서 제출해보니 'hello! {name}' 이런 식으로 출력되는 것 같았다. · 다음으로 소스보기에 들어가보니 내 생각이 맞았다는 것을 알 수 있었고, system()함수를 그 안에 필터링 없이 사용자 입력값을 넣어 실행하는 것으로 보아 command injection이라는 것을 알 수 있었다.

web hacking 2022.05.24

layer7 과제 - portswigger : Lab: SQL injection UNION attack, retrieving data from other tables

· 이 문제는 문제 이름에서 알 수 있듯이 UNION select 구문을 활용해 'administrator'라는 username 컬럼의 password를 users 테이블에서 가져오면 된다. · 또한 category에서 그런 취약점이 발생한다고 했으므로 처음엔 파라미터에 category변수를 넘겨주면서 그 내용을 'union select null .... from users where username='administrator'-- -'으로 정하고, 오류가 나지 않을 때까지 null의 개수를 늘려준다. · 오류가 나지 않는 컬럼의 개수를 찾아냈으면 그 중 password로 바꿨을 때 오류가 나지 않는 컬럼번호를 찾으면 administrator 계정의 비밀번호를 알아낼 수 있다.

web hacking 2022.05.22

layer7 과제 - webhacking.kr 42번

· 이 문제 사이트에 접속해보니 파일을 다운로드받을 수 있는 링크가 보이는 테이블이 화면에 출력됐는데, test.txt를 다운로드 해보니 별로 건질 내용이 없는 걸 보아하니 다운로드가 안 되는 flag.docx를 다운받아서 실행시키는 게 목적인 것 같다. · 일단 test.txt라도 다운받아서 열어봤지만, 별로 건질만한 내용이 없어서 그 다운로드 링크라도 메모장에 붙여넣어봤다. 그랬더니 맨 뒤에 파라미터로 down이라는 변수를 get방식으로 넘겨주고 있다는 사실을 알게 되었는데, 변수 내용이 'test.txt'가 아니라 암호화된 값이라서 당황했었다. 그러나 '='로 끝나는 암호는 대부분 base64로 인코딩 되어있다는 걸 알고 있었기 때문에 '이거라도 해보자'라는 마음으로 디코더에 올려봤다. 그랬더니....

web hacking 2022.05.22

layer7 과제 - webhacking.kr 28번

· 왠지 아닐 것 같았지만 일단 눈에 보이는 flag.php경로에 들어가보았다. flag.php경로에 들어갔다고 에러가 나진 않았지만, 화면에 아무것도 출력되지 않는 것을 보아, php파일이 실행되고 있는 것 같았다. 따라서 이 문제는 php 파일을 실행시키지 않고 읽어올 수 있는 방법을 찾는 문제라는 생각이 들었다. · 구글링을 하다보니 한 블로그를 발견했는데, 거기서는 특정폴더에서 php파일을 실행시키지 않게 하려면 .htaccess라는 파일을 하나 만들고, 거기 안에 php_value engine off라는 명령어를 넣어주면 php가 실행되지 않는다고 나와 있었다. · 그래서 그 방법대로 해보니 flag.php에 접속했을 때 코드가 실행되지 않았고, 코드 자체가 화면에 출력되었다.

web hacking 2022.05.22

layer7 과제 - 드림핵 csrf-2 라이트업

· 소스코드 분석 중 화면에 보이지 않는 경로(change_password)가 있음을 발견했고, 그 소스를 분석해봤더니 파라미터로 전달된 pw로 계정 비밀번호를 바꾸는 코드였다. · 따라서 /change_password?pw=$(원하는 비밀번호) 이런 식으로 url을 짜서 보내면 admin의 계정 비밀번호를 내가 원하는 대로 바꿀 수 있어, admin으로 로그인하면 문제를 해결할 수 있다.

web hacking 2022.05.16