본문 바로가기
반응형

webhacking30

웹해킹(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) - 56번 56번 접속시 화면이다. admin 옆의 readme를 누르면 ACCESS DENIED라는 문구가 나오고, guest 옆의 hi~를 누르면 hello~ 라는 문구가 나온다. search에 hello를 넣고 제출해본다. 사진과 같이 guest 테이블만 출력되는 것을 알 수 있다. 이를 통해 search에 입력되는 값은 subject 파일에 포함된 문자열을 뜻한다고 추측할 수 있다. SQL injection이 가능한지 확인해본다. hello' and 1=1#' hello' or 1=1#' hello' && 1 LIKE 1#' 모두 공백 화면이 나온다. 즉 SQL injection으로 푸는 문제는 아니라고 추측할 수 있다. webhacking.kr 사이트는 문제 해결 방식이 2가지 있다. 1. 문제를 풀면(a.. 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) - 27번 안녕하세요?? 자운대 고라니입니다. 오늘은 wargame.kr old-27번 문제를 풀어보겠습니다. 문제의 첫 화면은 그냥 SQL INJECIOTN을 해보라고 나와있다. 일단 vuew-source를 활용하여 코드를 확인하였다. 소스코드에서 중요한 부분을 캡처하였다. 간단한 INJECTION을 통해서 admin으로 로그인할 수 있을 거라 생각했다. "select id from chall27 where id='guest' and no=({$_GET['no']})" 여기서 id='guest' and no=X 룰 FALSE로 만들고 ||, or을 사용하여서 뒤에 TRUE문을 만들어 주면 간단히 풀리는 문제이다. 나는 $_GET['no']에 "3)||no=2-- " 라는 값을 넣을 예정이다. select id f.. 2020. 11. 24.
웹해킹(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.
반응형