반응형

예전에 처음 짜봤던 거라 너무 하드 코딩한듯 하네요.ㅋㅋㅋ


소스코드

도서관리.zip


'Programming > 자료' 카테고리의 다른 글

10진수에서 2진수로 2진수 변환기  (0) 2014.10.30
트리(나무)  (0) 2014.10.30
스택구조  (0) 2014.10.30
블로그 이미지

KuroNeko_

KuroNeko

,
반응형

헤더 인젝션으로 풀어야하는 8번 문제입니다.


먼저 처음 문제에 들어가시면 



USER-AGENT Access Denied! 라는 문구가 나옵니다.

여기서 USER-AGENT라는것은 웹페이지를 요청할 때 사용하는 헤더 중에 한개입니다.

그렇다면 burp-suite라는 프록시툴로 한번 확인을 해보겠습니다.



이렇게 웹페이지를 요청하면 그에 맞는 헤더를 보내주는 것입니다.

그럼 저 유저 에이전트를 지워버리고 문제의 페이지를 요청하면


done 이라는 말이 나오네요 여기서 소스보기(index.phps)를 해보면


이런 소스가 나오는데요.


쿼리 구문중에서 insert를 사용해 user-agent와 아이피를 넣어주면서 guest라는 레벨을 설정해주네요.

하지만 필터링중에서 싱글쿼터와 주석은 존재하지 않기때문에 insert구문에서 여러개를 db에 넣을 수 있게 됩니다. 즉, 페이로드는 이렇습니다.


User-Agent : nekoplus','123','admin') %23 ','$ip','guest') 


이 헤더를 웹페이지를 요청할 때 user-agent를 조작해서 보내면 nekoplus 의 존재유무를 판단해 없다면 admin레벨로 insert시킵니다. 그렇다면 다시 nekoplus 로 보낸다면 클리어!

'Write up > Wargame' 카테고리의 다른 글

[Webhacking.kr]10번 문제  (0) 2014.10.30
[Webhacking.kr]9번 문제  (0) 2014.10.30
[Webhacking.kr]7번 문제  (0) 2014.10.05
[Webhacking.kr]6번 풀이  (0) 2014.10.05
[Webhacking,kr]5번 풀이  (0) 2014.10.05
블로그 이미지

KuroNeko_

KuroNeko

,
반응형

300점짜리 간단한 SQL Injection문제입니다.



처음 페이지에서 Auth라는 버튼을 눌러보니 Access Denied라는 경고창이 뜨네요.

여기서 소스보기를 해보면

url에 인자값인 admin page는 val가 2라네요.

그래서 val=2를 해보니, Query Error가 뜹니다.그래서 힌트인 소스보기(index.phps)에 들어가보니 val에 2가 없으니 union을 이용해서 인젝션하라네요.


정말 간단합니다.

union을 사용할 떄 앞의 값이 거짓이 되면 앞의 값이 출력 되지 않고 union select 뒤의 값이 출력되기 때문에 거짓으로 만든다음 union select 2%23을 해줍니다.

하지만 스페이스인(%20)이 막혀있기때문에 이를 우회하기 위한 %0A,%0D등을 씁시다.

이렇게 해보면 nice try가 나올텐데, 괄호갯수를 3개정도로 고정시켜놓고 새로고침해주면 

성공입니다!

'Write up > Wargame' 카테고리의 다른 글

[Webhacking.kr]9번 문제  (0) 2014.10.30
[Webhacking.kr]8번 문제  (0) 2014.10.30
[Webhacking.kr]6번 풀이  (0) 2014.10.05
[Webhacking,kr]5번 풀이  (0) 2014.10.05
[Webhacking.kr]4번 풀이  (0) 2014.10.04
블로그 이미지

KuroNeko_

KuroNeko

,
반응형

암호화기초부분인 100점짜리 문제입니다.


user라는 쿠키값의 존재여부를 묻고

그 안의 값이 각각 base64로 20번 인코딩 되네요.

그리고 1은 !로 2도 @로 치환이 되었으니 각각 해당되는 값들을 치환시키신게


user,password라는 쿠키값에 넣어지게 되었고,


디코드 되는 부분은 인코딩 부분과 과정을 반대로 해주시면 되구요.


근데 여기서 디코드된 아이디와 비밀번호가 각각 admin일때 문제가 풀리니


admin을 base64로 인코딩을 20번해주시고 치환시킬껀 시키신다음에

password에도 똑같은 값을 넣어주시면 성공!

(노가다 성이 짙은 문제..ㅠㅠ)

'Write up > Wargame' 카테고리의 다른 글

[Webhacking.kr]8번 문제  (0) 2014.10.30
[Webhacking.kr]7번 문제  (0) 2014.10.05
[Webhacking,kr]5번 풀이  (0) 2014.10.05
[Webhacking.kr]4번 풀이  (0) 2014.10.04
[Webhacking.kr]3번 풀이  (0) 2014.10.04
블로그 이미지

KuroNeko_

KuroNeko

,
반응형

300점짜리 문제입니다.



첫페이지는 이렇게 뜹니다. 왠지 어드민으로 로그인 해야할것 같은 기분이 드네요.ㅋㅋㅋ

먼저 로그인버튼을 클릭하게 되면


다음과 같은 창으로 넘어가게 되는데, 웹페이지의 소스를 보겠습니다.

현재페이지에 POST방식으로 값이 전달되네요.

일단 여기까지 login.php 입니다.


혹시나싶어 url에서 login.php를 지워봤더니


아래와 같이 파일들이 그대로 드러나게 됩니다.

join.php라는 파일에 들어가서 소스를 보고 간단하게 정리해봤습니다.


=============================login.php=================================

l='a';

ll='b';

lll='c';

llll='d';

lllll='e';

llllll='f';

lllllll='g';

llllllll='h';

lllllllll='i';

llllllllll='j';

lllllllllll='k';

llllllllllll='l';

lllllllllllll='m';

llllllllllllll='n';

lllllllllllllll='o';

llllllllllllllll='p';

lllllllllllllllll='q';

llllllllllllllllll='r';

lllllllllllllllllll='s';

llllllllllllllllllll='t';

lllllllllllllllllllll='u';

llllllllllllllllllllll='v';

lllllllllllllllllllllll='w';

llllllllllllllllllllllll='x';

lllllllllllllllllllllllll='y';

llllllllllllllllllllllllll='z';

I='1';

II='2';

III='3';

IIII='4';

IIIII='5';

IIIIII='6';

IIIIIII='7';

IIIIIIII='8';

IIIIIIIII='9';

IIIIIIIIII='0';

li='.';

ii='<';

iii='>';

lIllIllIllIllIllIllIllIllIllIl=lllllllllllllll+llllllllllll+llll+llllllllllllllllllllllllll+lllllllllllllll+lllllllllllll+ll+lllllllll+lllll; //oldzombie

lIIIIIIIIIIIIIIIIIIl=llll+lllllllllllllll+lll+lllllllllllllllllllll+lllllllllllll+lllll+llllllllllllll+llllllllllllllllllll+li+lll+lllllllllllllll+lllllllllllllll+lllllllllll+lllllllll+lllll; //document.cookie


if(eval(lIIIIIIIIIIIIIIIIIIl).indexOf(lIllIllIllIllIllIllIllIllIllIl)==-1) { bye; } //oldzombie쿠키 여부


if(eval(llll+lllllllllllllll+lll+lllllllllllllllllllll+lllllllllllll+lllll+llllllllllllll+llllllllllllllllllll+li+'U'+'R'+'L').indexOf(lllllllllllll+lllllllllllllll+llll+lllll+'='+I)==-1) //document.url에서 mode=1 인지 확인

=======================================================================

이렇게 되는데요. 잘보시면 oldzombie라는 쿠키값의 존재 여부를 묻고 있고 url에 인자값으로 mode를 받고있는 것을 알 수 있네요. 해당하는 값들을 전부 적용한다음

아래와 같은 페이지로 되는데,


id란에 최대 길이가 5이상이 될수 없다고 소스에 적혀있습니다.

여기까지 보았을때 sql insert에러가 생각나게 되는데요.

id varchar(5) 이렇게 되어있다면 만약 6글자를 넣었을 떄

5글자만 들어가게 되는 것입니다. 그렇다면 현재페이지에서 id의 maxlength를 수정하고 admin 로 값을 보내고 login.php에서 admin으로 로그인하시면 성공!

'Write up > Wargame' 카테고리의 다른 글

[Webhacking.kr]7번 문제  (0) 2014.10.05
[Webhacking.kr]6번 풀이  (0) 2014.10.05
[Webhacking.kr]4번 풀이  (0) 2014.10.04
[Webhacking.kr]3번 풀이  (0) 2014.10.04
[Webhacking.kr]2번 풀이  (0) 2014.10.04
블로그 이미지

KuroNeko_

KuroNeko

,

FD(File Descriptor) 정리

공부 2014. 10. 5. 20:27
반응형

FD(File Descriptor)

- 파일관리를 위해 운영체제가 필요로하는 파일정보를 가지고 있는것.

- 다른 말로는 파일 핸들


할당되있는 파일디스크립터 번호

0 : 표준입력(키보드)

1 : 표준출력(모니터)

2 : 표준에러

(* 3번부터는 실행파일에 파일핸들을 준다.)


ex)

#include <stdio.h>


int main(int argc,char *argv[])

{

int FD = open("file",O_RDONLY);


printf("File Descript : %d\n",FD);

return 0;

}

'공부' 카테고리의 다른 글

MIPS 명령어  (0) 2014.11.21
새로 알게 된것  (0) 2014.11.02
RTL(Return To Libc)  (0) 2014.11.02
스택 구조와 sfp 그리고 ret  (0) 2014.11.01
클래스와 네임스페이스  (0) 2014.10.30
블로그 이미지

KuroNeko_

KuroNeko

,
반응형


사이트에 접속하면 이런 창이 뜨는데 Base64로 암호화 되어있습니다.


Base64를 디코딩 시켜서 Password에 넣으면 성공!

'Write up > Wargame' 카테고리의 다른 글

[Webhacking.kr]6번 풀이  (0) 2014.10.05
[Webhacking,kr]5번 풀이  (0) 2014.10.05
[Webhacking.kr]3번 풀이  (0) 2014.10.04
[Webhacking.kr]2번 풀이  (0) 2014.10.04
[Webhacking,kr]1번 풀이  (0) 2014.10.04
블로그 이미지

KuroNeko_

KuroNeko

,
반응형

간단한 SQL Injection 문제입니다.


일단 이 문제는 먼저 퍼즐을 푸셔야합니다.

퍼즐을 푸셨다는 가정하에 진행하겠습니다.



이런 입력창이 뜹니다. 저 name값에 인젝션을 해도 문제의 해답이 나오지 않았습니다.

그렇다면 burp suite를 사용해 중간에서 값을 보도록 하겠습니다.



answer이란 값이 보이네요. 한번 쿼리구문을 예상해보면

select * from 테이블 where answer=값

이런 식인 것 같습니다. 그렇다면

정답을 가져오기 위해선 항상 answer값을 true로 만들어야 겠죠.

그러면 answer에 추가할 값은

||1 이 됩니다.

정답이 나오니 Auth에 넣으면 성공!

'Write up > Wargame' 카테고리의 다른 글

[Webhacking.kr]6번 풀이  (0) 2014.10.05
[Webhacking,kr]5번 풀이  (0) 2014.10.05
[Webhacking.kr]4번 풀이  (0) 2014.10.04
[Webhacking.kr]2번 풀이  (0) 2014.10.04
[Webhacking,kr]1번 풀이  (0) 2014.10.04
블로그 이미지

KuroNeko_

KuroNeko

,