일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Weak Session IDs
- 정보보호
- Los
- webhacking.kr
- Lord of SQL Injection
- Remote File Inclusion
- 워게임
- H4CKINGGAME
- 정보보안
- XSS
- Insecure CAPTCHA
- DOM-Based XSS
- 드림핵
- Dremhack
- 웹 해킹
- Web Hacking
- DVWA
- bypass CAPTCHA
- SuNiNaTas
- wargame
- 빡공팟 4기
- File Upload Vulnerability
- sql injection
- 써니나타스
- Hackerfactory
- Cross Site Scripting
- 해커팩토리
- TeamH4C
- 빡공팟 6기
- DreamHack
- Today
- Total
도카이트
[Wargame] Webhacking.kr - old 27 본문
문제 화면
- SQL Injection 문제라고 친절히 알려주고 있다 !
- 무작정 시도해보기 전에 쿼리문이 어떤 형식으로 작성되어 있는지 확인해야하므로,
- 소스코드를 빠르게 살펴보도록 하자 !
소스코드
- GET Method로 no 값을 입력받고 있다.
- no 값에 대해 preg_match 함수를 통해 #, select, 공백, limit 등을 대소문자 구분없이 필터링한다.
- no 값에 대하여 별도의 쿼터가 감싸져있지 않았으며, 대신 소괄호로 한 번 감싸져있다!
- id 값이 admin이 되는 경우, 해당 문제가 solve 된다 !
입력폼 대신 URL에 바로 no 값을 작성하여 전송하도록 한다. 처음 문제 풀이를 시도하면서 입력폼에
값들을 입력하여 SQL Injection을 시도하였다. 공백을 Tab (%09)가 아닌 %20을 사용하여 시도했는데,
입력폼에서 시도한 경우는 no hack이 출력되지 않았다가, URL에서 직접 입력한 경우 no hack이 출력
되었다. 입력폼에 %20을 단독으로 입력하여 submit 후 URL을 살펴보니 %2520으로 출력됨을 확인
할 수 있었다.. 따라서 필터링에 걸리지도 않지만, query error 도 덤으로 따라온다..
웬만하면 이런 문제들을 풀 때 GET 방식으로 파라미터 값을 받는 형식이라면, URL 주소창에서
직접 페이로드를 입력하는 것이 좋을 듯 하다..!!!
앞의 구문을 상쇄하는 구문 작성
- 위 예제에서 사용한 구문은 다음과 같다.
- no=2)%09or%09id%09like%09%27admin%27--%09
- 앞서 소스코드에서 확인했듯이, no 값이 소괄호로 감싸져 있었으므로 기존 싱글쿼터 close 처럼 소괄호를 강제로
닫아주는 부분이 필요하다. (사실 소괄호 간과하고 문제 푸는데 시간 많이 날렸다…)
- no 값에 guest의 no 값인 1을 피해서, 2를 입력하고 소괄후를 닫은 후 or 구문을 이용하여 앞에 작성된
id=’guest’ 부분을 무시할 수 있도록 or%09id%09like%09‘admin’%27--%09를 작성한다.
- ‘admin’ 이후 주석부분도 %23을 사용했었으나, 필터링에 막혀서 --%09를 사용하여 주석화하였다.
- 구문을 입력 후 전송하면, 성공적으로 문제가 solve 되는 것을 확인할 수 있다!
'Wargame > Webhacking.kr' 카테고리의 다른 글
[Wargame] Webhacking.kr - old 33 (0) | 2022.06.20 |
---|---|
[Wargame] Webhacking.kr - old 32 (0) | 2022.06.20 |
[Wargame] Webhacking.kr - old 26 (0) | 2022.06.16 |
[Wargame] Webhacking.kr - old 25 (0) | 2022.06.16 |
[Wargame] Webhacking.kr - old 24 (0) | 2022.06.16 |