[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에 삽입하는 걸로 충분한 이유는 무엇..
[SWEA] 10726/8931
2020. 10. 2. 22:08
알고리즘
#10726 : 이진수 표현 [코드] [코드설명] ① main 테스트케이스를 TC에 입력 받고, for문으로 TC만큼 실행을 반복한다. 정수 N, M을 변수 N, M에 담고 while문으로 N과 M이 1 ≤ N ≤ 30 , 0 ≤ M ≤ 108을 만족할 때까지 입력 받는다. N과 M을 입력 받으면 bitcheck함수로 인자를 전달하고, 결과를 테스트케이스 번호와 함께 출력한다. ② bitcheck main함수에서 N과 M을 전달받는다. 정수 M의 마지막 N개의 비트가 모두 1인지 검사하기 위해서 정수 M의 2진수 표현에서 마지막 N비트만큼을 추출했다. 마지막 N비트는 1, 나머지는 0으로 채워진 수 ~(~0
[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..
[SWEA] 9940/10032
2020. 9. 24. 23:43
알고리즘
#9940 : 순열1 [코드] [코드설명] ① main scanf_s로 N을 입력 받고, while문으로 N이 1이상 100,000이하인지 검사한다. 숫자 N의 순열인지 확인할 N개의 숫자열을 저장하기 위해 malloc함수로 numArr에 sizeof(int)*N만큼의 메모리를 동적할당한다. for문에서 i가 0부터 N전까지 증가하면서 numArr에 N개의 숫자를 입력 받고, while문에서 numArr_check함수로 N개의 숫자가 0이상 N이하인지 확인한다. permutation_check함수로 numArr에 저장된 N개의 숫자가 N의 순열인지 확인하고, 그 결과를 YS에 반환한다. 결과 출력 후 free함수로 numArr 메모리를 해제한다. ② numArr_check 포인터 변수 numArr와 정수..
[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 디렉..