SQL injection

정태민·2023년 2월 7일
0

회사업무

목록 보기
11/17

OWASP Zap에서 SQL injection이 나와서 restapi에서 쿼리문들을 전부다 수정하게 됐다.

SQL 이 들어가있어서 SQL을 안쓰는데 이게 왜나왔나 싶었는데 그냥 쿼리문을 restapi로 보내면 다 위험도가 있는 이슈이다.

나무위키를 참조하면
INSERT INTO students (이름) VALUES ('학생 이름');

INSERT INTO students (이름) VALUES ('Robert');
DROP TABLE students;
--');

이런식으로 쿼리문 앞이나 뒤에 삭제및 주석 처리를 하는 쿼리를 붙혀버린다.

그래서 보안용으로 CrtptoJS로 인코딩해서 restapi에 입력되게 하였다.

client

var key = Math.random().toString() + Date.now();
var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), key).toString();

server

let ciphertext = Context.ciphertext;
let key = Context.key;
//var bytes  = CryptoJS.AES.decrypt(ciphertext, 'ajax');
var bytes  = CryptoJS.AES.decrypt(ciphertext, key);
var encryptdata = bytes.toString(CryptoJS.enc.Utf8);
profile
퇴근후 30분 출근전 30분

0개의 댓글