Wargame(Web)/Webhacking.kr Writeup
Webhacking Writeup 38번 문제
Webhacking Writeup old-38번 문제입니다. 일단 로깅 인젝션이 무엇인지 몰라 구글링을 했습니다. https://unabated.tistory.com/entry/Log-Injection 위 자료를 통해 로깅을 변조해 로깅파일을 신뢰하지 못하게 하는 공격이란것을 이해했습니다. 그럼 일단 목표일것 같은 admin부터 입력해보겠습니다. admin으로 로그인 하는 것은 막혀있는지 admin이 아니라고 합니다. 그럼 가볍게 guest부터 시작해보겠습니다. 입력해서 로그인을 눌렀으나 새로고침되고 아무런 반응이 없습니다. 어떻게 된건지 모르겠어서 소스코드를 열어보았습니다. 소스코드에서 admin.php가 있다는 힌트를 줍니다. 이쪽으로 들어가 보겠습니다. guest로 로그인했다는 log에 제 아이피가..
Webhacking Writeup 23번 문제
Webhacking Writeup old-23번 문제입니다. 를 실행시켜야 하는 것을 보니 XSS문제입니다. 일단 필터링이 무엇이 걸려있는지 확인하는것이 중요한데 기본을 먼저 입력해보겠습니다. 일단 값이 url에 표시되는 것을보니 get방식으로 전달되니 url의 입력이 가능할 것이고 ( ) 와 ; 값이 url인코딩되는 것을 보아 직접 url에 입력이 필요할 것같습니다. 그외에 no hack 출력이니 어디선가 필터링이 되는 것을 확인 할 수 있습니다. 소스코드를 제공해주지 않아 하나하나 직접 노가다로 확인할 수 밖에 없을 것 같습니다. 하나하나 확인해본 결과 ; ( ) 같은 특수문자는 필터링이 안걸려있는데 script 나 sc 같은 문자열에 대한 필터링이 걸려있습니다. 즉 를 입력할때 문자열 사이사이를 공..
Webhacking Writeup 19번 문제
Webhacking Writeup old-19번 문제입니다. 처음 사이트에 접속하면 admin이 입력되어 있으며 제출을 누를시 아래와 같이 어드민이 아니라며 로그인되지 않고 몇초가량 이후 원래 페이지로 돌아갑니다. 예상하기로는 admin으로 로그인 하는 것이 목표인것 같습니다. admin으로 로그인이라면 가장 있을 법한 guest를 시도 해보았습니다. guest에 성공을 했으나 어떠한 소스코드를 주는 것이 없어 여러가지를 살펴보다 쿠키값이 생성되어 있는 것을 확인 할 수 있었습니다. 여기서 눈에 띈것이 맨 뒤에 있는 == 부분입니다. 이러한 방식을 사용하는 암호는 base64가 가장 유력하기에 복호화를 시도해봤습니다. 예상대로 깨진 부분없이 복호화가 되었으나 복호화된 문장도 암호화되어 있는 것으로 확인되..
Webhacking Writeup 32번 문제
Webhacking Writeup old-32번 문제입니다. 접속해보면 대략 천개가 넘는 랭크가 있습니다. 뭘해야 할지 몰라 아무나 클릭해보니 클릭한 아이디의 hit값이 하나 올라갔습니다. 여기서 어떤아이디를 hit 100으로 올려야하는지 모르겠어서 쭉내려보다가 한글 닉네임에 이름들이 나열된것을 보고 webhacking 유저 아이디인것을 캐치했습니다. 본인의 아이디도 있을것으로 예상해 검색해보니 1300등 내외에 등록되어 있었습니다. 그럼 제 자신을 100으로 올리면 문제가 해결될 것으로 예상하고 클릭했는데 이미 투표를 진행해서 못한다고 출력됩니다. 그래서 소스코드를 열어보니 이름들을 같은 규격으로 나열된것 외에는 아무것도 없었습니다. 그래서 쿠키값 설정을 들어가보니 vote_check 값은 ok 쿠키가..
Webhacking Writeup 26번 문제
Webhacking Writeup old-26번 문제입니다. 접속해보면 소스코드가 적힌 링크를 주는 것말고 아무것도 없으니 일단 소스코드를 보겠습니다. 중간에 색깔로 된 부분이 우리가 풀어야할 부분으로 보입니다. 해석하면 preg_match()함수는 필터링함수로 admin로 id값을 입력받을 경우 no출력과 함께 exit() 함수 종료로 아래 구문이 실행이 안된다는 군요 이후 구문은 필터링을 통과하면 urldecode( )로 입력받은 id를 한번 디코더해주고 입력받은 id값이 admin일경우에 문제가 해결된다고 합니다. 여기서 문제가 주는 힌트가 있는데 urldecode( )함수 입니다. 왜냐면 url로 값을 입력할때 url인코딩를 해서 값을 입력하라는 힌트거든요 그러면 admin의 url인코딩 값을 찾..
Webhacking Writeup g00gle1 문제
Webhacking Writeup g00gle1 문제입니다. 일단 접속해보면 필수로 선택해야하는 지문이 있고 둘다 yes sure 이니 답은 정해놨네요 우린 당연히 깃발을 얻으러 왔으니 yes를 눌러보겠습니다. 이게 무슨 개떡 같은 상황인지.... 필수 지문으로 정해놓고 질문내에서 0개를 선택하랍니다 어이가 없네요 결국 검사를 켜서 소스를 봐야겠습니다. 역시 갓글 설문페이지 템플릿하나는 기가막히게 만들어서 이 고생을 시킵니다. 일단 아까 yes를 눌렀을때 설문지의 테두리가 빨개지고 밑에 아이콘이 생겼습니다. 이건 사용자의 요청에 따라 웹페이지가 작동한것인데 이런 작업이 가능한 건 javascript가 담당합니다 그러면 다른거 다 제끼고 자바스크립트 부분만 넘겨보겠습니다. 엄청난 양의 코드인데 다읽다가 쓰..
Webhacking Writeup 18번 문제
Webhacking.kr Writeup old-18번 문제입니다. 접속하면 소스코드 링크를 줍니다. 먼저 소스코드 링크를 보겠습니다. SQL INJECTION RESULT
Webhacking Writeup 15번 문제
Webhacking Writeup old-15번 문제입니다. 문제에 접속하면 바로 alert 창이 출력되며 이후 다시 webhacking 사이트로 되돌아가 버립니다. 이 문제를 해결하기 위해 버프스위트로 삽질도 해보고 다른 문제도 풀어보면서 머리도 식히던 중에 다른 문제에서 alert가 자바스크립트에서 실행되는 것을 보았습니다. 그리고 광고 팝업창을 끄려고 자바스크립트를 사용안함 설정을 크롬에서 한적이 있던게 기억나 바로 실행해 보았습니다. 아무것도 실행되지 않으며 HTML소스를 볼 수 있게 되었습니다!! 페이지 소스를 보니 하이퍼링크로 ?getFlag 에 접속하면 플래그를 출력해주면서 문제가 해결되었습니다 버프스위트로 들어가려고 삽질한 과거의 나에게 미안한 문제였습니다.