일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- mutate()
- filter()
- distinct()
- summarize()
- 대칭형 알고리즘
- sample_n()
- arrange()
- proc contents
- groupe_by()
- AES
- dplyr
- samp;e_frac()
- select()
Archives
- Today
- Total
Gae Ko's Blog
[webhacking.kr] challenges26 본문
저걸 눌러보니
php코드를 보면
id를 GET방법으로 입력받는데 id값을 eregi()함수로 필터링한다.
"admin"라는 문자열이 포함되어 있으면 no!라고 알리고 아웃
-> id값에 admin이라는 문자열이 포함되있어서는 안된다.
입력받은 id값을 url디코딩한 결과를 id값으로.
id에 저장된 값이 'admin'이면 문제가 풀린대.
근데 영어와 숫자들은 urlencoding을 해도 바뀌지 않는다. 어떻게 하지...
url인코딩 표를 찾아보니 영어도 되나보다.
이 표를 통해 admin을 url인코딩한 값이 %61%64%6d%69%6e 이다.
근데 이 값을 그대로 넣으면 no!라고 뜬다. 왜냐면 php에서 %61%64%6d%69%6e 를 url디코딩한 결과값으로 자동 인식하기 때문에
eregi함수에서도 필터링되니까 저 값에서 한 번 더 인코딩해주면 자동 url디코딩한 결과인 %61%64%6d%69%6e 로 인식하니까 eregi함수에서도 걸리지 않고
입력받은 id값을 디코딩한 값을 다시 id값으로 저장한다 했으니까 %61%64%6d%69%6e 을 디코딩한 결과인 admin이 id값으로 저장될 것이다.
즉, id값에 %2561%2564%256d%2569%256e 저장하면 된다.
id값은 GET방식으로 입력받는다 했으니까 URL로 값을 넘겨주면 된다.
ereg("찾고자 하는 문자", "임의의 값") // 대·소문자 구분 O
eregi("찾고자 하는 문자", "임의의 값") // 대·소문자 구분 X
'웹해킹 > [webhacking.kr] ' 카테고리의 다른 글
[webhacking.kr] challenges38 (0) | 2017.11.19 |
---|---|
[webhacking.kr] challenges42 (0) | 2017.11.07 |
[webhacking.kr] challenges24 (0) | 2017.11.07 |
[webhacking.kr] challenges1 (0) | 2017.10.23 |
[webhacking.kr] challenges4 (0) | 2017.10.23 |