
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 50번 문제이다. sql injection 문제이다. webhacking.kr에서는 sql injection 문제를 많고 다양하게 다뤄줘서 좋다. 소스코드를 보자. id, pw를 addslashes 해주며, id를 euc-kr에서 utf-8로 인코딩해준다. 새로운 함수 1. foreach($_GET as $ck) // $_GET을 가져와서 ck에 변수로 하나씩 저장한다. 그리고 ck에서 from, pw (, ), 공백, %, =, 를 대소문자 구분하지 않고 필터링한다. 또한 id 값에서 union을 필터링한다. lv가 3인 값을 띄우면 문제는 해결된다. 한번 풀어보자. 그냥 제출을 누른 상태이다. guest id의 lv은 1이..

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 49번 문제이다. 46번 문제랑 생긴 게 똑같다. 소스코드를 보자. select, or, and, (, ), limit,., order, cash, , \t, ', "을 대소문자 구분하지 않고 필터링한다. 결괏값이 admin이면 문제가 해결된다. 음? 46번이랑 다를 게 없는 거 같은데.. ㅋㅋㅋㅋ 바로 풀어버렸다. 쿼리 : ?lv=0||id=0b0110000101100100011011010110100101101110 admin을 2진수로 변환 후 조건으로 주면 문제는 해결된다. 문제 해결 시행착오 1. 없다

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 48번 문제이다. 무언가의 사진, 아이디, 시간 등이 있으며 텍스트 박스와 파일을 업로드할 수 있는 칸이 보인다. 일단 아무거나 한번 올려보자. 필자의 id와 업로드 시간이 올라가며 올린 파일을 다운로드할 수 있는 하이퍼 링크와 지울 수 있는 버튼이 생겼다. upload 버튼을 누르면 올린 파일을 다시 다운로드할 수 있다. Delete를 눌러보자. file deleted. 가 뜨며 뒤로갈 수 있는 하이퍼링크가 생겼다. 링크를 눌렀더니 다시 원래 화면으로 돌아왔다. 이 문제의 유형은 OS command injection 공격이라 한다. 리눅스에서는 명령어를 사용할 때 ;와 &&로 추가 명령어를 입력할 수 있다. 1. A ; B ..

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 47번 문제이다. 문제 풀기에 앞서 이번 문제는 여러 가지 시도를 했지만 도무지 감이 잡히지 않아 검색하였다. 그 결과, 내 컴퓨터에서는 정상적으로 문제 화면이 보이질 않았다.. 문제를 풀기 위한 조건이 제대로 갖추어지지 않은 상태로 문제를 풀려하니 감도 안 잡힐 수밖에.. 물론 mail injection을 아는 사람이라면 추측할 수 있었겠지만.. 이번엔 문제를 푸는 방법을 포스팅하겠다. send 버튼을 눌렀을 때 보이는 화면이다. 기존에는 Mail has been sent가 나오기 전 메일의 헤더 부분이 나와야 하지만, 어째서인지 나의 컴퓨터에선 나오지 않는다. 이 문제는 mail header injection 문제다. 메일..

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 이전 문제를 풀고 자려했는데, 다음 문제는 뭘까 궁금해하다가 풀어버려서 포스팅한다. 46번 문제이다. sql injection 문제이다. 역시 반갑다. 항상 sql injection은 나에게 문제를 풀 힘을 보충해준다. 일단 소스코드부터 보자. 복잡해서 내일로 미룰뻔했지만 자세히 보니 별거 아니다. lv의 값을 get방식 파라미터로 입력받는다. 공백, /, *, %을 제거하며, select, 0x, limit, cash 등을 대소문자 구분하지 않고 필터링시킨다. id가 admin인 정보를 조회하면 문제는 풀린다. 풀어보자. 일단 1을 입력해보자. id값과 cash값이 출력되었다. 이런 방식이구나 알아두고 id가 admin인 정..

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 45번 문제이다. 떡하니 sql injection이라고 쓰여있다. 한번 코드부터 보자. get파라미터로 id와 pw를 받으며 id는 euc-kr을 utf-8 형태로 바꾼다고 되어있다. 또한 id와 pw 둘 다 admin, select, limit, pw, , = dmf 대소문자를 구분하지 않고 필터링하고 있다. 그리고 id가 admin과 일치하면 문제는 해결된다. 간단한 addslashes우회 문제이다. addslashes는 ', ", \, %00 이 오면 앞에 \를 붙여 문자 취급시켜 해당 문자열이 가진 기능을 하지 못하게 만드는 함수이다. 멀티 바이트를 통해 우회 가능하다. 한번 우회해보자. 원래는 input type이지만..

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 44번 문제이다. sql 인젝션 문제처럼 생겼다. 한번 소스코드를 보자. post방식으로 id를 전송하며 substr로 5글자만 입력받고 그 뒤의 문자는 무시한다. 주석에 ls를 실행하여야 한다고 알려준다. 한번 문법에 만족시켜 ls를 입력해보자. 위 사진처럼 입력하면 조건을 만족한다. flag가 출력되었다. 검증해보자. 아니다.... 무엇이 문제일까 고민하다가 옆에 index.php 파일이 있는 것에서 답을 찾아내었다. 바로 현재 페이지가 index.php에서 이루어지고 있는데, 이는 저 플래그로 나온 값 또한 접속이 가능하지 않을까란 생각을 들게 했다. 바로 시도해보자. 정확했다. 다시 한번 검증해보자. 문제 해결 시행착오..

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 43번 문제이다. cat /flag를 실행할 수 있는 웹쉘을 업로드해야 하는 것처럼 보인다. 한번 업로드해보자. 해당 코드는 GET방식으로 파라미터를 입력받아 system() 함수로 연결시킬 수 있는 웹쉘 코드이다. 한번 업로드해보자. 잘못된 타입이란다. 아무래도 확장자 필터링이 아닐까 싶었다. 하지만 %00, 2중 확장자 등 여러 가지 우회 기법을 사용해봤지만 뚫리지 않았다. 그래서 검색해봤다. 그 결과 burp suite를 사용한 우회 기법을 발견할 수 있었다. 위 사진은 wwwsss.txt 파일을 업로드 과정을 burp suite로 캡처한 사진이다. 우리는 Contet-Type: 부분을 image/jpeg로 변경하여 확장..
- Total
- Today
- Yesterday
- Los
- lord of sql
- 김영한
- 백준 피보나치
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 김영한 실전 자바 중급
- los 15
- 스프링
- 자바
- spring
- ys.k
- samron
- static
- los 15단계
- java
- 김영한 실전 자바 기초
- 상속
- 프로그래머스 상품을 구매한 회원 비율 구하기
- extends
- 기술스택
- 코딩테스트 준비
- 백준 피보나치 수열
- zixem
- 코딩테스트
- 백준
- 상품을 구매한 회원 비율 구하기 파이썬
- 김영한 실전 자바 기본
- 프로그래머스
- webhacking.kr
- samron3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |