일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- System
- Spring MVC
- Buffer Overflow
- 운영체제
- Shell code
- 네트워크
- LOB
- 해킹
- Operating System
- 워게임
- system hacking
- 정보처리기사 실기
- Lord of BOF
- 정보보안기사 실기
- wargame
- BOF
- pwnable
- SQL
- PWN
- Spring Framework
- hacking
- Payload
- 웹해킹
- 정보보안기사
- stack overflow
- Spring
- Pwnable.kr
- webhacking
- webhacking.kr
- Today
- Total
목록webhacking (27)
DongDD's IT
[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] 가입 webhacking.kr 문제를 풀고 있지만 뒤늦게 가입방법을 올리려고 한다.webhacking.kr은 가입부터가 문제라고 볼 수 있다. webhacking.kr에 들어가면 처음 볼 수 있는 페이지다. 처음에 시작할 때는 홈페이지가 되게 멋있다는 생각을 했었다.먼저 로그인밖에 없는 것을 볼 수 있다. 처음에는 가입하는데 굉장히 오래걸렸었다.브라우저에 있는 개발자 도구를 보기로 하자. 개발자 도구로 소스코드를 보면 Register라 써있고 주석처리가 되있는 것을 볼 수 있다. 여기서 두 가지 방법을 통해 가입 페이지로 갈 수 있다. 첫 번째는 주석에 있는 location.href를 주소에 붙여넣기해서 들어가는 방법이 있다. 이런 방식으로 주석에 써있는 것을 붙여넣기해 들어..
[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에 넣어..
[webhacking.kr] Level 27 문제에 친절하게 SQL INJECTION이라고 써있는 것을 보아 SQL INJECTION 문제인것 같았다. GET방식으로 no를 보내는 것으로 보이고 index.phps를 보라고 써있었다. 소스코드를 보니 Level 18번 문제와 비슷한 형식으로 되어있었다. 저번과 마찬가지로 필터링이 들어가있고 해당 쿼리를 실행해 select으로 얻어오는 것이 admin이면 통과하는 것처럼 보였다. 필터링 확인을 해보기 위해 일단 '1 or 1 = 1'을 입력해보았다. no hack이라고 나오는 것을 보아 필터링에 걸린 것을 알 수 있었다.limit, \t, (, = 등 여러가지 필터링이 걸려있어 일단 공백을 통과해보기로 했다.저번에 풀었던 비슷한 문제에 걸려서 사용했었던 '..