[WEB]: XSS game 01
2021. 1. 12. 18:45
Study/Web Hacking
[Mission] [해결 방법] script 태그로 alert("warning"); javascript를 넣어서 경고 팝업창을 띄웠다. [결과]
[XSS] 기초 정리
2021. 1. 6. 13:33
Study/Web Hacking
XSS란? XSS(Cross-site Scripting)는 웹상에서 가장 기초적인 취약점 공격 방법이다. 공격자가 악의적인 목적으로 공격 대상 사이트에 스크립트를 삽입하여 사이트에 방문한 사용자가 의도하지 않은 동작이 수행된다. 이를 통해 쿠키나 세션 토큰 등 민감한 정보를 탈취당 할 수 있다. CSRF와 혼동하는 경우가 있지만 XSS는 자바스크립트를 실행시키는 것이고, CSRF는 특정한 행동을 시킨다는 점에서 차이가 있다. 공격기법 -스크립트 태크 예제 스크립트 태그로 스크립트를 실행시키는 방법이다. 이는 매우 정직한 방법이라 대부분의 사이트에서 막고 있다. 브라우저 단계에서 필터링해주는 경우도 있다. -자바스크립트 링크 예제 XSS 링크 태그로 자바스크립트를 실행하는 방법이다. 브라우저에서 about..
[bWAPP] Broken Auth. - Insecure Login Forms/Robots File
2020. 10. 31. 20:28
Study/Web Hacking
Quest. 소스코드를 잘 살펴보면 로그인 할 수 있는 정보가 있습니다. 아이디와 비밀번호를 알아내어 접속해보세요. [level low] 소스코드를 확인해보니 ID는 tonystark, PASSWORD는 I am Iron Man인 것을 알 수 있었다. [level medium] 위 코드에서 로그인이 서버가 아니라 unlock_secret() 함수에서 처리되는 걸 알 수 있다. 변수 bWAPP에 "bash update killed my shells!" 문자열이 담겨 있다. charAt()함수는 인자로 주어진 인덱스에 해당하는 문자를 반환해준다. 따라서 secret은 각 변수가 어떤 인덱스의 값을 받았는지 charAt()의 반환값을 알아내서 조합해야 한다. console창에 secret선언 부분 코드를 복사..
[bWAPP] SQL Injection (Login Form/Hero)
2020. 10. 4. 17:22
Study/Web Hacking
MISSION. 데이터베이스에 접속해 hero들의 secret들을 빼내오자. Quest. SQL Injection이 통하는지 아닌지 확인해보고, SQL Injection이 된다면 데이터베이스의 서버 종류가 무엇인지 확인해봅시다. 페이지 소스코드가 /bWAPP/sqli_3.php에 저장돼 있는 것을 확인하고, 파일을 열어보니 login을 sql쿼리문에 이용한다는 것을 볼 수 있었다. login에 '(작은따옴표)를 입력해서 오류를 유도하면 서버가 MySQL인 것을 확인할 수 있다. Quest. login에 주석 문자를 넣어 항상 참이 되는 쿼리를 삽입하면 아래와 같이 neo라는 이름으로 접속할 수 있습니다. 분명 입력해야 하는 건 login과 password인데 login에 삽입하는 걸로 충분한 이유는 무엇..
[bWAPP] SQL Injection (GET/Search)
2020. 9. 25. 17:59
Study/Web Hacking
SQL 기초 데이터 정의어(DDL) : 테이블이나 관계의 구조를 생성하는데 사용하며 CREATE, ALTER, DROP문 등이 있다. 데이터 조작어(DML) : 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용하며 SELECT, INSERT, DELETE, UPDATE문 등이 있다. 데이터 제어어(DCL) : 데이터의 사용 권한을 관리하는데 사용하며, GRANT, REVOKE문 등이 있다. select 명령문: select 컬럼명 from 테이블명 where 조건절; Like '김%' - 김으로 시작하는 단어 '%김%' - 김이 포함되는 단어 '%김' - 김으로 끝나는 단어 임의의 SQL 코드를 주입해서 데이터베이스가 비정상적인 동작을 하게 만드는 공격이다. 공격의 난이도는 낮은 편이지만 그에 비해..
[bWAPP] HTML Injection - Stored (Blog)
2020. 9. 20. 06:08
Study/Web Hacking
Quest. HTML Injection stored이 무엇인지 간단하게 정리하시오. 공격자가 보안이 취약한 포털 사이트나 블로그에 악의적인 스크립트가 포함된 게시물을 올린 경우 정상적인 사용자가 이 게시물을 클릭하면 해당 스크립트가 실행되는 취약점이다. HTML injection - Reflected와 달리 다수의 사용자가 게시물을 열람하면 모두 공격의 대상이 될 수 있으므로 위험하다. Quest. 문제 페이지에 코드를 삽입하여 아래와 같이 이전 QUEST인 html injection - reflected (POST)를 해결하세요. ① level low 네모 박스에 내용을 입력하고, Submit 버튼을 누르면 리스트가 하나 추가되면서 Entry에 입력한 내용이 출력된다. HTML Injection - R..
[bWAPP] HTML Injection - Reflected (POST)
2020. 9. 19. 21:46
Study/Web Hacking
HTML Injection - Reflected (POST) 방식은 지난 실습에서 했던 GET방식과는 달리 URL에 key값과 value값을 전달하지 않고, body에 담아 요청한다. 따라서 사용자가 어떤 데이터를 요청하는지 URL에 표시되지 않기 때문에 GET방식보다는 안전하다. 그러나 burp suite 도구를 사용하면 POST방식이라도 서버로 전송되는 요청/응답 패킷을 중간에 가로채 변조할 수 있다. Burp Suite 설정 방법 Proxy -> Options에서 프록시 서버로 사용될 곳의 ip와 포트를 정해준다. 인터넷 설정에서 Burp Suite에서 설정한 프록시 주소와 포트를 입력해준다. (둘이 일치해야 함) Request / Response 요청에 대한 인터셉트 여부에 체크한다. Quest...
[bWAPP] HTML Injection – Reflected(GET)
2020. 9. 12. 22:17
Study/Web Hacking
Quest. HTML Injection이 무엇인지 정리하시오. 공격자가 서버에 전달되는 정보에 악의적인 코드를 삽입하여 의도하지 않은 동작이 수행되거나 서버 또는시스템 등 중요정보를 획득할 수 있는 공격이다. Quest. 아래 화면을 출력하시오. ① level low 먼저 이 페이지가 어떻게 동작하는지 보기 위해 아무 단어나 입력해봤다. 그런 후 검사를 통해 HTML소스코드를 확인해봤더니 입력 데이터가 HTML 코드사이에 그대로 삽입이 되는 걸 확인할 수 있었다. 따라서 입력에 SUCCESS와 태그를 주었고, 위 사진처럼 원하는 결과를 도출했다. ② level medium low level일 때와 같은 방법으로 시도한 결과 태그를 인식하지 못하고 문자열이 출력되는 것을 볼 수 있다. level low와의..
WEB 프로젝트
2020. 9. 10. 00:46
Study/Web
[Travel Diary] 2017년부터 2020년까지 여행 갔을 때 찍은 사진을 기록할 수 있는 다이어리를 만들었다. ① Main page ② Jeju page ③ London page ④ Chungnam page [코드] ① Main html Travel Diary 자연으로 떠나자. 향내음 맡으러 엉킨 것 풀고 신선 마시러 가자. 무거운 짐 부리고 순수 세계로 출발하는 예의 바른 손님이여! 그대를 부른다. -강신갑- Travel Jeju London Chungnam ② Main img html "자연을 품은 향" "제주, 싱그러운 귤 향" "오후 1시, 은은히 퍼지는 비 내음" " 따뜻한 바다 향기" ③ Jeju html Jeju #제주 #바다 #발 #제주 #바다 #친구 #제주 #바다 #파란색 ④ L..