| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 프로세스
- Los
- Python
- Linux
- rubiya
- web
- 화이트햇콘테스트
- 해킹
- XSS
- lordofsqlinjection
- SQLInjection
- 알고리즘
- 웹해킹
- SQL Injection
- SQL
- ctf
- 상호배제
- 운영체제
- webhacking.kr
- WebHacking
- Writeup
- CCE
- webhackingkr
- 시스템
- crosssitescripting
- ubuntu
- sqli
- hacking
- 시스템프로그래밍
- CODEGATE
- Today
- Total
목록웹해킹 (30)
One_Blog
웹 해킹을 시작한 지 6개월 째... 지난번엔 CCE 본선을 가는데 성공했고 이번엔 코드게이트에서 문제를 푸는데 성공했다. 주니어부 26위를 했는데, 전날 밤 안자고 풀었으면 본선 갔을 수 있는데 너무 안타깝다. 968점짜리 웹 문제 취약점 찾고 끝났는데, 일단 내가 풀었던 myboard 라이트업을 작성하겠다. 원래 사이트에 접속해서 직접 페이로드를 동작시키는 걸 보여주고 싶었는데, 시험 공부 + 프로젝트 때문에 라이트업 작성을 미루다가 CTF 사이트가 닫혔다. 그래서 그냥 ... 풀이만 올리도록 하겠다. myboard의 경우 글 조회만 가능한 간단한 게시판이 구현되어 있었고, 게시글 총 조회 화면에서 sort_by를 통해 sqli가 가능한 취약점이 있었다. 사실 말만 들어보면 엄청 간단한데, 첫 솔버가..
솔직히 말해서 지금 이 글을 쓰는 나도 웹 해킹을 잘하는 편이 아니다. 하지만 웹 해킹을 공부하기 위해 구글링을 하는 사람들에게, 웹 해킹을 공부하고 싶은데 어떻게 시작해야할지 모르는 사람들을 위해 이 글을 쓴다. 부디 내 글이 웹 해킹 공부를 시작하려는 사람들에게 도움이 되었으면 좋겠다. 1. 웹 개발웹 해킹을 하려면 기본적으로 웹 개발을 해봐야 한다고 생각합니다. 이건 제 개인적인 생각이 아니라, 웹 해킹을 하는 거의 대부분의 사람들이 하는 말 입니다. 직접 웹 페이지를 개발해보면서 서버 내부 코드가 어떻게 작동하고, 어떤식으로 데이터를 주고 받는 지 공부하는 게 웹 해킹에 큰 도움이 되기 때문입니다. 웹을 개발할 수 있는 언어는 종류가 정말 다양한데, 그 중에서도 저는 초심자에게 맞는 ..
소스코드는 다음과 같다. 천천히 코드를 분석해보자면, id와 pw를 사용자로부터 넘겨받고, '가 입력되면 필터링한다. 그리고 id와 pw값을 SQL Query문에 집어넣고, Query문에 대한 값이 존재하면 문제를 클리어 시켜준다. 처음에 문제를 마주했을 땐, 이게 왜 어려운거지?라는 생각을 했는데.... 곰곰히 생각해보니 어떻게 풀어야할지 감이 오질 않았다. 분명 어려운 문제는 아닌 거 같은데...라고 멍 때리며 문제 풀이법을 생각하던 중, 기적같이 \가 떠올랐다. \를 사용하면 Query문에 있는 '를 SQL의 특수기호가 아닌 그저 하나의 문자로 만들 수 있기에, '없이도 SQLi를 성공시킬 수 있을 거라 믿었다. id값에 \를 줌으로써 ' and pw=부분을 Query문이 아닌 문장으로써 인..
소스코드는 다음과 같다. Query문의 결과가 1234가 나오면 문제가 풀린다. 그런데 Query를 보니, SELECT 1234 fromprob_giant where 1 인데, 해당 Query문은 아무 값을 집어넣지 않아도 1234를 결과값으로 불러오게 된다. 그러나 from 과 prob_giant가 띄어쓰기 없이 붙어있어서 제대로 Query문이 작동하지 않는다. 우리는 여기서 from과 prob_giant 사이에 문자열을 집어넣을 수 있다. 문제를 풀기 위해선 from과 prob_giant 사이에 공백을 집어넣어야 하는데, 필터가 대부분의 공백을 막고 있다. white space, \n, \r, \t , / 등등 대부분 공백 필터링에 사용할 수 있는 문자가 필터링 되어있다. 하지만 우리에겐 %를 이용한..