첫 화면은 꺼멓다....

먼저 join을 눌러보니 들어갈 수 가 없다..

그래서 login을 눌러서 들어가서

아무렇게나 넣고 login해보니

admin만 로그인이 되는것 같다.


그래서 admin을 id로 password는 아무렇게나 하니 

패스워드 오류가 뜬다.

그런데

주소를 보면 mem이 있어서 들어가 보았다.

힌트라고 써져있다!


여기서 join.php를 들어가니

까맣다...

그래서 소스를 보니 이렇게 난독화가 되어있다.


이렇게 난독화 되어있는 소스를 치환해보면 이런 소스가 나와있는데

쿠키를 oldzombie로 만들어주고

주소창뒤에 ?mode=1을 넣으라고 되어있다.

쿠키를 만들고

주소창에 mode=1 을 넣어주면!

이런 가입창이 뜬다!!

여기다 admin으로 가입하려고 하니

이미 있다고 한다.


소스를 보니 maxlength가 5로 되어있는 것을 10으로 바꾸어 주고

admin뒤에 null값을 넣어주니

가입이 된다!



그렇게 로그인을 해보니

엥?

안된다...




다시 admin뒤에

그냥 띄워쓰기를 하고 

가입후

로그인 하니

5번도 클리어!


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 11번  (0) 2018.01.09
Webhacking.kr 3번  (0) 2018.01.09
Webhacking.kr 23번  (0) 2018.01.08
Webhacking.kr 33번  (0) 2018.01.05
Webhacking.kr 59번  (0) 2018.01.03

injection이라 적힌 것 으로 봐서는 sql injection문제가 아닐까 싶다.

우선 <script>alert(1)</script>를 넣어야 풀리는 문제인 것 같다.

그래서 al을 넣어봤더니 막혀있다.

그래서 a와 l사이에 URL코드로 %09를 넣으니 적혀진다!

그래서 전체를 다 넣으니 완성은 되는데 띄워쓰기가 되어 버린다...

그렇다면 %00을 넣어보니 띄어쓰기도 생기지 않는다!!!!

다 쳐서 넣어보니 완성!!!

23번은 가볍게 클리어!


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 3번  (0) 2018.01.09
Webhacking.kr 5번  (0) 2018.01.08
Webhacking.kr 33번  (0) 2018.01.05
Webhacking.kr 59번  (0) 2018.01.03
Webhacking.kr 58번  (0) 2018.01.03

33번 문제를 시작한다.

처음 문제는 index.phps를 들어가면 소스를 볼수있다.

소스는 get으로 get의 값을 hehe로 보내주면 된다고 한다.


간단하게 ?get=hehe를 주소에 추가해주면 Next키가 나오면서

다음 문제로 넘어간다.

문제가 하나 더 있나보다.

33-2번 문제다.

소스를 보자.

post로 post값을 hehe로 넘겨주고 post로 post2의 값을 hehe2로 넘겨주면 된다고 한다.

post값을 넘겨주기 위해서 소스에다가 post를 넣을 칸을 만들어 준다.

여기다가 이제 hehe와 hehe2를 넣어주면

Next?가 뜬다

왜자꾸 Next가 나오지

다음문제다.

소스를 본다.

myip값에다가 자신의 ip주소를 get방식으로 넘겨달라고 한다.

넘겨줬다.

Next가 나온다.....

일단 시작했으니 넘긴다.

33-4번문제다.

힌트도 있다.


소스를 보니 hint는 시간값이었다.

get방식으로 password값에다 time을 md5로 암호화 한 값을 넣어주라고 한다.

아마 자신의 시간과 일치해야 하는것 같다.

이거 한 8번해서 통과했다.

개인적으로 정말 싫다.

넥스틐ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


소스보자.

get방식으로 imget post방식으로 impost 쿠키에다가 imcookie값을 넣어주라고 한다.

존재유무에만 관심이 있으니 값은 아무렇게나 해보자.

일단 post를 넘겨줄 창을 소스에다가 만들어 주고

action은 get과 함께 넘겨줘야 하기때문에

?imget=1을 넣어서 넘겨주자.

cookie는 editThiscookie에 imcookie만 만들어 주면 된다.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

소스보자


쿠키에 test라는 쿠키를 만들어주고 값은 내 아이피를 md5로 암호화 한것,

또한 post방식으로 kk값에다가 SERVER[HTTP_USER_AGENT]를 넣어주라는데

이것은 힌트값을 md5로 암호화 시켜주라는 것이다.

그러니까 힌트에 있는 문장의 전체를 암호화시켜서

post창을 만들어서 넣어주자.

(개인적으로 크롬 써서 크롬 뒤의 값만 암호화해서 굉장히 오래걸려서 풀었다.)

이렇게 넣어주고~

와우 넥스트가 있네에~


자 소스!

소스를 보면 자신의 아이피 주소에 .을 다 빼고 그게 받은 자신의 아이피주소와 같으면 된다.

내 아이피주소의 .을 뺀 값 = 내 아이피주소의 . 을 뺀 값을 넣어주면

다음!~~!


소스


addr값을 get 방식으로 해서 값이 127.0.0.1이면 된다고 한다.

다음

소스

이번에는 i가 97부터 2를 더한값을 i에 다가 넣어서 122까지 그것들을 ans값에 get방식으로 받아오면 된다.

chr()는 안의 숫자를 문자로 바꾸어 준다.

숫자는 아스키 코드표에서 보고 바꾸어주면 된다..

그러면 알파벳을 하나씩 빼주면 된다

다음

wrong이 읍따

소스!

문제를 보니까

ip값에다가 내 아이피값을 넣고

ip길이만큼을 i 길이만큼 

i를 0부터 계속 ip에 있는 값을 문자의 아스키값으로 변환 시켜준다.

그리고ip값을 2를 곱하고 다시 2로 나누고 .을 공백으로 바꾸어준 값을 answer에 넣어준다.

일단 해보자

그래놓고 어디서 할지몰라서 찾아보니

http://webhacking.kr/pds/phppad/index.php

웹해킹.kr에서 php를 실행시킬수 있게 만들어 놓았다.


뺄거 빼고 소스에서 

$ip = 내 아이피 를 넣어주고

우리는 $ip/$anwer.$ip만 알면 되니까 

echo로 출력시키면

나오는 값을

주소창에 넣어주면

(참고로 bonus-6/뒤에다가

answerip/하고 

$ip/$answer.$ip를 넣어줘야한다.

개인적으로 forfor.php뒤에다 계속쳐서 문제 막힌줄)

33번도 클리어!!!


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 5번  (0) 2018.01.08
Webhacking.kr 23번  (0) 2018.01.08
Webhacking.kr 59번  (0) 2018.01.03
Webhacking.kr 58번  (0) 2018.01.03
Webhacking.kr 32번  (0) 2018.01.02

딱 보니 사이즈가    SQL INJECTION 문제이다.

우선 소스를 클릭해서 한번보자.

join으로 가입하고 login으로 접속하는 것 같은데

join에 eregi로 admin이 막혀있다.

그 밖에도 다양하게 막혀있다.

일단 그렇다면 aaa로 아이디를 만들어보자.

그냥 아무거나 아이디 비밀번호를 하면 

guest로 뜨기 때문에 guest말고 다른걸 lv로 출력하게 하기위해서

lv을 1로 해보았다.

그랬더니 1로 된다.

그렇다면 손쉽게

id를 admin의 반대인 nimda로 만들어주면


59번도 클리어!


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 23번  (0) 2018.01.08
Webhacking.kr 33번  (0) 2018.01.05
Webhacking.kr 58번  (0) 2018.01.03
Webhacking.kr 32번  (0) 2018.01.02
Webhacking.kr 27번  (0) 2018.01.02


첫 화면은 심플하다.

소스를 보아하니 kk.js, kk2.js, hackme.swf 가 보인다.

그래서 kk.js를 들어가보니

2줄짜리 코드가 있다.

kk = document.URL은 주소를 kk에 저장한다는 것이다.

그리고 substr은 10번째 부터 4개를 다시 kk로 저장한다는 뜻이다.

그래서 http://webhacking.kr/challenge/web/web-35/kk.js에서

hack가 kk에 저장된다.

그뒤 kk2.js로 들어가보니

kk에 hack에다가 me.swf를 더하라고 되어있다.

그렇다면 hackme.swf가 완성된다.

그리고 hackme.swf는 제일 처음 코드에서 봤다.

그렇다면 주소창에

webhacking.kr/challenge/web/web-35/hackme.swf를 쳐 보니

저런 파일이 하나 받아진다.

이것은 첫 화면에 나오는 패스워드를 치는 창이 나온다.

그래서 이것을 메모장으로 열어보니

저런 한줄짜리 완성된 주소가 나온다.

이것을 주소창에 넣어보니

58번 클리어!


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 33번  (0) 2018.01.05
Webhacking.kr 59번  (0) 2018.01.03
Webhacking.kr 32번  (0) 2018.01.02
Webhacking.kr 27번  (0) 2018.01.02
Webhacking.kr 21번  (0) 2017.12.29

32번이다.

랭킹문제인데 문제의 의도를 찾기가 힘들다.

일단 소스를 보니 join버튼을 누르면 vote=add가 시작된다.

밑에 있는 join버튼을 누르니 내 아이디가 랭킹에 포함이 되어 있다.

그래서 아이디를 누르니



안된다고 한다;;;

그래서 쿠키를 한번 열어보니까 

못보던 쿠키가 생겨져 있다.

그래서 vote_check를 지우고 클릭해보니

투표가 된다!

1등을 만들면 해결되는 문제같다.

그래서 계속 쿠기값을 지우고 누르고 하다보니

너무 어이가 없어서

자물쇠 밑에 금지표시를 눌러서

vote_check를 차단시켜버리니까

쿠키가 생기지 않아서 클릭만하면 생성되었다.

100을 돌파하니

32번 클리어!


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 59번  (0) 2018.01.03
Webhacking.kr 58번  (0) 2018.01.03
Webhacking.kr 27번  (0) 2018.01.02
Webhacking.kr 21번  (0) 2017.12.29
Webhacking.kr 25번  (0) 2017.12.29

이번 문제는 SQL Injection 문제이다.

우선 소스에 index.phps가 주석에 있어서 들어가 보니

no에 input값이 들어가서 쿼리를 형성하는 데

eregi가 많은 문자들을 막고있다

일단 = 도 안되고 /도 #도 안된다.

주석을 할 방법을 찾아야 할 듯 싶다.

우선 0을 넣어보니 아무 값이 안뜬다.

1은 게스트이다.

2는 쿼리 에러가 뜬다.

즉 불러올수 없거나 id 가 guest가 아닌가보다.

그렇다면 

소스에서 봤던 것 처럼 (로 input값이 시작되기 때문에

0을 넣고 )으로 닫아주고

id가 admin인 값을 넣어보고 주석을 #인 %23을 넣어보니 %값이 %25로 찍혀서 나온다..


그래서 --도 막혔나 해서 넣어보니 잘 나온다.

하지만 0) or id like admin --은 되지않아서

0) or no like 2 -- 을 해보니

27번도 클리어!

(팁:  --뒤에 꼭 띄워쓰기를 해야한다!)


'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 58번  (0) 2018.01.03
Webhacking.kr 32번  (0) 2018.01.02
Webhacking.kr 21번  (0) 2017.12.29
Webhacking.kr 25번  (0) 2017.12.29
Webhacking.kr 18번  (0) 2017.12.27

다시한번 sql injection문제가 나왔다.

blind sql injection은 한번에 뚫기보다는 보통 길이 정도만 수동으로 알아봐주고

나머지는 파이썬 같은 코드로 알아내면 된다.

우선 제출을 누르니 주소창에 no=&id=&pw=가 나온다

아마 pw를 구하는 문제이지 싶다.

소스를 보니 제출 옆의 input값은 no에 값을넣어 주는 창이고 id와 pw는 따로 hidden으로 숨겨져 있었다.

여기서 1값과 2값을 넣어주니 Result값이 True로 변했다.

이 말은 

no   id   pw

테이블에서 no값은 1,2 라는 뜻 이다.

그렇다면 id의 길이를 알아보기 위해서

넣어보니 1,2 모두 5가 나왔다.

그래서 pw의 길이를 넣어서 찾아보니

1은 5, 2는 19가 나왔다.


그래서 admin이 있나 찾아보기 위해 단어의 제일 처음이 a인 것을 찾으니 

no=2 였고

2번째 자리가 d인 것도 no=2였다.

그래서 no = 2의 pw를 찾기로 해 보았다.

그래서 python소스를 이렇게 짜서 돌려보니

pw가 나왔다!


이것을 인증해 주면

21번도 클리어!!

(힌트: 답을 안보고 하실분은 소문자만 쓰이기 때문에 ascii의 범위를 97~122로 해주면 훨씬 빨리 값이 나옵니다)

'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 32번  (0) 2018.01.02
Webhacking.kr 27번  (0) 2018.01.02
Webhacking.kr 25번  (0) 2017.12.29
Webhacking.kr 18번  (0) 2017.12.27
Webhacking.kr 39번  (0) 2017.12.27

+ Recent posts