분류 전체보기27 13번 img recovery png 이미지 파일을 복구하여라 ! 근데 진짜 png 파일이 맞을까요?? 스테가노그레피 문제 아니고 포렌식 문제 뒤의 배경 사진 파일을 복구하여야 할 것 같다.. f12를 눌러 source란으로 가면 코드와 png 파일을 볼 수 있다. pattern.png파일을 다운로드 하였다. hxd로 png 파일을 열면 하단 부분에 textsoftware.japng r119 라는 문구를 볼 수 있다. 처음보는 japng를 구글링 해보면, https://ko.wikipedia.org/wiki/APNG japng파일은 java apng 파일이며, apng는 사진 여러장을 합쳐 애니메이션을 구현하는 형식의 파일이다. 그런데 호환하는 브라우저가 많지 않으며, 호환되지 않으면 첫번째 파일만 나오게 된다. 따라서 이 파일안에는.. 2019. 11. 5. 2번 cobolt 2번 cobolt 2019. 11. 4. 12번 type_confusion type-confusion 별다른게 없으니 소스를 보러 가겠다. function gen_key(){ $key = uniqid("welcome to wargame.kr!_", true); $key = sha1($key); return $key; } gen_key 함수를 선언하였다. key 변수에 php 내장함수인 uniqid 함수를 통해 (welcome to wargame.kr!_)+16진수의 23자리 id값을 저장하였다. uniqid함수는 기본형은 16진수 13자리, true를 붙히면 23자리의 랜덤한 고유 아이디값을 생성한다. ref-https://zetawiki.com/wiki/PHP_uniqid() 그리고 그 id값을 sha hash 한다. if (isset($_POST['json'])) { usl.. 2019. 11. 4. 1번 gremlin LOB와 비슷한 사이트이다. SQL문제만 50문제 가량 있는 유용한 사이트이다 https://los.rubiya.kr/ 1번 문제를 누르면 바로 코드가 나오며 http://wargame.kr/ 처럼 flag 방식이 아닌, 코드를 보고 만족시키면 바로 문제가 해결되는 방식이다. 2019. 11. 1. 11번 tmitter 어딘가에 admin으로 로그인 하여야 하는 것 같다.. 비밀번호 정보가 아예 없기 때문에 밑의 sign up admin 아이디로 로그인하여야 하는데 비밀번호 정보는 아예 없다. 기본적인 sql문을 넣어봤지만 로그인 우회 문제는 아닌 것 같고, 중복가입을 하는 방향을 생각했다. 회원가입창에서 f12를 누르면 폼 아이디 부분이 maxlength가 32로 되어있다. 이 부분을 33으로 바꾸어서 가입을 하면, 서버로 정보가 넘어갈 때는 32글자까지만 넘어가며 그 이후의 글자는 제거된다. admin부터 공백으로 32글자를 채우고 마지막 글자에 k를 입력, 비밀번호는 대충 7글자 채워넣었다. 가입한 아이디로 sign in 창으로 가서 로그인을 하면, 문제가 해결된다 ! 2019. 11. 1. 10번 md5_compare 그냥 서로 다른 값으로 비교만 하여라 value1과 value2가 같은 값이어야 하는 것 같다. 코드를 보면, v1값은 ctype_alpha, v2값은 is_numeric 값을 요구한다. ctype_alpha는 문자열이 모두 알파벳이어야 하며, is_numeric은 숫자여야한다. is_numeric은16진수(0x...)도 허용하는데, string값을 hex값(16진수)으로 바꿔 주입하는게 가능하여 sql injection과 비슷한 취약점이 있다고 한다. 가볍게 해보았지만 실패하였고, 문제를 다시보니 md5 해시를 한 값이 같아야 하기 때문에 다른 접근이 필요하다. md5 equal hash 구글링을 하여 QNKCDZO와 240610708의 md5값이 같게 나오는 버그를 볼 수 있었다. 이 두 값은 각각 .. 2019. 10. 31. 이전 1 2 3 4 5 다음