전체 글
[Webhacking.kr] Challenge old-17
[Webhacking.kr] Challenge old-17
2020.08.14여기는 무슨 인트로가 다 성의가 없다! 맞는 값을 입력하고 체크를 누르면 값에 따라 맞고 틀리고를 판별해준다. 소스코드를 살펴보자 unlock이라는 변수에 저장된 값을 입력해주면 될것 같다. 근데 저 복잡한걸 직접 풀까...? 우리에게는 콘솔이라는 친절하고 똑똑한 친구가 있다!! 식에 해당하는 100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+1/10-10+10+50-9*8+7-6+5-4*3-2*1*10*..
[Webhacking.kr] Challenge old-16
[Webhacking.kr] Challenge old-16
2020.08.14어이가 없는 첫 페이지다. 별표 하나 띡 있고 뭐가 없다! 소스코드를 살펴보자 Challenge 16 * JS코드가 포함된 코드다. body 태그에서 특정키를 누르면 mv라는 함수를 호출한다. 이 함수는 입력된 키가 무엇인지에 따라 저 별을 이동시키는 것으로 보인다. 실제로 영어로 wasd를 입력하면 그에 따라 게임처럼 별이 이동하는걸 확인할 수 있었다. 그럼 우리가 해내야 하는 목표는 무엇일까??? 저 mv 함수에 124를 의미하는 입력키가 눌리면 된다. 그럼 저기 하이퍼링크가 걸리는 명령이 실행될 것이다!!! 그럼 124를 의미하는 입력키가 무엇인지 알아내기 위해 그 위 조건문들을 살펴보았다.100, 97, 119, 115가 의미하는게 무엇일까.. 왜 저게 wasd일까 흐음 답은 아스키코드였다. 그럼..
[LOS / LORD OF SQL INJECTION] cobolt
[LOS / LORD OF SQL INJECTION] cobolt
2020.08.12https://los.rubiya.kr/gate.php https://los.rubiya.kr/gate.php los.rubiya.kr
[LOS / LORD OF SQL INJECTION] gremlin
[LOS / LORD OF SQL INJECTION] gremlin
2020.08.128월 11일 저녁부터 지금 이 글을 작성하는 8월 12일 새벽까지 webhacking.kr이 열리지 않는 관계로 풀만한 워게임을 찾다가 발견한 LOS.. 해커스쿨에서 BOF와 비슷한 시리즈로 만든 웹해킹, 특히 SQL Injection에 대한 워게임이 있는 사이트다. https://los.rubiya.kr/gate.php https://los.rubiya.kr/gate.php los.rubiya.kr gremlin 문제의 php 코드다. php 코드에서는 우리가 GET 방식으로 전달한 id값과 pw값이 어떻게 처리되는지 보여준다. 대충 한 번 훑어보면 $_GET['id']와 $_GET['pw']에서 특정 문자의 필터링을 거쳐서 만약 있다면! exit하게 한다. 만약 이 필터링을 넘긴다면 DB에 id와 p..
[써니나타스 Suninatas] 리버싱 reversing No.10
[써니나타스 Suninatas] 리버싱 reversing No.10
2020.08.11http://suninatas.com/challenges/reversing 써니나타스 웹해킹, 포렌식, 리버싱, 암호학, 해킹 워게임 제공. www.suninatas.com 써니나타스 리버싱 10번 문제다. 문제 파일을 다운로드 받고 기드라로 열었다. main 함수를 찾기 위해서 String Search를 이용해 main 함수에서 출력할만한 문자열(예를 들어, input이나 correct 등이 이에 해당한다.)를 찾으려고 하였다. 근데.... 넨? AuthKey를 이렇게 친절하게 알려줘도 되는건가? 룰루...?
[FTZ 정복기] level2
[FTZ 정복기] level2
2020.08.07어어어어ㅓ어어 이거 어디서 풀어본거 같은데!!!!! 어떻게 하드라 일단 level3 권한의 setuid가 걸린 파일을 찾아보자. 이는 level1에서 했던 방식과 똑같다. 나 왔 다 열어볼까요~? 호오 진짜 에디터구나..? 여기서 !는 VI Editor에서 외부의 쉘을 실행시켜주는 명령어입니다. level3의 권한으로 bash를 실행시킨다..허우허우 마무리는 역시!? my-pass~~ Level3 Password is "can you fly?".
[FTZ 정복기] level1
[FTZ 정복기] level1
2020.08.07FTZ 정복기 시작한다.. 조건에 성립하는 파일을 찾으면 되는 문제다. 주어진 조건은 level2가 권한을 가지고 있으며(user 옵션) setuid가 걸려있는 파일이라는 것이다. 여기서 setuid는 리눅스의 특수 권한중 하나로, setuid가 걸려있는 프로그램을 실행시 특정 작업 수행을 위해 일시적으로 파일 소유자의 권한을 갖고온다. 즉 우리가 찾는 프로그램을 실행시키면 일시적으로 level2의 권한을 갖고오는 것이다. SETUID에 대해 조금 더 자세히 알고싶다면!? => https://leeggoggal.tistory.com/10 조건을 줘가면서 파일을 찾을 수 있는 명령어가 리눅스에 find 라고 있다! 우선 -user 옵션을 통해서 소유주가 level2라는 것을 명시하자. 그리고 위 사진에서 ..
Suninatas Web 4번
Suninatas Web 4번
2020.08.06이 문제를 풀기 위해서는 UserAgent의 개념을 알아야 할 필요가 있다. User-Agent란 뭐,,, 구글링으로 공부한 바로는 서버에 사용자의 정보? 사용자의 운영체제, 웹 브라우저의 버전 등의 정보를 넘길 때 사용하는 것이다! 위 캡처를 보면, 나는 매킨토시 환경에, Mac OS X 10.15 버전의 운영체제를 사용하고 있고, Firefox 79.0 버전의 웹 브라우저를 사용하고 있다. 이 정보는 위와 같이 서버 방문자의 정보를 알 수 있게 해주는 착한 친구로 보인다. 그럼 문제로 넘어가보자 http://suninatas.com/challenge/web04/ User-Agent, 즉 내 웹브라우저 정보가 적혀있다. 서버에 전송되는 User-agent 데이터 그대로일 것이다. Plus 버튼을 누르면..
[드림핵 Dream hack] rev-basic-2
[드림핵 Dream hack] rev-basic-2
2020.08.06이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
Suninatas Web 3번
Suninatas Web 3번
2020.08.05그냥 뭣도 없이 Notice Board에 글을 쓰란다. Notice Board가 뭔가~ 하고 살펴보니! Notice 게시판에 글을 쓸 수 있는 방법이 없다... 흐으으으으으ㅡㅁ 사이트를 좀 더 둘러보자 Free Board에 글을 작성하는 버튼을 눌러보쟈 흠 주소가 정말 간단하다. 저기 free를 notice로 바꾼다면...? 뚜둥!!!!! 됐다씨 글 작성 ㄱㄱ 후우우우우우ㅜ웅
Suninatas Web 2번
Suninatas Web 2번
2020.08.05로그인에 성공하면 되는 문제로 보인다.. 소스코드를 봐보자 Join 버튼을 누르면 chk_form()이라는 자바스크립트 함수가 실행된다. id로 입력한 값과 password로 입력한 값이 같다면 다시 시도하라는 문구가 출력되고 초기화된다. 근데 같지 않다면 제출이 됨을 확인할 수 있다. 제출이라,,, 서로 다른 값을 입력해보자 흠 똑같이 초기화된다. 뭘 원하는거지 힌트에서는 id와 pw가 같다고 한다. 그럼 웹브라우저에서는 다른 값을 주고 서버에는 같은 값을 직접 주면 된다. 이를 위한 초절정 간지툴 버프수트를 키자 모든 준비 완료,,,여기서 왼쪽 브라우저에 다른 값을 넣고 Join을 누르고 오른쪽 BurpSuite에서 그 전송을 캐치해서 값을 바꾸고 다시 보내줄 것이다! 해보쟈 id와 pw에 각각 12..
Suninatas WEB 1번
Suninatas WEB 1번
2020.08.05사용자의 입력값이 위의 변환과정을 거쳐 "admin"이 되면 된다. a -> aad i -> in 2번째 문자부터 2개의 문자를 불러왔을때 이것이 admin의 ad가 되어야 하기에 result의 2,3번째 문자는 ad다. 근데 ad가 생기기 위해서는 str의 첫번째 문자가 a여야 가능한 결과다. 즉 str은 a로 시작하고 result는 aad로 시작한다. 4번째 문자로부터 6개를 불러오는데 이것이 admin의 min을 담당해야 한다. 그렇다면! str의 2,3번째 문자는 m,i였을 것이다. 그래야 m은 변환되지 않고 i 만 in으로 변하여 admin을 완성시킨다. 즉 str은 ami다! ami를 입력하고 Check를 누르면 Authkey가 뜬다. 사이에 오는 코드인걸로 보아 JSP로 보이는데, Mid함수..