webhacking 8

[휴학] DreamHack Cookie

너를 위해 구웠지~ 세 번째 문제이다. 코드를 분석하기 위해 비주얼코드를 사용하여 오픈하였다. 제공해주는 웹으로 접속했다. 게스트 로그인을 했다. admin으로 로그인 하기 위해선 flag가 필요하다. 코드 내용을 보면 허점이 있다. get으로 이용자가 전송한 username 입력값을 가져오고 try에서 users 변수에 이용자가 전송한 username이 있는지 확인한다. 그 쿠키값을 guest에서 admin으로 바꾸면 될 것 같다. 문제에서 참고하라고 한 강의이다. Value값을 guest → admin으로 바꿨다.

카테고리 없음 2022.09.08

[휴학] DreamHack devtools-sources

오늘 풀 문제이다. 이 문제는 로드맵을 따라가면 제일 먼저 발견해야 했을 문제지만 지나쳐버리는 바람에 두번째 문제를 풀고 푼다. flag를 찾아야 한다. 전에 풀었던 문제도 코드를 봤으니 이번에도 코드를 살펴볼 예정이다. js에 실행을 시키거나 어떻게 해야할지 나올 것 같았으나 한줄로 되어 있는 바람에 경악을 했다. 그래서 Ctrl + U 로 소스전체 보기를 통해 찾기로 했다. 코드로만은 발견할 수 있을 것 같지 않았다. 특히 js는 막막했다. 검색을 이용해서 flag를 찾고자 했으나 없었기에 코드를 하나하나 분석하는 방법밖에 없다고 생각했다. 코드를 읽다가 말고 힌트를 찾기 위해 다시 문제로 돌아왔고, 개발자 도구의 Sources 탭을 이용하기로 했다. 개발자 도구에서도 Ctrl + F 가 가능했다. ..

웹해킹/DreamHack 2022.09.08

[휴학] DreamHack Web Hacking, session-basic

오늘 풀 문제는 session-basic이다. 문제에서 제공한 참고문헌이다. (강의 코스) 먼저 코드를 열어보니 flask를 처음 접할 수 있었고, 회색 글씨와 함께 경고문구가 있었다. 상관없겠거니 넘어갔으나 코드를 분석하는 과정에서 이상함을 느낄 수 있었다. 코드로 웹을 불러오고 싶어도 계속되는 404와 500의 조우에 초심으로 돌아가고자 첫번째 문단의 코드를 봤는데 flask가 문제였다... 설치를 위해 파이썬 버전과 pip 버전을 확인하며 준비물은 잘 있나 체크한 후 설치해 주었다. 이후 임의로 만든 웹에 들어가 개발자 도구로 살펴보았지만 삽질이었다. (index.html과 login, admin 확인) 문제 사이트에 들어가니 제공해주는 웹이 있었고 반가웠다. 로그인 화면을 발견하였고 guest와 ..

웹해킹/DreamHack 2022.09.07

[Webhacking.kr] level26 웹해킹 레벨26

웹해킹 Challeges level26 첫번째 힌트 페이지인 index.phps를 클릭해줍니다.admin이 디코딩하여 id와 맞다면 slove()가 호출됩니다.그렇다면 인코딩을 한번 해놔야겠죠?url인코딩 표를 보고 admin을 바꾸면 %61%64%6D%69%6E가 되네요한번 id로 url에 넣어봅니다.엔터를 누르면 바로 admin으로 디코딩 되는걸 볼 수 있습니다.이 이유로는,웹 서버와 브라우저 사이에서 데이터 교환 시 브라우저는 폼에서 입력받은 데이터를 자동으로 인코딩한 값을 PHP서버로 보내고PHP는 받은 인코딩 된 값을 자동으로 디코딩한다고 합니다.한마디로 디코딩을 한번 자동으로 해준답니다. 세번째 한번 더 인코딩을 해준다면한번 디코딩한 값과 id == admin으로 클리어!

[Webhacking.kr level14] 웹해킹 레벨14

웹해킹 Challeges level14 check만 덩그러니 있네요. 첫번째 F12 개발자 도구를 켜줍시다. 스크립트를 보니 ul에 해당 페이지 url을 넣어주고".kr"을 찾아 숫자로 변환해 주네요http://webhacking.kr/challenge/javascript/js1.html 에서의 .kr은 17번째네요(0부터 계산) ul = ul(17) * 30;ul = 510; 이네요 510을 넣고 check를 눌러줍니다. ul == pw.input_pwd.value 이므로 비밀번호가 뜨네요.auth로 가면 답을 제출하는 곳이 있습니다.세번째 외워둔 답을 제출해 줍니다.클리어!

[Webhacking.kr] level6 웹해킹 레벨6

웹해킹 Challeges level6 level1에서 봤던 index.phps가 있습니다. 첫번째 클릭해 봅시다. 위 두장의 코드가 나오네요. 역시 solve()를 찾아줍니다.id와 pw가 "admin"일 시 호출해 주네요.히자만 위의 for문에서 id와 pw를 20번 디코딩해줍니다.그렇다면 20번 인코딩한 값을 넣어야 20번이 디코딩 되었을 때 solve()를 호출하겠네요.Webhacking.kr로 돌아가서 admin을 입력하고 두번째 인코딩을 20번 해줍니다.인코딩을 20번 한 값을 세번째 복사해줍니다. 다시 level6으로 돌아가서 쿠키를 열어줍니다. user와 password가 보이네요.둘다 admin과 같을 때 였으니 네번째 둘 다 붙여 넣어줍니다.클리어!

[Webhacking.kr] level1 웹해킹 레벨1

웹해킹 Challeges level1첫번째 F12를 눌러 개발자 도구를 켜줍니다. 현재 페이지의 코드를 보며 어떤 힌트가 있는지 찾아줍니다! html을 아신다면 좀 더 편하게 보실 수 있습니다.소스 중 onclick 부분을 눌러보면 페이지의 어디 부분에 해당되는지 확인 할 수 있습니다.두번째 클릭해 줍니다. 클릭을 해보니 소스 페이지가 뜨네요. solve를 찾고 문제를 해결하기 위해 solve부분의 조건을 만족시켜줘야 합니다.쿠키값이 6보다 크거나 같다면 쿠키 값이 1로 초기화 됩니다.하지만 쿠키 값이 5이상이여야 solve()를 호출해 주네요.세번째 구글 확장프로그램에서 EditThisCookie를 깔아줍니다. 쿠키 값을 바꾸기 위한 프로그램이 필요하기 때문입니다.네번째 solve()를 불러내기 위한 ..