ALL 61

Pylint & Pyreverse 설치

프로젝트 진행을 하기 위해 UML을 만들 일이 있었는데 이를 위해 참고할만한 툴 두개를 알 수 있었다. Pylint 와 Pyreverse. 툴 설명은 그냥 넘어가고 설치법만 기록용으로 남겨두자면 - python -m pip install pylint (만일 여기서 pyreverse 패키지가 같이 설치되지 않는다면, 아래 명령어를 마저 실행) - pip install -U pylint pyreverse 는 Graphviz를 이미지화시키는데 사용하기 때문에 같이 설치해줘야함. Graphviz 설치 다운로드 사이트에서 >> Environment: build_system=msbuild; Configuration: Release 이 버전으로 들어간 후, Artifacts에 zip 파일을 다운받아 아무데나 푼 후,..

Project/ML 2019.03.24

[50] Challenge 15

항상 그렇듯 문제를 클릭해본다.Access_Denied라고 써있는 메세지 박스가 띄워지고 OK를 누르면 순식간에 무슨 창이 떴다가 다시 Challenge 페이지로 넘어간다. 메세지 박스를 넘긴 뒤의 페이지를 다시 한번 살펴보면 의외로 친절하게 패스워드를 알려준다. 어, 근데 패스워드는 어디다가 입력하지? webhacking.kr의 문제를 풀면서 느낀 것 중 하나가 패스워드를 웹 안에서 넘길 방법이 없으면 조용히 Auth 창을 들어가보자는 것. 아무것도 없는 흰 창에 아까 봤던 패스워드를 치고 submit 으로 넘기면, 문제는 해결된다. 다른 문제들 중에서도 이 창을 사용하는 문제가 꽤 있으니 답은 찾았는데 어디로 넘기지? 싶으면 여기를 이용해보는 것도 하나의 방법이지 않을까..? p.s. 비밀번호 짓기 ..

[100] Challenge 14

14번입니다. 원래 다른거 하려고 했는데 문제 너무 더러워서 이거 먼저 하려구요. 바로 들어가봅시다. 첫 화면입니다. 그냥 아무것도 없이 입력 박스랑 check 버튼만 있네요 아무것도 입력하지 않고 체크버튼을 누르면 Wrong이 뜹니다. 우선 html 코드를 확인해봅시다. function ck() 안에 ul이란 변수로 패스워드 비교를 하는 구문이 있다. ul은 처음에 document.URL 으로 선언되어있는데, 이 HTML 문서의 URL을 뜻한다. 정확하게 알아보려면 아래 사진처럼 개발자창에서 콘솔에 document.URL을 치면 선언된 값을 출력해준다. 첫 선언 이후 ul.indexof(".kr") 명령이 호출되는데, indexof는 javascript 에서 해당하는 문자열의 시작 위치를 반환하는 함수..

Abexcm3.exe

시작하기 전:x32dbg로 진행했습니다. x64dbg는 실행파일 문제인지 디버깅이 되지 않음.당연히.... 32비트에서 굴러가는 실행파일을 64비트 전용 디버거로 돌리려 하면 돌아가겠습니까(...) F9로 엔트리 포인트 진입.첫번째 call 함수를 확인하기 위해 F8로 진행. 첫번째 call로 호출한 MessageBoxA 함수에 도달하면 위와 같은 메세지 창이 뜬다.다시 F9를 이용하여 createfileA 함수를 call 하는 곳 까지 이동한다.https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfileaHANDLE CreateFileA( LPCSTR lpFileName, DWORD dwDesiredAccess, D..

Write-Up/Reversing 2019.03.23

Abexcm1.exe

USER32.MessageBoxA 함수 호출.(USER32 dll에서 함수 호출)https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-messageboxint MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType); 사진에서 첫번째 PUSH의 0은 마지막 변수, 두번째 PUSH의 0은 맨 첫번째 변수. 좌측 하단에서 push 한 값들 스택으로 확인할 수 있음.F8로 한줄씩 실행, call 들어가서 프로그램이 실행 된 모습. KERNEL32.GetDriveTypeAhttps://docs.microsoft.com/en-us/windows/desktop/api/fil..

Write-Up/Reversing 2019.03.23