[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 코드를 주입해서 데이터베이스가 비정상적인 동작을 하게 만드는 공격이다. 공격의 난이도는 낮은 편이지만 그에 비해..
[2020-2 리눅스 이론] 3주차
2020. 9. 25. 11:11
Study/LINUX
# 쉘(Shell) 쉘은 사용자와 운영체제 사이의 상호작용을 도와주는 매개체 역할을 한다. 사용자가 입력한 명령어를 처리하는 소프트웨어이다. 쉘의 종류 실행 파일 본 쉘 /bin/sh 콘 쉘 /bin/ksh C 쉘 /bin/csh Bash /bin/bash tcsh /bin/tcsh 로그인 하면 자동으로 실행되는 쉘 보통 시스템관리자가 계정을 만들 때 로그인 쉘 지정 $ chsh Changing login shell for chang Old shell : /bin/sh New shell : /bin/csh $ logout 명령어 처리 사용자가 입력한 명령을 해석하고 적절한 프로그램을 실행 시작 파일 로그인할 때 실행되어 사용자별로 맞춤형 사용 환경 설정 스크립트 쉘 자체 내의 프로그래밍 기능 ① 환경 변..
[2020-2 리눅스 실습] 3주차
2020. 9. 25. 10:21
Study/LINUX
- .bashrc 파일에 다음 명령을 추가한 후에 새로운 창을 연다. - 새 창에 출력된 내용을 확인하고 설명한다. - 새 창에서 dir 명령어를 실행하고 그 결과를 설명한다. 사용자 시작파일 .bashrc에서 ls -F 명령어를 dir로 단축시켰고, echo로 Welcome to Linux!를 출력하도록 했기 때문에 터미널을 처음 실행시켰을 때 Welcome to Linux!문자열이 출력되고, dir명령어를 실행하면 ls -F명령어 실행 결과와 동일하게 뜬다. - 여러 명령어를 이용하여 다음과 같은 출력 재지정을 실습하고 그 결과를 설명한다. $ who > out1.txt $ cat out1.txt $ date >> out1.txt $ cat out1.txt 명령어 who의 출력 결과가 out1.txt..
[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...
[2020-2 리눅스 이론] 2주차
2020. 9. 19. 18:49
Study/LINUX
1. 파일 사용 파일 복사 cp 파일 이동 mv 파일 삭제 rm ① 파일 복사 : cd $ cp [-i] 파일1 파일2 : 파일1을 파일2에 복사한다. // -i는 대화형 옵션 $ cp 파일 디렉터리 : 파일을 디렉터리로 복사한다. $ cp 파일1 ... 파일n 디렉터리 : 여러 개의 파일을 지정된 디렉터리에 모두 복사한다. $ cp [–r] 디렉터리1 디렉터리2 : -r은 리커전 옵션으로 디렉터리1 전체를 디렉터리2에 복사한다. ② 파일 이동 : mv $ mv [-i] 파일1 파일2 : 파일1의 이름을 파일2로 변경한다. $ mv 파일 디렉터리 : 파일을 지정된 디렉터리로 이동한다. $ mv 파일1 ... 파일n 디렉터리 : 여러 개의 파일들을 지정된 디렉터리로 모두 이동한다. $ mv 디렉터리1 디렉..
[2020-2 리눅스 실습] 2주차
2020. 9. 19. 15:37
Study/LINUX
-새로운 디렉터리 temp1을 만들어 그 곳에 /etc/services 파일을 복사한다. 디렉터리를 리스트해서 복사된 파일을 확인한다. -이 디렉터리에 /etc/passwd 파일을 복사한다. 디렉터리를 리스트해서 복사된 파일을 확인한다. *cp -i (옵션 사용하기) - temp1 디렉터리를 temp2 디렉터리에 복사한 후 이를 확인한다. -temp1 디렉터리 내의 모든 파일을 삭 제한 후 이 디렉터리를 삭제한다. -temp2 디렉터리를 단번에 삭제한 후 이를 확인한다. * mv 명령어 사용하기 • 파일의 이름 변경에 사용 • 파일의 위치를 이동하는 데 사용 -test.txt 파일을 만든다. 이 파일에 대해서 하드 링크를 만든다. 이 파일에 대해서 심볼릭 링크를 만든다. * test.txt 파일 내용을 ..
[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와의..