일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring MVC
- 정보처리기사 실기
- Operating System
- Buffer Overflow
- 해킹
- LOB
- wargame
- webhacking.kr
- SQL
- 웹해킹
- BOF
- 네트워크
- Spring Framework
- stack overflow
- Lord of BOF
- Pwnable.kr
- system hacking
- webhacking
- pwnable
- 정보보안기사 실기
- System
- hacking
- Payload
- Shell code
- OS
- 운영체제
- Spring
- 정보보안기사
- PWN
- 워게임
- Today
- Total
목록웹해킹 (9)
DongDD's IT
[webhacking.kr] Level 52 문제에 들어가니 Header injection이라는 말과 클리어 조건이 써있었다. id는 $_GET[id]를 통해 설정되고 이것을 이용해 헤더인제셕으로 id=Dongd 쿠키를 생서하면 클리어되는 조건인 것 같았다. GET[id]로 헤더인젝션을 해서 id=Dongd 쿠키를 생성하라고 되어있는 것을 보아 GET방식으로 id를 넘겨받는 것을 알 수 있었다. '헤더생성'이라는 버튼을 클릭해보았다. 헤더생성을 누르니 자동으로 GET방식으로 id변수를 넘겨주었다. 아마 이 GET방식으로 전송하는 것을 수정해 Header를 조작하여 id=Dongd 쿠키를 생성하면 통과할 것 같았다. Burp를 통해 GET방식을 통해 전송한 것을 보니 Response 헤더에 id: Dong..
[webhacking.kr] Level 10 문제에 들어가니 다음과 같은 형태가 있었다. buy lotto라는 글씨와 함께 회색 네모 왼쪽 위에 'o'가 써있는 것을 볼 수 있었다. 그냥 그림만 봐서는 무슨 그림인지도 잘 모르겠고 어떻게 진행해야 될지 생각해보았다.'buy lotto'라고 써있는 것을 클릭해보았지만 아무 일도 일어나지 않았다. 그냥 text로 되어 있는 것 같았다.이번에는 'o'를 클릭해보려고 마우스를 대는 순간 'o'가 'y0u'로 바뀌는 것을 볼 수 있었다. 왠지 이것을 통해 문제를 해결하는 방식 같았다. 그래서 일단 소스 코드를 보았다. 소스 코드를 살펴보니 'buy lotto' 이 부분에는 특별한 기능 없이 text로만 써있는 것을 볼 수 있었다. 그리고 그 위 줄에 있는 onmo..
[webhacking.kr] Level 3 이번 문제는 들어가보니 다음과 같은 그림퍼즐이 있었다. 다른 웹해킹 문제와 달리 퍼즐이 있는 것이 신기했다. 처음에는 뭔지 몰라서 클릭하다 보니 오른쪽 밑 25개의 사각형이 클릭 시 검정색으로 바뀌는 것을 알 수 있었다. 클릭해보니 위와 같이 검정색 사각형이 생기는 것을 볼 수 있었다. 어떤 퍼즐인가 생각하다가 퍼즐의 해답을 알아냈다. 위와 왼쪽에 있는 숫자는 한줄에 있는 검정색 사각형 수를 의미하는 것이고 3이나 5같은 숫자는 한 줄에 연결되어 있는 검정색 사각형의 수고 1,1,1 이라고 표시된 것은 떨어진 검정색 사각형이 1개, 1개, 1개씩이라는 것을 의미하는 것 같았다.생각한대로 위와 같이 검정색 사각형을 만들었다. 맨 밑은 5이기 때문에 검정색 사각형 ..
[webhacking.kr] Level 26 이번에는 한 페이지 링크만 주어져 있다. 들어가보니 소스 코드가 주어졌다. GET방식으로 id를 받고 이것을 eregi함수를 통해 admin이 아니도록 인식해야하고url decode 했을 때 admin과 일치하면 통과하는 방식으로 되어 있었다. "%61%64%6d%69%6e"로 시도해보았더니 no!라는 메시지와 함께 실패했다.생각해보니 이게 admin을 뜻하는 거라는 생각이 들어 이것을 한번 더 url encoding하면 어떨까 해서 시도해보았다.%가 %25로 표현 되기때문에 "%2561%2564%256d%2569%256e"로 시도 하면 이것이 %a%d%m%i%n 으로 표현되어 eregi를 우회하게 되고 디코딩 했을 경우 다시 "%61%64%6d%69%6e" ..
[webhacking.kr] Level 18 문제에 들어갔더니 SQL Injection이라고 떡하니 써있었다. 코드도 주어진 상태라 코드를 보고 풀어나가면 되겠다는 생각이 들었다.SQL Injection에 대해서 조금은 공부했지만 아직 잘은 모르는 상태지만 도전해보기로 했다. 코드를 보니 여러 문자에 대해 필터링이 되어있었고 select를 통해 맨 위의 row에 admin이 오게 되면 통과하게 되어있었다. 간단한 값으로 1 or 1=1 을 넣어봤더니 no hack이라는 결과가 나왔다. Space가 필터링 걸려있다는 것을 알 수 있었다. Space(%20)을 대체하기 위한 것으로는 %0A, %0B, %0C, %0D가 있다는 것을 알았고 이것으로 시도해보았다. %0C를 사용하여 시도해보았다. hi guest..
[webhacking.kr] Level 17 이번 문제는 단순한 입력 box하나와 check button하나가 주어져 있다. 소스코드를 보니 저 값을 계산하고 넣어준 후 버튼을 클릭하면 sub함수로 넘어가 이 값과일치하는지 확인하여 맞다면 password를 띄어주는 구조였다. password가 unlock/10인것으로 보아 굳이 넣어보지 않아도 알 수는 있게 되어 있는 구조였다. 크롬에 있는 console을 이용해 저 값을 계산하여 넣은 후 버튼을 클릭해 flag를 얻을 수 있었다. ************** Answer & Flag ************** 이번 문제는 딱히 생각할 거 없이 간단히 해결할 수 있는 문제였다.
[webhacking.kr] Level 16 들어가보니 이쁜 별들이 있었다. 소스 코드를 살펴보기로 했다. 소스 코드를 보니 키보드를 누르면 자바스크립트 mv함수로 들어가는 것을 알 수 있었다.처음에 코드가 잘이해되지 않아 키보드를 눌러보았다. 화면에 *이 추가되는 것을 볼 수 있었다. 문제를 내기 위해 신기한걸 만들어 놨다는 생각이 들었다. ㅋㅋ 소스 코드를 보고 분석을 해보았다.key를 누르면 key값이 mv함수로 넘어가게 된다. kk함수를 통해 화면에 *을 찍고 if문을 거치게 된다.아스키코드로 넘어오기 때문에 아스키코드를 보고 if문을 해석해 보았다.if문을 볼때 a(97) d(100) w(119), s(115)를 누르면 *이 이동하는 것 같은데 이동하지 않고 추가만 되었다. 크롬에서는 스크립트가..
[webhacking.kr] Level 14 문제에 들어가니 이런 화면을 볼 수 있었다.바로 소스코드 확인을 했다. 소스 코드를 보니 button클릭시 javascript의 ck함수로 넘어가 값을 검사하는 구조였다.document.URL함수로 현재의 URL을 가져오고indexOf함수를 통해 .kr이 있는 index를 가져와 그 값에 30을 곱한 값을 넣으면if문을 통과하여 그값을 두번 곱한 값이 flag라고 출력해준다.즉 굳이 값을 넘겨서 확인해보지 않아도 답을 알 수는 있는 것이었다. 콘솔창을 이용하여 ck함수에 있는 값을 그대로 입력하여 넘겨야 하는 값을 알아낼 수 있었다. ************** Answer & Flag **************
[webhacking.kr] Level 1 Level1을 들어가니 이런 형태로 화면이 출력되었다.index.phps를 클릭하니 소스코드를 볼 수 있었다. SetCookie를 이용하여 user_lv 쿠키를 1로 설정해준다는 것을 알 수 있었다.밑에 if 문을 보니 user_lv 값이 5보다 크면 solve()라는 함수를 출력해주는 것을 보니 저 if문으로 들어갈 수 있도록 쿠키를 변조하면 되는 것 처럼 보인다. 쿠키값을 5로 해보았더니 level : 5 라는 문구로 바뀌었다. 문제를 해결하기 위해 소스코드를 분석해보았다.첫번째 if문에서 0~9로 시작하는 값이 아니라면 user_lv이 1로 설정되게 되어있어 0~9로 시작해야 된다는 것을 알 수 있고 두번째 if문에서는 6보다 클 경우는 user_lv이 1..