포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 10번 웹페이지이다. 소스코드를 보자. id가 hackme이다. 그리고 O를 클릭 시 오른쪽으로 한 칸씩 전진한다. 그리고 그 값이 1600이 되면 Goal에 도착하며 문제가 해결되는 것처럼 보인다. 풀어보자. 일단 hackme의 포지션을 1600 하나 이전인 1599로 값을 바꾸어 보자. O를 한 번 더 클릭해줘서 1600으로 옮겨줘야 하는데 모니터 상에서 사라졌다... 학교에서 풀었을 때는 모니터상에 다 보였는데, 노트북에서 보니까 잘려서 조금 당황했다. 여러 번 시행착오를 거치다가 방향키를 눌러보았다. ㅋㅋㅋㅋ 찾았다. 이제 클릭해주자. 문제 해결 시행착오 1. 모니터 크기에 따라 문제가 달라질 수 도 있다는 걸 알았다...
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 8번 웹페이지이다. hi guest가 출력되며 소스코드를 볼 수 있다. 코드를 보자. 필요한 부분만 가져왔다. 모르는 함수의 기능부터 알아보자. - trim() // 문자열의 양끝 공백을 제거한다. (원본유지) - getenv() // 문자열로 리턴해준다. 이번은 get형식으로 데이터를 입력받지 않고, HTTP_USER_AGENT로 값을 입력 받는다. chall8 테이블의 id갯수가 70개를 넘으면 chall8 테이블을 지우며, id의 값이 admin이면 테이블이 비워지며 문제가 해결된다. 문제를 해결하기 위해 우리는 2가지 과정을 거쳐야한다. 1. insert into 부분에서 id가 admin에 해당하는 데이터 삽입 2. ..
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 7번 웹페이지다. 단순하다. 소스코드를 보자. val로 파라미터를 받으며 비어있으면 1로 고정시켜준다. 또한 2, -, +, from, _, =, \s, *, / 가 필터링되어있다. 그리고 쿼리 결과가 2가 되면 문제가 풀린다. 숫자 우회 문제이다. 바로 풀어보자. val파라미터로 받은 값이 $go 부분에 삽입된다. 하지만 이번엔 2도 필터링되어있기 때문에 url인코딩을 사용할 때도 해당 문자가 포함된 건 사용할 수 없다. 조건에 부합하게 쿼리를 작성해보자. 쿼리 : ?val=5%3 분명히 5%3은 2가 나오는데 쿼리 에러가 뜬다... 무슨 문제인지 찾아보니 테이블에 2에 해당하는 값이 없기 때문이란다. 그리고 union을 사..
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 6번 웹페이지이다. 소스를 볼 수 있는 버튼과 ID, PW를 알려주고 있다. 소스코드를 보자. 이번 문제의 소스코드는 필요 없는 부분을 제외하고 올린다.( 너무 길기 때문 ) 이번 소스코드는 크게 2가지로 나눌 수 있다. 첫 코드는 id: guest와 pw: qwe123을 base64로 20번 인코딩 후, 특정 수를 특수문자로 치환하는 코드이며 두 번째 코드는 cookie값으로 받은 id와 pw의 특수문자를 특정 수로 치환하며 20번 base64로 디코딩해준다. 그렇게 디코딩된 값이 각 admin, nimda이면 문제는 해결된다. 이번 문제는 아주 쉽다. id 쿠키값에는 admin을 base64로 20번 인코딩한 값, pw에는..
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 5번 문제이다. 로그인과 회원가입 버튼이 보인다. 웹 소스코드를 보자. 각 버튼에 관한 부분이다. 로그인 버튼을 누르면 move(page), join을 누르면 Acces_denied를 출력한다. 각 버튼을 눌러보자. 1. Login 2. Join 로그인 창에는 정상적인 접근이 가능하지만, 회원가입은 접근이 거부당했다. 하지만 위 소스코드 창에서 힌트를 찾을 수 있다. 바로 이 부분인데 login 버튼을 눌렀을 때 이동할 링크를 알 수 있다. 우리는 이 부분에서 추측을 해야 한다. 링크의 형식이 mem/login.php이다. 그렇다면 join버튼의 링크도 비슷한 형식일 것이다. 한번 시도해보자 쿼리 : /mem/join.php ..
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 4번 페이지다. 음.. 일단 소스코드를 보자. if조건문과 hash가 있다. hash는 10,000,000과 99,999,999 사이에서 랜덤 하나를 추출해 salt_for_you와 합쳐준 값이다. 그리고 그걸 chall4_session에 넣어준 후 500번 sha1로 인코딩해준다. isset함수를 알아보자. isset(a) // a변수가 설정이 되었으면 true, 아니면 false 반환해준다. chall4 값이 존재하고, post로 key값을 받아 session chall4와 일치하면 문제가 풀린다. 그리고 웹페이지에 보이는 값은 500번이 sha1인 코딩된 문자열이다.. sha1은 단방향 암호로 원문을 알아낼 수 없다.....
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 3번 문제이다. nonogram과 함께 그림이 첨부되어있다. nonogram이란 x, y로 이루어진 직사각형에 각각 적힌 숫자를 보고 숨어있는 숫자를 예측해서 지우고 그리는 게임. 규칙 - 쓰인 숫자만큼의 연속된 칸을 칠해야 한다. - 숫자와 숫자 사이에는 적어도 한 칸을 비워야 한다. - 숫자의 순서와 칠해진 칸의 순서는 일치해야 한다. 예를 들면 212 -> ■■□■□■■ 이렇게 하면 된다. 그럼 바로 진행해보자. 이러한 그림이 나왔다. 제출해보자. 문제 해결! 느낀 점 1. 웹 해킹 문제라기보다 잠깐 쉬어가는 문제인 거 같다.
- Total
- Today
- Yesterday
- static
- 김영한 실전 자바 중급
- java
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 기술스택
- 프로그래머스
- 스프링
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 백준 피보나치 수열
- los 15
- 백준
- 김영한 실전 자바 기본
- samron
- lord of sql
- extends
- 김영한
- zixem
- 상품을 구매한 회원 비율 구하기 파이썬
- 자바
- webhacking.kr
- 코딩테스트 준비
- 김영한 실전 자바 기초
- los 15단계
- 상속
- ys.k
- spring
- 코딩테스트
- samron3
- 백준 피보나치
- Los
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |