2013-12-19 3 views
0

나는이 양식을csrf 공격으로 내 양식을 어떻게 저장합니까?

<form> 
//code 
<input type="hidden" value="gfth35rfer43556thgrth8678gbfgb" name="csrf"> 
</form> 

토큰 모든 사용자에 대해 고유 있습니다. 이제 공격자가 로그인하여이 페이지를 열었다 고 가정합니다. 이제 그는 현재 세션 토큰이 무엇인지 알고 있습니다. 공격자가 위의 값을 복사하여 인증 토큰을가집니다. 그는 내 사이트를 쉽게 공격 할 수 있습니다. 이 절차는 csrf 공격을 어떻게 방지합니까?

+0

http://en.wikipedia.org/wiki/Cross-site_request_forgery – SamV

+0

새로운 주제에 대해 물어볼 때는 두 범주 모두에서 투표율이 가장 높은 질문을 보는 것이 좋습니다. http://stackoverflow.com/questions/tagged/php + csrf? sort = votes & pageSize = 50. 멋진 소개를하고 현장에서 가장 큰 문제와 해결책을 볼 수 있습니다. –

답변

2

을 감안할 때 :

  • 앨리스 - 사용자
  • 밥 - 사이트를
  • 말로리를 실행하는 사람 - CSRF 보호의 포인트 속여 말로리을 방지하는 것입니다 공격자

Alice가 Mallory가 제공 한 데이터를 제출 (Alice의 사용자 자격 증명 사용)

앨리스와 말로리는 서로 다른 토큰을 가지고 있기 때문에 말로리는 단지 "위의 값을 복사 할 수 없습니다".

Mallory가 자신의 자격 증명을 사용하여 데이터를 제출하는 것을 방지하지 않아도됩니다. 이 문제를 해결하려면 다른 사용자에게 얼마나 많은 신뢰를 주어야하는지 결정해야합니다.

+0

좋은 설명 tnx. 사용자가 다른 웹 사이트의 양식을 제출하지 못하게하려면 어떻게해야합니까? 도움이 될만한 링크가 있다면 – Ace

+0

끝으로? 데이터를 전송하기 위해 속임수를 쓰지 않으려면 보내지 않으시겠습니까? 그것이 CSRF 보호가 할 것입니다. 데이터를 제출하지 않으려면 제출을 원하지 않습니까? 당신은 그것을 막을 수 없습니다. 서버에 도착하면 데이터의 온 전성을 검사해야합니다. – Quentin