본문 바로가기

Wargame, CTF/webhacking.kr

(56)
Webhacking.kr 12번 난독화 되어 있다 자바스크립트 함수는 개발자모드 콘솔에서 function A()에서 ( )를 제거하고 A만 입력하면 함수 내용을 보여준다 맨 마지막 ('_')가 괄호인 것 같에서 지우면 대충 이런 함수가 나온다 클릭해서 들어가면 function anonymous() { var enco = ''; var enco2 = 126; var enco3 = 33; var ck = document.URL.substr(document.URL.indexOf('=')); for (i = 1; i < 122; i++) { enco = enco + String.fromCharCode(i, 0); } function enco_(x) { return enco.charCodeAt(x); } if (ck == "=" + Strin..
Webhacking.kr 5번 join은 join.php이지 않을까 난독화가 되어있는데 파이썬으로 중요한 정보만 풀어보면 cookie에 oldzombie라는 이름의 쿠키가 있어야하고 url에 mode=1이라는 문자열이 있으면 페이지에 join할 수 있는 테이블이 나온다 join테이블이 나온다 test로 로그인하니까 admin으로 로그인 해야한다고 나옴 노가다 좀 했는데 sql injection 안 뚫리길레 다른 분이 좋은 정보를 주셔서 그 방법으로 함 http://woowabros.github.io/study/2018/02/26/mysql-char-comparison.html MySQL에서 'a' = 'a '가 true로 평가된다? - 우아한형제들 기술 블로그 DB 알못의 어떤 리서치 woowabros.github.io 제목 대로인데..
Webhacking.kr 7번 url을 보면 val는 1로 되어있다 url에서 get방식으로 받은 val의 값을 go에 대입 go에서 필터링은 2, -. +, from, _, =, 공백, *, /가 있다 랜덤으로 5개의 쿼리문 중에서 하나가 실행된다 쿼리문으로 나온결과가 없으면 query error 1이면 기존 메인화면과 같은화면 2이면 기존 메인화면과 같지만 auth를 눌렀을 때 hellow admin을 띄우는게 가능해지고 클리어 처음엔 lv가 2인 것을 출력하기위해 %연산자와 공백우회를 써서 val에 )어쩌구 or lv=7%5#구문을 넣어 select lv from chall7 where lv=()어쩌구 or lv=7%5#로 lv가 2인 행을 가져오려했는데 애초에 lv가 2인 행이 존재하지 않는 건지 암만해도 query error..
Webhacking.kr 38번 주석에 admin.php로 가본다 메인 페이지에서 input값이 ip주소와 넘어온다 특수문자를 넣었을 때 반응 보려고 다 때려봤다 무반응 SQL injection도 무반응 input을 textarea로 바꾸고 개행을 가능하게 함
Webhacking.kr 56번 처음에 search에 injection하려고 삽질만 했다 그래서 search에 0~1, a~z까지 다 입력해보다 규칙을 찾음 각 철자를 입력했을 때 admin이나 guest가 뜨는 글자를 보고 뭔가 싶었다 guest꺼만 따오니 0, e, h, l, o가 있는데 guest의 링크 안에 hello에 있는 철자였다(0은 왜있는지 모르겠음) 그래서 admin이 뜬 철자는 admin의 링크안에 있는 글자인걸 알았다 그래고 그 철자 조합을 구하려다 you를 조합해 입력해봤는데 admin의 글이 잘 출력된다 파이썬으로 코드를 짜서 앞에서부터 조합하면서 admin이 뜨면 그 내용이 존재하는 걸로 알고 flag를 끼워맞췄다 import requests url="https://webhacking.kr/challenge/w..
Webhacking.kr 51번 id에선 addslashes함수로 우회가 힘들어보여 pw로 가기로 함 md5 SQL injection을 검색하니 나오는게 몇 개있음 https://cvk.posthaven.com/sql-injection-with-raw-md5-hashes SQL injection with raw MD5 hashes (Leet More CTF 2010 injection 300) The University of Florida Student Infosec Team competed in the Leet More CTF 2010 yesterday. It was a 24-hour challenge-based event sort of like DEFCON quals. Ian and I made the team some... cvk...
Webhacking.kr 10번 O에마우스를 올리면 yOu로 바뀌고 클릭하면 1px 씩 움직인다 1600px까지 옮겨서 Goal을 시키면 클리어 한 번만 클릭하면 클리어된다
Webhacking.kr 21번 id: guest pw: guest 입력했을 때 login success라고 뜬다 id: guest' or '1'='1 pw: guest SQL injection이 먹힌다 id: guest pw: gues 거짓일 때 login fail id: guest pw: gues' or '1'='1 SQL 쿼리문이 참(?)일때 wrong password id: admin pw: ' or '1'='1 admin 계정이 있는 것을 확인 id: admin pw: ' or length(pw)=36--%20 admin의 pw 길이가 36자리인 것을 확인 id: admin pw: ' or substr(pw,1,1)='t admin의 pw 첫자리가 t인 것을 확인 파이썬 코드 작성 import requests url="http..