|  |
| |
| rubiya |
last_name = 'Your Name or 1=1' 쿼리 그대로 last_name 이 콤마 사이에 있는 'Your Name or 1=1' 인 값을 반환하라는 의미입니다.
char a = 'Your Name or 1=1'; 이것과 비슷하다고 보시면 좋을 것 같습니다. |
2013/04/14 |
|
| ka0r1 |
제가 질문에 글을 올리면서 답을 써버렸네요 ㅋㅋㅋㅋ
Your Name or 1=1 (FALSE or TRUE) ==> 결국엔 논리연산자에 의해 FALSE가 된다.
이렇게 이해하면 되나요? Your Name 자체가 FALSE인건가요? |
2013/04/14 |
|
| rubiya |
last_name 의 값이 Your Name or 1=1 이렇게 16글자인 값이요!
or 이라는 단어가 들어있다고 해서 last_name의 인자가 끝나는게 아니예요
'가 오는순간이 인자가 끝나욤
그리고 false or true면 true입니당ㅋㅋㅋ |
2013/04/14 |
|
| asdf3856 |
성명을 어렵게 하시는거 같은데.,..
간단히 설명해드림.
SELECT * FROM user_data WHERE last_name = 'Your Name or 1=1'
1.라스트 네임이라는 변수값에 true를 넣어 우회 하는게 목적.
2. 'yourName or 1=1' 이렇게 된것은 흡사 .. last_name = 'asdf'와 같습니다.
즉,싱글 쿼터 (')로 값을 묶어 주셔야 되요.. 'yourName' '1=1' 이렇게 묶어 주시지 않으면 or문 자체가 의미가 없어지는데 or는 ' 1' '2' 비교할 변수 두개를 만들어주셔야됩니다...
SELECT * FROM user_data WHERE last_name = 'Your Name' or '1=1'
' ' or 'true' 로 우회 되는 거져.. 말이 이상한데 나도.. ㅠ |
2014/10/18 |
|
| asdf3856 |
' a' or 'b' 이렇게 묶어 주는이유는 비교할 대상 설정하신다고 보면되요 .
'a or b' 이렇게 되있으면 비교할 대상을 찾지 못하고 'a or b'를 하나의 string으로 본답니다.
ps:type이 스트링인가?..기억이 가물 |
2014/10/18 |
|