2012-06-22 11 views
0

로그에서이 SQL 쿼리가 있습니다 select content = 5%id%201=1 from pages 것은 실행 중이며 일부 값을 반환한다는 것입니다. 나는 그것이하는 것을 발견하려고 노력했다. 그러나 나는 막 다른 길을 쳤다. 누구든지 이것에 대한 설명이 있습니까?이상한 SQL 쿼리 동작

감사합니다.

답변

1

의 모듈로 기능의 문서에 대한

Click here 는 나에게 의미가 같습니다. id = 4content = '1' 또는 id != 4content = '0' 인 행에 대해 을 반환하거나 정수로 캐스팅 할 수없는 문자열을 반환합니다. 다른 모든 행에 대해서는 0입니다. 유용하게 사용할 수있는 너무 고안된 것 같습니다.

+1

'1'을 반환합니다. '내용 선택 = 5 % id % 201 = 1 (내용으로 'foo'를 선택하고 id로 1) 페이지를 선택하십시오. –

+0

흠, 당신 말이 맞아요. – lanzz

2

무엇이 일어나는 것은 content 컬럼 같다

content = 5%id%201=1

[가치]

수단 (((5 모듈러스 [값] id) 모듈러스 201 1)와 동일하다)

paranthesis 명령을 다시 배열해야하지만 생각에는 결과에 0 또는 1이 표시됩니다. MySQL의