Wargame(Web)/Webhacking.kr Writeup
Webhacking Writeup old-02 문제
Webhacking Writeup old-02 문제입니다. 사이트에 접속하면 loggin만 출력될 뿐 아무반응이 없습니다. 해서 코드를 열어보면 주석으로 현재시간과 admin.php라는게 존재한다고 알려주고 있습니다. admin.php에 접속을 해보면 pw를 제출하는 input창이 존재합니다. 여러 방법을 시도했지만 방법이 안보여 다시 처음페이지로 돌아온 뒤 쿠키를 살펴봤습니다. 쿠키에는 time라는 이름으로 현재시간 값이 설정된것으로 보입니다. 여기서 막혔는데 쿠키값을 변조해보라는 지인의 힌트를 받았습니다. time을 1로 바꿔보면 시간의 초단위가 1로 바뀐것을 확인 할수 있었습니다. 0을 입력하게 되면 False가 되어서 인지 결과가 출력되지 않습니다. 결과값이 1이상의 숫자이기만 하면 가능한건지 s..
Webhacking Writeup alien golf문제
Webhacking alien golf문제입니다. LOS alien문제와 동일한 sandbox탈출 문제입니다. https://skysquirrel.tistory.com/132 (Lord of SQLInjection) alien 문제 (Lord of SQLInjection) alien 문제입니다. 먼저 제공되는 소스코드를 보면 쿼리가 두개 존재합니다. 그런데 GET으로 받는 건 no한번뿐이며 한번 입력한 no가 첫번째 쿼리와 두번째 쿼리에 사용되고 있습 skysquirrel.tistory.com LOS에서 풀었던 alien문제와 다르게 필터링은 admin과 if 만을 하고 있습니다. 이전 LOS에서 사용했던 코드를 그대로 사용해보면 payload가 너무 길어 nice try :) 가 출력됩니다. LOS와 ..
Webhacking Writeup 30번 문제
Webhacking.kr 30번 문제입니다. (28번과 비슷한 문제로 멘토님의 도움을 받았습니다.) 먼저 사이트에 접속해보면 28번과 비슷한 파일업로드 문제입니다. 다른점은 소스코드를 제공해준다는 점입니다. 먼저 소스코드를 살펴보면 mysqli_connect()로 DB에 연결합니다. 연결된 chall30 이름의 DB에서 chall30_answer 테이블에서 flag를 조회하는데 값이 존재한다면 include /flag를 이용해 flag값을 가져온다고 합니다. 일단 이전 28번처럼 PHP에서 SQL에 대한 설정을 .htaccess 파일로 수정하여 해결해야 합니다. 해서 관련 레퍼런스를 찾아보니 기본 default값 설정이 위와 같은 지시문과 null값으로 지정이 되어 있다고 합니다. 여기서 한번더 생각해야..
Webhacking Writeup 28번 문제
Webhacking Writeup 28번 문제입니다. (본 문제는 멘토님의 도움을 받아 해결하였습니다.) 문제사이트에 접속해보면 flag.php에 대한 링크를 주며 파일업로드를 flag.php와 동일한 디렉터리에 업로드가 가능하다고 합니다. 주어진 flag.php링크로 접속해보면 아무것도 없는 페이지가 출력됩니다. 멘토님은 대부분 워게임이나 CTF등의 문제는 php코드인 경우 위의 구조 처럼 flag를 주석처리하고 페이지를 구성하는 문제가 주를 이룬다고 합니다. 해서 이를 해결하기 위해서는 사용하는 서버가 무엇인지 확인하거나 명령어로 열어보는 등 여러 방면의 접근이 필요하다고 했습니다. 먼저 서버 확인을 위해 오류를 출력하는 방법은 많지만 이 문제 같은 경우 url을 잘못 입력하면 어떤 서버를 이용중인지..
Webhacking Writeup 35번 문제
Webhacking 35번 문제입니다. 제공되는 소스코드가 있으니 소스코드부터 살펴보겠습니다. 코드를 해석해보자면 GET방식으로 phone 와 id를 입력받고 있으며 phone에는 * / = select - # ; 가 필터링되고 있으며 GET방식으로 입력할 id는 5글자가 제한입니다. 또한 GET방식으로 id부분에는 admin이 필터링 걸려있습니다. 쿼리 부분을 살펴보면 chall35(id, ip, phone)에 values로 3개의 값을 입력받고 있습니다. 다음 구문을 살펴보면 id='admin' 이고 ip가 접속자의 IP와 같다면 문제가 해결된다고 합니다. 어디서 많이 본 values인데 이전에 wenhacking 8번을 풀때 삽질한 부분입니다. https://skysquirrel.tistory.co..
Webhacking Writeup 25번 문제
Webhacking 25번 문제입니다. 사이트에 접속해보면 php파일을 file=hello로 출력해주고 있습니다. 혹시나 싶어 file=flag를 입력해보면 FLAG is in the code 라고 출력해주고 있습니다. php파일을 불러오는 경우 기억나는 문제가 있었는데 G04T XXE 2번 문제입니다. https://skysquirrel.tistory.com/82 G04T war xxe 2 문제 — Squirrel Hack skysquirrel.tistory.com PHP를 그대로 출력하지 못할때 base64로 암호화시켜 출력하는 방식입니다. (더 자세히 설명하고 싶지만 작성자의 역량부족입니다) 위 코드에서 php://filter/convert.base64-encode/resource=index.php..
Webhacking Writeup baby 문제
Webhacking baby 문제입니다. 사이트에 접속하면 익숙한 화면입니다 이전 CHILD 문제와 비슷해보입니다. 비슷한 문제로 예상되어 CHILD 문제처럼 보호기법확인을 먼저 해보면 이번에도 보호기법이 걸려있습니다. 이전 google와는 다른것 같아 검색해보니 https://help.branch.io/ko/developers-hub/docs/implement-content-security-protocol-csp 콘텐츠 보안 프로토콜 (CSP) 구현 Background Branch takes customer’s privacy and security very seriously. The following document provides recommendations to enable our customers..
Webhacking Writeup 22번 문제
Webhacking 22번 문제입니다. admin으로 로그인에 성공하는게 미션이라고 합니다. 먼저 admin으로 로그인하는게 미션이라고 했으니 id부분에 admin pw 부분에는 1234로 입력해보겠습니다. Login Fail 이 출력되는데 만약 다른 출력결과가 있다면 블라인드 SQL 인젝션 공격이 가능하니 확인해보겠습니다. id는 admin이고 pw의 길이가 1이상일경우로 넣어 True를 출력되게 만들었습니다. 전달해보니 Login Fail 이 아니라 Wrong password 가 출력되었습니다. 블라인드 SQL 인젝션 공격이 가능한것을 확인했으니 파이썬코드로 구성해보겠습니다. URL로 값이 전달되지 않는 POST방식이라 아래 글과 직접 이전 Los 워게임을 해결할때 사용한 블라인드 SQL인젝션 코드를..