모의해킹 (163) 썸네일형 리스트형 proxy-1 [WEB LEVEL1] Raw Socket Sender은 세부적인 조작이 가능하고 IP 데이터그램이나 ICMP, IGMP 패킷을 읽고 쓰는 것이 가능하다 프로토콜의 헤더를 응용 프로그램에서 직접 만들거나 조작할 수 있어 신규 프로토콜을 설계할 때에도 유용하게 쓰인다. ex) TTL은 TCP 헤더에 있는 값으로써 애플리케이션 계층에서는 수정할 수가 없지만 Raw 소켓을 사용하면 수정이 가능하다. IP와 Port를 지정해서 data를 보내는거같다. 소스 코드를 분석해 보면 클라이언트가 127.0.0.1의 IP인지 확인을 하고 User-Agent헤더 값이 Admin Browser 인지 확인을 한다. 이렇게 하나씩 지정된 헤더의 값에 들어있는지 확인을 한다. 작성한 페이로드는 밑에 있다. POST /admin HTTP/1.1 Host.. web-ssrf [WEB LEVEL1] SSRF 취약점은 서버를 속이는 취약점으로 요청 패킷을 위조하여 서버를 속인다. url 주소를 입력하면 /static 경로에서 dream.png의 이미지 파일을 가져오는 거 같다. POST 방식으로 보내야하며, localhost 또는 127.0.0.1 이 URL에 포함이 되었는지 확인한다. 즉, IP는 127.0.0.1 이며 Port는 1500에서 1800 사이의 랜덤이다. 먼저 127.0.0.1의 IP를 우회하기 위해 해당 주소를 hex 인코딩을 해준다. 무작위 대입 공격을 사용해여 Port 번호를 알아낸다. 1581 Port 길이 값이 다른 걸 볼 수 있다. 1554 Port를 넣었을 때, base64 암호화로 되어있는 값을 확인할 수 있다. base64 암호화를 burp sutie 의 기능인 Dec.. Mango [WEB LEVEL1] 문제 페이지에 들어가면 "/login?uid=guest&upw=guest" 글 하나만 써있다. 이 문제를 풀려면 NoSQL, python 공부가 필요하다. ** NoSQL은 데이터를 다루기 위해 SQL을 사용하지 않아도 데이터를 다룰 수 있다는 의미이다. 더보기 "admin:의 비밀번호를 알고싶을때, path traversal [WEB LEVEL1] path Traversal 취약점은 파일 이름에 대한 검증이 없기 때문에 발생하는 취약점이다. path 모듈의 base name function을 이용하거나../ 를 막아 취약점을 해결한다. userid에 "guest" 문자열을 입력해서 View 버튼을 누르면 userid, level, password의 value 값이 보인다. 버프를 사용해 확인을 해보니 "guest" 입력했을 때, userid의 파라미터 값이 0으로 표시가 되어 서버에 요청을 해준다. 즉, userid가 백터이다. path traversal 취약점을 이용해../ 로 상위 경로를 이동해 flag 확인해 준다. POST 값으로 요청을 보냈을 때 userid 값을 api/user/{userid} 주소에 값을 넣어 페이지를 이동시켜준다. image-storage [WEB LEVEL1] php로 된 웹 브라우저이다. 파일 업로드 취약점을 이용하기 위해서는 php, jsp 파일 등을 이용하면 된다. php 파일 코드를 작성한다. system함수를 사용해 cat 명령어로 flag.txt 파일을 읽는 코드이다. 작성한 php 파일을 업로드해준다. 파일이 업로드된 경로를 확인할 수 있다. 업로드된 경로로 들어가면 작성한 php 파일이 실행되면서 flag를 확인할 수 있다. Carve Party [WEB LEVEL1] 호박을 10000번 클릭해야 하는데 마우스로 하기에는 오래 걸린다. 개발자 모드로 소스를 보면 jack-target을 클릭하는 코드를 확인할 수 있다. Console에서 while 반복문을 사용해 jack-target를 9999번 클릭해 준다. 웹 브라우저에서 10000번이 클릭된 걸 볼 수 있다. CSRF-2 [WEB LEVEL1] 를 입력했지만, alert(1) 이 출력이 되었다는 건 script는 *로 필터링 되었고 는 공백으로 필터링된 거 같다. 더보기 frame, script, on는 * 로 필터링 되어 있음 script 구문을 입력하면 good이라는 출력문이 나온다. 더보기 세션 id는 admin이고 세션 저장소에 저장하는 거 같다. 로그인하는 페이지이다. 더보기 ID는 admin이고 PW는 모르는 상황이다. 소스코드를 더 보면 chage_password 함수가 있는 걸 확인할 수 있다. 문제 풀이 방식은 CSRF가 실행되는 곳에서 img 태그를 사용해 change_password페이지로 넘겨서 PW를 바꾸면 되는 거 같다. 페이로드를 작성해 CSRF 공격을 해준다. admin의 PW가 변경이 되어서 admin으로 로그인을.. Command-injection-1 [WEB LEVEL1] 8.8.8.8의 ping을 보내면 응답값이 출력되는 문제이다. ping의 응답 값이 결과로 출력이 된다. ; (세미콜론)을 사용해 실행시키려고 했는데, "요청한 형식과 일치시키세요" 구문이 출력이 되면서 실행이 안된다. 웹 브라우저에서 막고 있다고 생각해 개발자 모드에 들어가 보니 pattern이라는 변수가 설정이 되어있어 parttern 부분을 지워준다. 서버에 실행이 되지만 " " 형식안으로 들어가 있어 cat 명령어가 실행이 안된다. 그렇기에 실행 구문을 맞춰 보내 주면 flag.py의 값을 얻을 수 있다. 이전 1 ··· 14 15 16 17 18 19 20 21 다음