2011-11-28 5 views
2

매우 이상한 버그!

최소 하나의 양식 필드에 "oneOrMoreWords에서 drop oneOrMoreWords oneOrMoreWords의 값"이라는 값이있는 경우 $ _POST는 비어 있습니다. 나 자신을 확인하기 위해 나는 미치지 않았다. PHP 5.2.11을 사용하는 다른 웹 사이트에서 똑같은 것을 시도해 보았다. 똑같은 일이 일어났다.

내가 시도 :

  • PHP 5.2.8 = $의 _POST가 비어 온다.
  • PHP 5.2.11 = $ _POST가 비어 있습니다.
  • PHP 5.2.14 = 잘 동작합니다.
  • PHP 5.3.5 = 잘 작동합니다.

이상한 것에 대한 설명이 있습니까?

여기 유명한 웹 사이트의 라이브 예가 나와 있습니다. 사용자 이름 입력란에 "xxx에서 xxx 삭제"를 입력하고 비밀번호 입력란에 아무 내용이나 입력하면 오류가 표시되지 않고 양식이 다시 나타납니다!

+0

"POST가 비어 있는지"를 어떻게 확인합니까? 그것은 나에게 간단한 SQL 주입처럼 보인다. http://en.wikipedia.org/wiki/SQL_injection –

+0

@ Hikaru-Shindo 이것은 SQL과 아무 관련이 없습니다. 그것은 HTML 형식에 관한 것입니다. – evilReiko

+0

이 동작을 생성하는 단어는 sql 키워드입니다. 그래서 당신이 준 정보 (PHP 관련 = 아마 데이터베이스 관련)에서 추측이었습니다. 게시물이 비어 있는지 어떻게 확인합니까 - 대답하지 않았습니다. –

답변

2

apache * mod_security * 같은 소리가 나네요. 무언가가 SQL 인젝션 또는 나쁜 것으로 생각되면 POST 데이터가 제거됩니다.

+1

"drop"이라는 단어가 데이터베이스를 삭제하는 데 사용될 수 있으므로 트리거가 될 수 있습니다. – Andy

+1

유효한 텍스트가 "drop"을 포함 할 수없는 것처럼 여전히 우스 꽝 스럽습니다 ... – ThiefMaster

+0

@ThiefMaster Intersting! 어떤 아이디어 아파치 모드, 그리고 그것을 해제하는 방법? – evilReiko