일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- burp suite
- XSS GAME
- web hacking
- CTF
- 개발자
- system hacking
- SQL Injection
- hackthissite
- root me
- Over The Wire
- Wargame
- web-server
- 사이버보안
- 코딩
- 테크트렌드
- 프로그래밍
- overthewire
- 인공지능
- lord of sqlinjection
- 정보보안
- pythonprogramming
- geminipro
- write up
- Bandit
- 웹개발
- webhacking.kr
- sql injection bypass
- WebHacking
- 웹해킹 기초
- 웹해킹
- Today
- Total
목록Wargame (21)
컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지

문제의 화면이다.'Content is not the only part of an HTTP response!'번역하면 '콘텐츠만이 HTTP 응답의 일부는 아닙니다!' 콘텐츠만이 HTTP 응답의 일부가 아니라는 게 무슨 뜻일까?바로 burp suite를 사용해 패킷을 잡아 보았다.응답을 보내자 다음과 같이 답변이 왔고 여기서 'Header-RootMe-Admin : none'이라는 게 있었다.이것을 Request에 추가한 뒤에 'none'을 'admin'으로 수정해서 다시 응답을 보냈다. 그러자 다음과 같이 패스워드 값을 주게 되었다!

슬슬 해킹스러운 문제가 나오는 구만!이라는 생각이 드는 문제였다. 문제 사이트에는 이렇게 ip주소를 입력하는 입력창과 제출 버튼이 나와있다. 이번 문제도 burp suite를 사용하여 패킷을 받았다. 이렇게 되어 있었고 ip 입력창에 127.0.0.1을 입력하고 다시 패킷을 받아 보았다... 그랬더니.. 이렇게 ip=127.0.0.1이 생기고 결과 값이 반환되었다.문제의 이름이 PHP-Command injection 인 만큼 이번 문제의 힌트와 해결할 수 있는 방법은command injection을 사용하는 것이다. 이 문제에서 명령어 주입(command injection)이 발생할 수 있는 이유는 다음과 같다.사용자 입력 검증 부족:이 코드에서 사용자는 ip 필드에 임의의 값을 입력할 수 있으며, ..

Admin is really dumb...관리자는 정말 멍청하네요...ㄷㄷ... 챌린지 화면이다. Wrong user-agent: you are not the "admin" browser!잘못된 사용자 에이전트: "관리자" 브라우저가 아닙니다!이라고 한다... 바로 burp suite로 패킷을 잡아보자 User-Agent가'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36' 라고 한다. 이걸 'admin'으로 수정해서 send 해서 Response를 받아보았다.... 그랬더니 이렇게 'Welcome master'이라는 문장과 함께 Password값이 ..

2번째 문제 collision을 풀어보았다. collision의 뜻이 충돌, 격돌이라는 뜻이라고 한다. ls 명령어를 사용하여 보니 [fd]와 마찬가지로 col col.c flag 3개의 파일이 존재했고 cat flag 역시 권한이 없어 실행하지 못했다. vi를 사용해 col.c를 살펴보았다. chat gpt가 있어 공부하기 너무 수월해졌다는 생각이 드는 요즘이다...ㅎㅎ; 일단 hashcode = 0x21DD09EC라고 한다. 그리고 check_password 함수가 보이는데 const char* p: p로 전달된 패스코드를 입력으로 받습니다. const 키워드는 함수 내에서 입력된 문자열을 변경하지 않음을 나타냅니다. int* ip = (int*)p;: p는 문자열 포인터인데, 이를 정수 포인터로 형..

칼리 리눅스를 사용해서 pwnable.kr [fd] 문제를 풀어보았다. 우선 접속 정보를 바탕으로 ssh fd@pwnable.kr -p2222으로 들어가 pw인 guest를 입력하여 문제로 접속하였고 ls를 눌러 파일들을 살펴보니 fd fd.c flag 이렇게 3개가 있었다. 당연히 cat flag를 입력해도 flag를 읽을 권한이 없었다.. ㅎㅎ 그래서 cat fd.c를 입력하여 코드를 살펴 보았다. 하지만 보다 보기 편하게 write up을 작성하기 위해 vi를 사용해서 화면을 캡처하였다. 코드는 생각보다 간단하게 작성되어 있었다. 코드를 분석해 보면 char buf[32]; - 32바이트 크기의 문자 배열 buf를 선언하였고 if(argc < 2) { - 프로그램이 실행될 때 전달된 명령줄 인수의 ..

darkknight 정말 다크나이트한 문제였다... 우선 Hello admin을 보기 위해 sql injection 공격을 수행하려고 했다. 그런데 여기서 '(세미콜론)이 pw에 필터링이 되어있어서 pw에 sql injection 공격을 하기에는 무리가 있었다. 이것 때문에 시간을 많이 소비하게 되었지만 나무를 보지 말고 숲을 봐야 하는 마음으로 뒤에 and no=이 있었기 때문에 $_GET [no]에 sql injection 공격을 수행하였다. ?no=12%20or%20id%20like%20"admin"--%20 이렇게 작성했고 공격은 성공적이었다. 그럼 이제 pw를 찾아야 하는 단계이다. 바로 뒤에 sql 구문을 추가해서 pw의 길이를 알아보았다. ?no=12%20or%20id%20like%20"ad..

LORD OF SQLINJECTION은 문제를 풀다 보면 알 수 있지만 계속 단계를 거듭할수록 전 단계에서 사용했던 기술들을 활용하는 점에서 공부하는데 굉장히 큰 도움이 되는 것 같다. 이번 문제 역시 전 단계들을 풀면서 활용했던 기술들을 사용하는 문제이다. 우선 'or', 'and' 그리고 이번에는 '=' 이것도 필터링이 되었다. '='은 'like'를 사용하여 필터링을 우회하였다. 첫번째로 Hello admin을 띄워보자면 ?pw=123%27%20||%20id%20like%20%27admin# query : (select id from prob_golem where id='guest' and pw='123' || id like 'admin') 또는 ?pw=123%27%20||%20id%20like%2..