'1=1'-- - 가 참이 되는 이유
2018. 1. 4. 20:54
최근에 어떤 친구가
select * from table where id='adsf' or '1=1'-- -
저 쿼리가 참이 되는 이유는 False based SQL injection과 원리가 흡사하다. MySQL이 값의 형태(char, int, etc.)를 자유롭게 사용해서 일어난 결과이다.
처음에는 이게 char 값 안에서 1=1 연산되나 싶었다.
아니었다.
여기서 어떤 원리인지 직감했다.
내가 예상한대로라면 1이 떠야하지만, 0이 떴다. False based SQL Injection 이 맞다.
'1'이 1로 연산이 되기 때문에 1이 뜬 것이다.
궁금증이 해소되었다.
'Hacking > Web.' 카테고리의 다른 글
SQL Injection table 이름 모를 때 (0) | 2018.02.08 |
---|---|
Flask에서 SSTI 나오면 답 없는 점 (0) | 2018.01.14 |
워게임 문제 아이디어 (0) | 2017.12.09 |
웹쉘 업로드 확장자 우회 (0) | 2017.11.08 |
CTF SSRF시 확인사항 (0) | 2017.11.06 |