일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정보처리기사 실기
- Spring
- BOF
- webhacking
- 웹해킹
- 정보보안기사 실기
- PWN
- Spring MVC
- OS
- Spring Framework
- SQL
- System
- Shell code
- webhacking.kr
- system hacking
- hacking
- pwnable
- Pwnable.kr
- wargame
- 운영체제
- LOB
- Operating System
- stack overflow
- 워게임
- Buffer Overflow
- 네트워크
- Lord of BOF
- Payload
- 정보보안기사
- 해킹
- Today
- Total
목록Wargame/webhacking.kr (28)
DongDD's IT
[webhacking.kr] Level 25 문제에 들어가니 "hello world"라는 텍스트와 함께 파일 목록이 나타나있었다.주소 창을 보니 file=name으로 되어 있었고 hello.txt가 12bytes인 것으로 보아 아마 hello.txt의 내용이 밑에 출력되는 것 같았다. password.php에 아마 flag가 있을 것이라 생각하고 file을 바꿔보았지만 아무 일도 일어나지 않았다.index.php로도 해보았지만 마찬가지로 변화가 없었다. 생각을 해보니 hello파일의 확장자는 txt로 되어있는데 hello만 입력해야 "hello world"가 나오는 것을 보고 대충 짐작할 수 있었다. 아마 file로 넘겨주는 이름 뒤에 .txt를 붙여주는 구조로 되어 있는 것 같았다.이 생각을 가지고 풀..
[webhacking.kr] Level 20 문제에 들어가보니 몇개의 입력 창이 있었고 위에 time limit : 2라는 표시와 함께 javascript challenge라는 문구가 써있었다. 일단 아무 값이나 입력해보았다. 제출을 누르자마자 code부분에 있는 값이 바뀌고 Wrong이 나온 후 다시 code값이 바뀌는 것을 볼 수 있었다.느낌이 time limit : 2 라는 것이 2초안에 제대로 된 값을 입력한 후 제출하면 통과할 수 있을 것 같았다. 크롬에 있는 개발자 도구로 자바스크립트를 중단 시킨 후 실행 해보았지만 통과할 수 없었다. 코드를 보니 다음과 같이 스크립트가 있었다. id와 cmt와 hack에 값을 넣어야하고 code와 일치한 후 제출하는 방법이였다.이 것을 2초만에 해내야하는 그..
[webhacking.kr] Level 23 이번 문제는 무엇을 해야할 지가 주어져있었다.다른 문제와 비슷할 것 같아서 index.phps로 들어가봤지만 소스코드가 없었다.어떤 것이 필터링되있는지 모르는 상태에서 해결해야하는 문제 같았다.webhacking.kr을 풀면서 처음으로 소스코드가 없는 상태로 하는 문제라 재미있을 것 같았다. XSS로 삽입해야할 문자열을 넣어보니 "no hack"이라는 message와 함께 실패함을 알 수 있었다.어떤 것이 필터링되있는지 확인해보기 위해 여러가지 시도를 해보았다. 이것 외에도 글자를 끊어서 여러가지를 시도해보았다. 필터링 되있는 방식은 모르겠지만 왠만한 단어들은 다 막혀있었다.스크린샷에서는 script만 해보았지만 alert도 마찬가지로 실패했다.대문자로도 시도..
[webhacking.kr] Level 6 base64를 사용한 것이 hint라고 주어져 있었고 id와 pw가 나타나 있었다. 이번 문제의 소스코드는 한 화면에 담을 수 없을 정도로 길었다.일단 윗부분을 살펴보기로 했다.COOKIE에 user라는 변수가 설정되어 있지 않으면 if문으로 들어가게 된다.val_id에 "guest"를 넣고 val_pw에 "123qwe"를 넣어준 후 php의 base64 인코딩함수를 이용하여20번 인코딩해주게 되어있다.그 후에 숫자를 다 특수문자로 바꿔주고 cookie에 user와 password에 넣어주는 형태로 되어있는 코드였다. 밑에 코드에서는 설정되어 있는 user와 password 쿠키를 가져와 특수문자를 다시 숫자로 바꿔주고20번 디코딩해주는 방법으로 되어있다.이 과..
[webhacking.kr] Level 33 남은 문제가 몇개인지 모르지만 오늘은 마무리 해보려고 한다. 풀다가 길어지면 다른 게시글로 올릴 것 같다. 97~122까지 for문을 돌리면서 i를 2씩 증가시켜주며 chr함수를 이용해 숫자를 아스키코드로 바꿔주고 answer에 넣어주는 것 처럼 보인다. 그리고 GET방식으로 넘겨주는 ans와 비교해 같다면 다음 단계로 넘어갈 수 있는 구조로 되어있다.abcdefghijklmnopqrstuvwxyz -> acegikmoqsuwy 이번 문제는 어려운 것 없이 무난하게 통과할 수 있었던 것 같다. 이번 문제는 Wrong이라는 출력 문구가 없이 그냥 소스코드 주소만 있었다. 소스코드를 보니 이번 문제가 마지막 문제인 것 같다. REMOTE_ADDR을 ip에 넣어주고..
[webhacking.kr] Level 33 33번 문제의 5번째 문제도 같은 형식으로 되어있었다. 게속 이런 형식인 것 같다. 소스 코드를 보니 이번에는 앞에 문제들을 합쳐놓은 형태로 되어 있었다.GET방식으로 imget을 받는 데 값이 있어야 하고POST방식으로 impost을 받는 데 값이 있어야 하고 COOKIE에 imcookie가 설정되어 있으면 Next가 나오는 방식으로 되어있다. Burp Suite를 이용해 각 항목에 받는 방식으로 1값을 넣어줘 Next를 얻어낼 수 있었다. 이번에는 hint가 나와있었다. Request header에 있는 값이 힌트로 나와있었다. 소스코드를 보면 좀 더 자세히 알 수 있을 것 같다. 이번에는 md5 암호화를 사용하는 방식으로 되어있었다. 앞에 문제와 비슷하게..
[webhacking.kr] Level 33 문제에 들어가보니 Wrong이라는 문자와 함께 소스코드를 보여주는 url이 나타나 있었다. 일단 소스코드를 보고 분석해보기로 했다. 소스코드를 보니 GET방식으로 get에 "hehe"를 전송하면 통과되는 형태로 되어 있었다. 그래서 바로 시도를 해보았다. 생각대로 GET방식으로 get에 "hehe"를 전송하니 Wrong이 없어지고 Next가 나왔다. 문제가 연계되어있는 형태인 것 같다. Next를 누르니 lv2.php로 넘어가졌고 소스코드를 보기전에 혹시 다음 페이지는 lv3.php가 아닐까 해서 입력해봤는데 없는 페이지라고 나왔다.그래서 그냥 소스코드를 보고 풀기로 했다. 소스 코드를 보니 이번에는 POST방식으로 post에 "hehe", post2에 "he..
[webhacking.kr] Level 38 문제에 들어가보니 LOG INJECTION이라고 써있었다. LOG INJECTION에 대해서 잘 모르지만 대충 찾아보니 Log를 삽입하여 생기는 취약점이라고 되어있었다.그래서 일단 admin을 넣어보았다. admin을 넣어보니 'you are not admin'이라는 메시지가 출력되었다. 실패한 것 같아서 다른 값을 넣어보았다. guest를 넣고 Admin 버튼을 눌러보았더니 다음과 같은 형태로 기록되어있는 것을 볼 수 있었다. 내 IP주소와 함께 내가 입력한 guest가 기록되있는 것을 볼 수 있었다. 혹시나 해서 IP주소와 함께 admin을 입력했더니 문제를 통과할 수 있었다. ************** Answer & Flag **************
[webhacking.kr] Level 4 문제에 들어가니 암호화 된 것 같이 보이는 문장이 써있었다. ==이 있는 것으로 보아 base64로 인코딩된 문자 같아서 base64로 디코드 해보았다. base64로 디코드하고 보니 새로운 문장이 나왔다. 이것이 답인가 해서 제출해 보았다.변화가 없는 걸로 보아서 틀렸다고 생각되었고 이것 또한 암호화된 코드라고 생각했다.'c4033bff94b567a190e33faa551f411caef444f2' 16진수처럼 보이고 40글자로 인코딩되어 있는 것 같아서 SHA-1로 암호화 된 것이 아닐까 하고SHA-1로 복호화를 해보았다. https://www.hashkiller.co.uk/sha1-decrypter.aspx 위 사이트를 이용해 복호화했다. 복호화에 성공할 수 ..
[webhacking.kr] Level 24 문제에 들어가니 IP주소가 써있고 기타 정보들, 그리고 Wrong IP라는 message를 볼 수 있었다. 대충 이러한 정보들을 보고 소스코드를 보기로 했다. 이번 소스에서는 모르는 함수와 모르는 변수들이 좀 있었다. 어떻게 풀어야될지 알려면 함수와 변수들이 필요할 것 같아 찾아보았다.extract 함수는 배열에서 현재 심볼 테이블로 변수를 가져오는 것이라고 설명되어 있었다.$_SERVER는 기본적으로 있는 변수로 안에 여러가지 정보들이 저장되는 것 같았다.$_SERVER를 변수화 시키기 위해 extract를 쓰는 것 같았다.그 이후 REMOTE_ADDR이 없다면 SERVER의 REMOTE_ADDR을 넣어주고 이 값을 ip에 넣어주고, 정보를 agent에 넣어..