300x250 정보보안95 [XSS] XSS(Cross Site Scripting)공격 실습 Reflected XSS 를 사용하여 태그 삽입 (PortSwigger) XSS(Cross Site Scripts)의 기본적인 내용에 대해서는 DreamHack 의 예제1번에서 설명해놓았다 아래 링크를 타고 봐보도록 하자 hobbylists.tistory.com/entry/XSSCross-Site-Scripting%EA%B3%B5%EA%B2%A9-%EC%8B%A4%EC%8A%B5-Dreamhack-%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C 위에서 접속할 사이트는 Reflected XSS를 통해 공격해야 한다고 적혀있다 그리고 마지막 줄에 "alert" 기능을 사용해야 한다고 적혀있는데 alert는 Javascript 언어의 함수로 Message를 발생시킨다 alert() ()내의 Message를 발생시키는 Javascript 의 기능 먼저 사이트를 들어.. 2020. 8. 26. [CSRF] - 무방비 상태의 사이트 공격 // CSRF attack, PortSwigger 예제 PortSwigger의 Academy - CSRF 문제입니다. https://portswigger.net/ Web Application Security, Testing, & Scanning - PortSwigger PortSwigger offers tools for web application security, testing, & scanning. Choose from a range of security tools, & identify the very latest vulnerabilities. portswigger.net CSRF Attack 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 사용자가 신뢰하는 사이트에서 발생하.. 2020. 8. 23. [SQL - Injection] - My SQL DB 버전 정보 조회하기 // SQL union injection , PortSwigger 예제 PortSwigger의 Sql Injection문제 6번이다 개인적으로 여기서 막혀서 풀이까지 시간이 좀 오래 걸렸었다. Burp Suite를 사용하지 않으면 url로는 풀이가 안되는데 이유나 원리는 아직도 의문이다.. 문제의 내용은 이러하다 DB는 MySql이고 버전을 확인해야한다 https://hobbylists.tistory.com/entry/%EC%9B%B9-%ED%95%B4%ED%82%B9-Sql-Injection-%EB%B2%84%EC%A0%84%ED%99%95%EC%9D%B8-%EB%AA%85%EB%A0%B9%EC%96%B410v DB별 버전 문자열은 위에서 확인할수있다. select @@version 아무튼 우리는 위 MySql 버전정보 확인 코드를 Union삽입 코드와 적절히 섞어 사용하.. 2020. 8. 19. [Linux] 우분투를 통해 배우는 Linux 기초 (Ubuntu 18.04v) 리눅스 관리를 위한 기초 명령어에 대해 배워보겠다 Ubuntu를 사용할거고 버전은 18.04버전 기준이다 사실 지난번 20.04버전을 설치했지만 기존에 실습을 진행하던 가상머신이 있기에 부득이하게 구버전으로 진행하게 되었다 먼저 가상머신을 실행한다 다시 한번 말하지만 root계정으로 관리하는건 좋지 않은 습관이니 꼭 일반 유저로 사용하는 걸 길들이도록 하자. 일반유저 계정으로 로그인 되었고 간단히 현재 디렉토리의 파일을 검색하고 만드는것까지 배워보자 # 파일 및 디렉토리 정보 ls # 현 디렉토리의 파일 및 서브 디렉토리 출력 ls -a # 숨겨진 파일까지 출력 ls -l # 파일의 자세한 정보 출력 ls -F # 파일의 타입 출력 # 파일 생성 touch file_name # file_name의 빈 파.. 2020. 8. 11. [Linux] 리눅스 우분투 20.04버전 설치법 (Ubuntu 20.04v) 리눅스는 또 다른 운영체제이며 나처럼 이미 Windows 운영체제를 사용중인 사람들이 다른 운영체제를 사용하려면 가상머신을 통해 사용해야 한다 여러 가상머신 서비스가 존재하지만 (ex VmWare, Virtual Box등등) 나는 Oracle에서 제작한 Virtual Box를 사용해서 진행하려 한다 과거 수업진행때에도 사용해봤기에 익숙하다 Google에 virtual box를 검색해준다 그럼 이와같은 화면이 나올텐데 들어가서 다운로드만 해주면 된다(아주 쉽다!^^) Virtual box를 설치완료 한후 이제 우분투 설치를 위한 파일을 다운로드 받아야한다 현재 최신버전은 20.04ver 인듯 하다 바로 다운로드 해주자 용량이 크니 시간이 살짝 걸린다 ISO 확장자는 광학 디스크 이미지 확장자 파일인데 가상.. 2020. 8. 11. [SQL Injection] - SQL injection attack, querying the database type and version on Oracle ( OracleDB 버전 조회하기)// PortSwigger 예제 sql injection 문제 5번이다 이번 문제는 OracleDB의 Version과 타입을 조회하라는 문제인듯 한데 동일하게 union을 사용해야한다 노트를 살펴보면 DUAL 이라는 기본 테이블이 존재하는데 DUAL 테이블의 쿼리를 조회해야 한다는 힌트인거같아 DB버전을 알려주는 메시지가 같이 있는듯 한데 흠 사실 그렇게 의미가 없는 메시지인것같아 좀더 아는게 많다면 저기서도 뭔가 정보가 나올수도 있겠지만 .. 아무튼 동일하게 카테고리 항목으로 들어와서 쿼리 삽입을 진행하겠다 'union select null,null from DUAL-- DUAL 테이블에 NUll 쿼리를 조회 했다 결국 컬럼 개수를 알기위해 삽입한 코드인데 컬럼의 개수는 두개가 확실한 상황으로 판명났다 'union select 'AS.. 2020. 8. 11. [SQL Injection] - UNION attack, retrieving multiple values in a single column (단일 열에서 여러 값 검색)// PortSwigger 예제 여러 값을 단일열에서 검색하라는 문제이다 username,password 라는 컬럼이 users 테이블에 있다고 알려줬다 계정 정보를 조회한 후 administrator(관리자) 계정으로 접속해야한다. 사실 Burp Suite를 사용해야 하는데 아직도 사용법이 익숙칠 않아서 이 문제는 URL을 이용해 풀었다 힌트를 보고,, 아무튼 풀어보자 동일하게 접속하게 되면 카테고리가 존재한다 현 URL 상에서 값 입력이 불가능하기 때문에 카테고리를 선택한 후 시도해야한다 그런 다음 먼저 컬럼의 개수를 알아내기 위해 Union으로 짜인 sql 코드를 삽입한다 'union select null,null-- 컬럼의 개수가 두개임이 판명났다 사실 username과 password 두개가 있다고 알려줬지만 확실한 검증이 필.. 2020. 8. 10. [SQL Injection] - 테이블에서 검색을 통해 관리자 계정 탈취 // PortSwigger 예제 이번 문제도 Union Sql Injection을 이용해 공격한다 다만 조금 다른점은 이전 문제들과 다르게 관리자 계정을 찾아내야 한다 위 본문을 읽어보면 'username'과 'password'라는 컬럼이 존재하며 두 컬럼은 'users'라는 테이블에 존재한다고 한다 그럼 우리는 users라는 테이블에서 username과 password 컬럼을 union을 이용해 검색해주기만 하면 된다 문제풀이 화면으로 들어왔다 별 다를게 없어보이니 Union Sql injection을 수행한다 username과 password 두 컬럼을 users 테이블에서 검색하려면 아래의 코드를 사용한다 'union select username,password from users-- 코드 삽입이 성공적으로 진행되면 에러가 발생하.. 2020. 8. 7. [SQL Injection] - 특정 텍스트를 포함한 열 찾아내기 // PortSwigger 예제 PortSwigger의 Sql Injection 두번째 문제이다 Union Sql Injection이며 지급받는 특정 문자열을 포함하는 컬럼을 찾는듯하다 문제 페이지로 넘어오니 'FK5ILT'라는 특정 문자열을 제공했다 우리는 이 문자열이 포함된 컬럼을 찾으면 된다 동일하게 UNION으로 컬럼의 개수와 자료형을 찾아보자 'UNION SELECT NULL-- --ERROR 발생 'UNION SELECT NULL,NULL-- --ERROR 발생 'UNION SELECT NULL,NULL,NULL-- --코드 삽입 성공 컬럼 개수 3개 하나 그리고 두개의 NULL로 컬럼 개수를 찾아봤지만 에러가 발생했다세개의 NULL을 삽입했을때 코드가 먹혔으니 세개의 컬럼이 존재한다는걸 알수있다 코드가 그대로 삽입되었다 이.. 2020. 8. 7. 웹 해킹을 위한 DB 별 기초 쿼리문 My-SQL version My-Sql의 DB 저장소 INFORMATION_SCHEMA: INFORMATION_SCHEMA는 My-SQL 서버가 운영하는 모든 데이터베이스의 정보를 저장하는 장소이며 DB명, Table명, Column의 자료형과 접근 권한 등 여러 중요한 정보들이 포함되어 있다. My SQL의 기초 문법(조회, 주석) --버전정보 조회 SELECT VERSION(); mysql > --version # 한줄 주석 /* 전체 주석 */ #DB 조회문 SELECT DATABASE(); /*현재 사용중인 DB 명 조회*/ SELECT 1 FROM Information_schema.SCHEMATA WHERE SCHEMA_NAME = 'DBNAME' /*-> 해당 DB 존재여부 확인(있으면 1, .. 2020. 8. 7. 이전 1 ··· 6 7 8 9 10 다음 300x250