작성한 질문수
모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
해결된 질문
작성
·
218
2
idx 와 title 를 이용하여 참 거짓 판단하는 조건문 말고 참이면 정상출력되고 거짓이면 에러 발생하는 방법 직접연구해보라구 하셨는데요 !
에러대신 sleep 함수로 참 거짓 판별해도 괜찮은건가요 ? 에러가 뜨는 방법은 고민해두 안나와서요 ㅜㅜ..
부족한질문에 답변 미리 감사드립니다..
board/mysql/index.php?sort_column=(case when 1=2 then idx else sleep(5) end)
답변 1
1
안녕하세요.
시간 지연도 하나의 방법이 될 순 있습니다.
그러나, DBMS가 MySQL일 경우에 해당하며,
MSSQL과 ORACLE일 경우는 다른 방법을 고민 해봐야겠죠 ㅎ
물론, MSSQL과 ORACLE도 시간 지연도 가능하긴하지만 추천하지는 않습니다.
강사님 ㅜㅜ
mysql 같은 경우는
(case when 1=2 then 1 else (select 1 union select 2) end)&sort=desc
union 으로 참일땐 1행으로 정상결과 뜨고
1=2 거짓일때는 select2 구문으로 행 반환 2이상이라 오류 구문뜨는것 체크했는데요 !
oracle 이나 mssql 에서는 힘든 방법인가요 ? 오라클은 같은 구문을써도 테이블 명을 달라구 하네요..!
어렵네요 ㅠㅠ..
맞습니다. 이런 방식으로 접근하시면 해결책을 찾으실거에요 ㅎ
강의 내용 중에도 있긴한데 오라클은 select 절 사용시 반드시 from절을 요구합니다.
때문에 dual이라는 더미 테이블을 사용해주셔야 합니다.
강사님 ㅜㅜ
mysql 같은 경우는
(case when 1=2 then 1 else (select 1 union select 2) end)&sort=desc
union 으로 참일땐 1행으로 정상결과 뜨고
1=2 거짓일때는 select2 구문으로 행 반환 2이상이라 오류 구문뜨는것 체크했는데요 !
oracle 이나 mssql 에서는 힘든 방법인가요 ? 오라클은 같은 구문을써도 테이블 명을 달라구 하네요..!
어렵네요 ㅠㅠ..