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

@file() : 괄호 안에 있는 파일 전부를 읽어 오는 함수


array file ( string $filename [, int $flags = 0 [, resource $context ]] )


$fck=@file("tmp/.number");


file("읽어 올 파일")

'함수들' 카테고리의 다른 글

getenv()함수  (0) 2018.01.10
alert()함수  (0) 2018.01.08
fwrite함수  (0) 2018.01.04
fopen함수  (0) 2018.01.04
ereg, eregi함수  (0) 2018.01.02

fwrite : 파일에 쓰기를 위한 함수


int fwrite ( resource $handle , string $string [, int $length ] )


$f=fopen("tmp/tmp-$time","w");

fwrite($f,"127.0.0.1");


fwrite(써 넣을 파일 , "써 넣을 글");

'함수들' 카테고리의 다른 글

alert()함수  (0) 2018.01.08
@file함수  (0) 2018.01.04
fopen함수  (0) 2018.01.04
ereg, eregi함수  (0) 2018.01.02
MySQL limit함수  (0) 2017.09.24

흔히 볼수 있는 fopen에 대해 정확하게 알기위해 정리한다.

fopen : file 이나 URL을 열기위해 사용


resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )


사용은 이런 형식으로 사용가능


예 : $A = fopen("/home/download/hi.txt", "r");

'함수들' 카테고리의 다른 글

@file함수  (0) 2018.01.04
fwrite함수  (0) 2018.01.04
ereg, eregi함수  (0) 2018.01.02
MySQL limit함수  (0) 2017.09.24
mysql if문  (0) 2017.09.10

딱 보니 사이즈가    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

+ Recent posts