write-up(web)

    [Dreamhack] CSS injection write-up

    보호되어 있는 글입니다.

    [Dreamhack] pathtraversal write-up

    보호되어 있는 글입니다.

    [Webhacking.kr] Challenge old-02 write-up

    [Webhacking.kr] Challenge old-02 write-up

    문제 화면입니다. 주석을 확인해보니 admin.php가 존재하는 걸 알 수 있습니다 admin.php로 가주면 비밀번호를 입력하라고 나오는데 여기선 sql 인젝션이 먹히지 않습니다. 방향을 잡기 어려워 라업을 잠깐 보니 이 문제에선 쿠키에 time 값이 새로 세팅되어 있으며 이 값으로 블라인드 sql 인젝션을 수행할 수 있다고 합니다. time 값을 바꿔주면 주석에 적힌 시간이 바뀌는데 0을 넣어주면 새로 세팅되며 양수를 넣어주면 해당 값 만큼 더해진 시간 값을 주석으로 반환해줍니다. 또한 조건식을 넣어주면 참일 때 1, 거짓일 때 0을 가져옵니다. 소스 코드를 제공하지 않으므로 정확한 함수를 알 순 없지만 mysql의 from_unixtime이라는 함수로 추측해볼 수 있습니다. from_unixtime..

    [Webhacking.kr] Challenge old-47 write-up

    [Webhacking.kr] Challenge old-47 write-up

    문제 화면입니다. 메일에 관련된 문제인 것 같습니다. 이메일을 넣고 send를 누르면 메일을 보냈다고 하는데 받진 못합니다. 접근 방법을 모르겠어서 검색해보니 mail header injection을 활용하는 문제라고 합니다. 공격자가 메시지에 추가 헤더를 삽입하여 메일서버가 의도한 것과 다르게 동작하도록 지시하는 것. 이메일 헤더에 cc(참조)나 Bcc(숨은 참조)를 추가하여 관리자에게만 보내는 메일을 다른 사람들에게 참조를 하여 메일을 보낼 수 있는 취약점. \r\n(%0a)를 사용해서 헤더에 옵션을 추가하는 공격으로 이해했으며 버프스위트로 헤더를 조작하면 될 것 같습니다. Cc: 뒤에 가입할 때 사용했던 본인 이메일 주소를 입력하면 됩니다. 플래그가 나옵니다! 메일을 실제로 보내는 것이 아닌 사용자..

    [Webhacking.kr] Challenge old-43 write-up

    [Webhacking.kr] Challenge old-43 write-up

    문제 화면입니다. 웹셸을 업로드해서 cat /flag 명령을 수행시키면 플래그를 얻을 수 있습니다. php의 system 함수를 통해 운영체제에 명령을 내릴 수 있습니다. url로 명령을 입력할 수 있는 php webshell을 작성하였습니다. 이 파일을 그냥 업로드하면 업로드에 실패하게 됩니다. php 확장자를 필터링하는 듯 합니다. 이를 우회하기 위해 프록시(버프스위트)를 사용해 content-type을 바꿔주도록 하겠습니다. content-type을 image/jpeg로 변경해준 뒤 전송해줍니다. 업로드에 성공했습니다. 링크를 클릭하면 해당 파일로 이동할 수 있습니다. 이제 cmd 파라미터에 cat /flag를 전달해주면 플래그가 나옵니다!