본문 바로가기

Database4

AWS EC2 서버 호스팅한 사이트 DB 털린 이야기 (SQL 인젝션 방어하기) 취업을 위해 포트폴리오 용으로 만들었었던 사이트에서 자랑은 아니지만 DB 공격을 1년동안 총 3번이나 당했다... SQL 인젝션은 쉽게말하면, 웹사이트에서 박스가 있을 때 그 곳에 입력한 값들은 보통 DB로 이동하기 때문에, 그 안에 쿼리문을 작성해서 전송을 하게 되면 그 쿼리문에 따라 해당 DB의 데이터를 가져올수도, 데이터베이스 전체를 삭제해버릴 수도 있다. 공격의 난이도에 비해 피해정도는 매우 커서 웹사이트를 만들 때 매우 유의해야한다고 한다. (실제 공격방법을 찾아보니 너무 간단했다.) 첫번째로 공격을 당했을 때는 그저 AWS EC2에서 호스팅할때 보안그룹 인바운드 아웃바인드를 잘못 설정해줘서 그냥 해킹을 당했나보다 하고 보안그룹설정과 어려운 비밀번호로 바꿔줬는데, 몇주 뒤에 보니 또 내 DB가 .. 2021. 11. 27.
RDBMS(mySQL) 쿼리로 알아보는 elasticsearch 쿼리 (2) SELECT [컬럼] FROM [테이블] 우선 select를 하기 위해서는 읽어올 데이터가 들어 있어야하는데, 우선 나는 저번에 insert시켰던 데이터에다가 컬럼(필드)을 읽기 위해 두개 이상의 필드가 필요해서 name필드를 추가하는 업데이트만 시켰다 (name 추가) 2. SELECT [컬럼1] FROM [테이블] 조건 query 없이 그냥 GET 인덱스명/_search { "_source" : [ "필드명1", "필드명2"] } 로 보내주면 원하는 인덱스에서 원하는 필드만 골라서 데이터를 가져올 수 있따 2021. 10. 28.
5분만에 로컬서버에 Elasticsearch 환경 구축하기 (쿼리연습) https://www.elastic.co/kr/downloads/elasticsearch Download Elasticsearch Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic. www.elastic.co 에서 elasticsearch 다운로드 후 tar.gz 파일을 풀어준다. 그리고 터미널을 열어서 다운받은 폴더가 있는 경로로 들어간 후에 bin/elasticsearch 를 해주면 엘라스틱서치가 구동된다. (ctrl C 누르면 프로세스 종료) 새로운 터미널을 열어서 curl -XGET localhos.. 2021. 10. 26.
RDBMS(mySQL) 쿼리로 알아보는 elasticsearch 쿼리 (1) SELECT * FROM [테이블] 우선 벌크데이터를 위해 대충 이렇게 데이터를 넣었다. 1. SELECT * FROM [테이블] 가장 기본적인 "테이블 안의 모든 데이터"를 꺼내오는 작업이다. 너무 기본적인거라 바디는 {} 이렇게만 보내주면된다. 다만 테이블 이름에 해당하는 index name과 /_search는 같이 써줘야한다. GET 인덱스/_search {} 아래는 짤렸지만 5개의 모든 데이터가 출력됐다. 2021. 10. 19.