정보보안
[정보보안] CTF에서 자주 쓰이는 SQL query 정리
SweetDev
2020. 12. 17. 22:21
[SELECT] - 데이터 가져오기
SELECT 칼럼명 FROM 테이블명
SELECT * FROM users WHERE username='wikibook';
[INSERT] - 데이터 삽입
INSERT INTO 테이블명 (칼럼명1, 칼럼명2) VALUES(값1, 값2);
INSERT INTO users(username, mail) VALUES('yang', 'yang@sqli.com');
[UPDATE] - 데이터 갱신
UPDATE 테이블명 SET 칼럼명1=값1, 칼럼명2=값2 WHERE 칼럼명3=값3
UPDATE users SET mail='wikibook@wikibook.co.kr' WHERE username='yang';
[DELETE] - 데이터 삭제
DELETE FROM 테이블명 WHERE 칼럼명=값;
DELETE FROM users WHERE username='yang';
-- 단일 주석
/* */ 멀티 주석
|| 문자열 연결
'wiki'||'hash' => 'wikihash'
+sleep(10)+ sql injection 성공했는지 볼 때
LIKE 'AD%' -> AD로 시작하는 데이터 조회
LIKE '%AD%' -> AD가 들어간 데이터 조회
Apache + PHP 환경에서 에러 메세지 표시 여부 변경하기
- php.ini 편집
- .htaccess 설정 및 편집
- 소스코드 안에서 ini_set 설정
- ini_set(“display_errors”, 1); -> 에러 보이게 설정 가능
주석도 DB마다 약간씩 다르다.
MySQL: #, -- (뒤에 공백 필요)
PostgreSQL: --
SQLite: --
여러줄은 /**/로 동일.
출처 - CTF 정보보안 콘테스트 챌린지북
시도헤볼만한 특수문자
/ , --