본문 바로가기
반응형

webhacking.kr11

웹해킹(webhacking.kr) - 9번 접속하면 위 화면이 나온다. 1,2,3을 순서대로 클릭해본다. url로 값이 전달되는 것을 보아 GET 방식으로 통신한다. no=3으로 접속하면 "column: id, no" 라고 적혀 있고, id가 password값이라는 것을 알 수 있다. 예상 쿼리문을 짜보면 SELECT id FROM DB_TABLE WHERE no=$_GET['no']; 위 사진처럼 no에 잘못된 값이 입력되면 텍스트박스만 화면에 출력되는 것을 알 수 있다. 쿼리문이 거짓일 때 : 아무것도 안 나온다. 쿼리문이 참일 때 : 컬럼의 데이터 값이 나온다. 이를 활용해 blind sql injection이 가능한 것을 알 수 있다. 쿼리문에 필요한 문자가 어떤 것이 있는지 테스트해본다. 사용 불가 : and, or, ||, &&, se.. 2023. 2. 17.
웹해킹(webhacking.kr) - 28번 접속하면 flag.php라는 파일을 읽어야한다. 해당 주소로 접속해본다. 아무 화면도 안 나온다. 파일 업로드가 가능한 걸 보아 웹쉘 공격이 가능하다 판단된다. webshell.php 1 2 3 cs 해당 php를 업로드시켜 hihi가 나오는지 테스트해본다. php 코드가 그대로 나오는데, 2023. 2. 16.
웹해킹(webhacking.kr) - 74번 g00gle1 접속하면 구글 설문조사 페이지가 나온다. 체크 박스를 해제하면 필수 질문입니다 라 나오고, 체크하면 정확히 0개의 옵션을 선택해야 합니다. 라 나온다. 아마 JS를 조작하는게 아닌가 싶어 개발자 도구에서 javascript 부분을 확인했더니 "ok. here is what you want. FLAG{how_can_i_pwn_googl3?}" 라고 대놓고 정답이 나와있다. FLAG 값을 Auth에 넣었더니 정답처리됐다.;; 무슨 문젠지 의도를 모르겠다. 2023. 2. 15.
웹해킹(webhacking.kr) - 35번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-35번 문제를 풀어보겠습니다. 문제의 첫 화면이다. 간단하게 phone을 적으라는 text박스가 있다. 일단 view-source를 이용하여 소스코드를 확인해봤다. 소스코드 중 중요한 부분을 캡처하였다. 일단 phone에 아무런 값을 넣어봤는데, 위의 사진처럼 id=guest로 고정돼있다. 풀이의 조건은 phone에 어떠한 값을 넣으면 insert into chall35(id,ip,phone) value..... 를 이용하여 데이터베이스에 값을 저장한 후, id=admin and ip=myip 라는 값을 가진 데이터가 있다면, 문제가 풀린다. 하지만 preg_match와 strlen 함수를 활용하여서 id에는 'admin'이란 값을 넣.. 2020. 11. 30.
웹해킹(webhacking.kr) - 40번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-40번 문제를 풀어보겠습니다. 문제에 들어가 보면 첫 화면이 이렇게 나와있다. 딱 봐도 BLIND SQL INJECTION문제인 듯... 일단 login버튼을 눌러봤다. Success - guest라는 화면이 출력됐다. 처음에는 id칼럼과 pw칼럼을 injection 하려고 열심히 삽질해였지만 모든 방법이 안 먹혔다. 아무래도 addslashes()함수를 사용한 거 같다. addslashes()함수는 '와 " 앞에 /를 추가하여 한 개의 문자로 '와 "를 한개의 문자로 바꿔버린다. 그렇다면 '와 "를 sql문에서 사용하지 않는 no 칼럼을 통해 injection 하여야 한다. 일단 no에 참이 되도록 sql문을 넣어봤다. 그랬더니 똑같.. 2020. 11. 26.
웹해킹(webhacking.kr) - 24번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-24번 문제를 풀어보겠습니다. 문제에 들어가 보면 client ip, agent에 대한 정보가 나와있다. (개인 정보라서 가렸다.) 일단 뭔 문젠가 싶어서 view-source로 code를 확인하였다. 중요한 부분만 캡처하였다. 코드를 확인해보니 아마도 str_replace함수의 취약점을 활용하는 문제인 듯하다. 1. str_replace 취약점 str_replace()는 간단하게 우회 가능한 함수이다. 이게 무슨 함수인지 간단하게 예를 들어보겠다. ex) $a = "Hello my name is hack" $a = str_replace("Hello", "Hi", $a); echo "$a"; -> Hi my name is hack 이처.. 2020. 11. 21.
웹해킹(webhacking.kr) - 16번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-16번 문제를 풀어보겠습니다. 문제에 들어가 보면 첫 화면이 이렇게 나와있다. 이게 뭔가 싶어서 키보드를 두들겼다. 아무거나 누르다 보니까. 큰*은 움직이고 작은 *들이 생성되는 것을 확인할 수 있었다. 일단 개발자 도구를 활용하여 소스코드를 확인해봤다. 소스코드 중 중요한 부분을 캡처해놨다. cd==124 즉 124번 event.keyCode를 누를 때 문제가 풀린다고 한다. ASCII코드 표를 확인하면 124는 | 즉 백 슬래시라는 것을 알 수 있다. 그러므로 |를 눌러봤는데 문제가 풀렸다. 처음 푸는 사람이라면 score가 올라갈 것이다. 2020. 11. 21.
웹해킹(webhacking.kr) - 50번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-50번 문제를 풀어보겠습니다. 문제의 첫 화면은 id와 pw의 textbox가 있고 이를 활용하여 SQL INJECTION을 해보라고 나와있다. 일단 view-source로 코드를 확인하겠다. 코드 중 중요한 부분만 캡처해놨다. 이 전에 풀었던 45번 문제와 굉장히 유사하다고 생각되었다. 1. lv=3 일단 문제에서 $result['lv']=="3" 조건을 만족시키라고 나와있으므로, id부분을 injection하여 lv=3으로 만들어봤다. select lv from chall50 where id=''||lv='3'#'' and pw=...... id에 '||lv='3'#'이라는 값을 넣어야 하고, 필터링을 우회하는 값을 넣으면 (수정 .. 2020. 11. 21.
웹해킹(webhacking.kr) - 45번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-45번 문제를 풀어보겠습니다. 첫 화면부터 SQL INJECTION을 죠지라는 문제 같다. 일단 id : admin, pw : admin으로 로그인을 시도해보았다. 위쪽을 보면 url주소에 id와 pw 값이 나와있는 게 보인다. GET방식으로 서버와 통신한다는 것을 알 수 있다. 그렇다면 view-source를 활용하여 소스코드를 확인하자 소스코드 중 중요한 부분만 캡처하였다. 코드 중 함수를 간단하게 설명하겠다. 1. addslashes 입력 값 중 '(quote)가 있으면 앞에 \를 붙여줌으로써 sql injection을 방어하기 위해서 사용된다. ex) input data : admin' or 1=1#' output data : .. 2020. 11. 20.
반응형