22.01.23 Chess.com에 올라오는 Daily Puzzle 입니다. 백이 다음에 둘 최선의 수를 두는 퍼즐입니다. 현재 상황에서 둘수 있는 괜찮은 수들 을 본다면 - e5나이트를 이용해서 d7에 킹 루크 포크 - g6에 있는 공짜 비숍 잡기 - c6에 있는 폰을 먹으면서 체크를 할 수 는 있지만 흑의 퀸에게 나이트를 잃게 되므로 제외 - b1칸을 이용해서 체크를 만들고 킹을 이동 시키기 등이 있는데 킹이 지켜지지 않고 다른 기물들도 쉽게 지킬 수 있는 위치에 없기 때문에 b1 룩 체크를 선택 했습니다. 체크메이트까지 나올 수 있는 공격적인 위치에 기물들이 존재했기 떄문. 그렇게 수를 두고 나면 나이트가 c6에 들어가기만 한다면 체크메이트로 게임이 끝나기때문에 c6폰을 지키는 퀸을 강제로 다른 곳으로 옮겨야 해서.. 2539번: 모자이크 2022.01.23 문제 출처: https://www.acmicpc.net/problem/2539 문제 분석: 잘못 칠해진 칸들의 좌표들을 정해줬을 때 이를 덮을 수 있는 정사각형 색종이의 가장 작은 크기를 구하는것. 사용할 정사각형의 색종이의 개수는 정해져 있다. 문제 해결: 문제에서 주어지는 예시 처럼 3cm 정사각형 색종이 4개로 덮을 수 있다. 그렇다면 4cm 정사각형 색종이 4개로도 덮을 수 있다. 즉, 답보다 큰 색종이들로는 모두 조건을 만족 하고, 정답보다 작은 크기의 색종이를 걸러내는 이분탐색을 사용하면 답에 한없이 가까워 질 수 있는 것이다. 이 때, 걸러내는 부분에서는 첫 잘못 칠해진 칸 기준으로 색종이를 점점 늘려갔을때 제한된 색종이 개수보다 많이 들면 false를 return 하는 .. [Wargame]file-download-1(web) flag.py를 다운로드 하면 되는 문제이다. 먼저 사이트를 둘러 보았다. 메모에 내용을 Upload 하니 Home에서 업로드 한것을 볼 수 있다. Filename을 저렇게 하여 Upload를 한다면? 오류를 내뱉는다. 코드를 보니 ..을 필터링 하는것을 알 수 있었다. 업로드 한것을 읽어오는 함수를 보면 name에 들어가는 매개변수를 따로 필터링 하지 않는 것을 알 수 있다. 따라서 주소를 위와 같이 변경하여 해답 Flag를 얻을 수 있었다. 고찰 : 웹은 아직 미숙하여 다루는데 어려운것 같다. 2437번: 저울 2022.01.23 문제 출처: https://www.acmicpc.net/problem/2437 문제 분석: 입력받은 무게의 추들로 만들 수 없는 최소 양의정수 구하기 문제 해결: "N의 무게를 만들 수 있을때 N + arr[i] 이하는 모두 만들 수 있다." N의 무게를 만들 수 있다 : 0~N까지 추로 만들 수 있다. arr[i] ~ arr[i] + N 이 가능하다 이기때문에 위의 식이 성립한다. 즉, N >= a[i] 일때 N + arr[i] 까지 모두 만들 수 있다. 내 소스코드: using namespace std; const int INF = 987654321; int main() { int N; int arr[1002]; scanf("%d", &N); for (int i = 0; i < N.. Italian Game e4 오프닝 중에서 루이로페즈 만큼 인기 있고 많이 사용 하는 이탈리안 게임에 대해서 공부해 보았다. 이탈리안 게임은 e4 e5로 대치되고 양쪽 나이트가 나온후 비숍 c4로 게임을 시작하는 오프닝이다. 크게 3가지 - Giuoco Piano - Two Knight Defence - Hungarian Defence 루트로 진행된다. 가장 많이 본 것은 Giuoco Piano로 진행되는 것이다. 상대가 백과 같이 약점폰인 F2, F7 킹앞 폰을 노리면서 백과 동등한 포지션을 맞추면서 시작하는 것이 GiuocoPiano 이다 백은 선수의 이득을 보기 위해서 중앙을 먼저 차지하고자 한다. c3폰을 밀었을때 흑의 나이트가 나와 e4 폰을 압박 하기 때문에 d3로 폰을 밀어 수비하고 양측이 캐슬링 하며 진행 되는 .. 정보 수집 F12 개발자 도구 및 BurpSuite를 이용하면 응답메세지의 서버헤더 부분으로 정보를 얻을수있다. PHP언어로 개발 될 경우 phpinfo.php로 환경변수, 환경 등을 알 수 있다. nikto 라는 웹 스캐닝 프로그램으로 여러정보를 수집가능하다. ex) nikto -host ~~ 보안헤더가 설정되지 않았고 디렉토리 인덱싱이 발견되었다. 디렉토리 인덱싱 : 웹 서버 디렉토리의 파일들이 노출되는 취약점 지정된 파일들이 디렉토리에 존재하지 않으면 해당 디렉토리의 모든 파일이 출력 되는 문제 웹 애플리케이션 매핑 BurpSuite을 이용하여 어떤 정보가 주고 받는지를 확인 Dirbuster프로그램을 이용하여 폴더를 매핑 할수 있음 robots.txt (웹 로봇을 이용하여 웹사이트 정보 수집할 때 명령) 정.. Burp Suite 기능 책의 순서를 따라서 칼리리눅스로 가상환경을 구축했고 Burp Suite의 기능을 살펴 보고있다. (최신 버전의 칼리 리눅스를 쓰려다 잘 안돼서 17버전으로 변경했다.) 프로그램 기능은 HTTP 요청을 Intercept 해서 분석하는 듯하다. 타겟 맵들의 URL 구조를 파악할 수 있다. 스코프에 추가된 항목에 대한 정보만 계속해서 수집한다. 웹브라우저와 웹 서버가 주고받은 HTTP요청 메세지와 응답메시지를 변경 가능하다. 스파이더는 자동으로 크롤링을 수행하는 기능이다. 자동으로 여러개의 요청을 보낸다. 브루트포스 공격을 쓸때 사용해봤다. 수동으로 메세지를 조작하며 반복 테스트를 하기 위한 기능이다. 그외에도 문자열을 인코딩, 디코딩 하거나 요청을 비교하는 등의 기능을 가지고있는 BurpSuite이다. Lena's Reversing Tutorial 3 2019.01.07. 먼저 실행파일에 대해 알아 보았다. 여기서 nag란 현재 띄워져 있는 확인을 누르는 창을 나오지 않게 하는것이다. 올리디버거로 프로그램을 열어보니 GetModuleHandleA를 실행한다.이를 구글에 검색해보니 이 프로그램의 현재 주소를 가져온다고한다.그래서 사진을 보면 EAX에 0040000이 저장되어있고이후에 CMP EAX, 0 0과 비교해서 nag창이 나오게 하는것이다. nag창이 안나오게 하는 방법은 Nope처리하거나 그 부분을 건너뛰거나하는 등의 여러가지 방법이 있을 수 있지만이번에는 PE구조에 대해서 공부하고 이를 활용해 보았다. PE구조에 관한 내용은 복잡하고 많아 기록할수 없었고 따로 기록해야겠다. 다음을 보면 시작하는 부분이 401000부터라는 것을 알 수 있다. 그.. 이전 1 ··· 36 37 38 39 40 41 42 다음