2013-03-11 2 views
1

그래서 나는 user_pass 열에 내 wordpress wp_user 테이블에 존재하는 암호 해시를 변경하고 싶습니다.mysql에 wordpress 암호 해쉬를 복제

# simplified version of what is desired. 
UPDATE `wp_user` SET user_pass = MD5('123') WHERE user_email = '[email protected]'; 

는 기본적으로, 나는 쿼리를 사용하여 설정 한 후, 워드 프레스는이 암호를 받아들이는 지속될 것으로 mysql을 등의 사용자 암호를 설정할 수 있도록하려면 : 다음과 같이 뭔가를 쓸 수 있기를 희망하고있다 사용자가 사인 온 양식을 통해 입력 할 때 유효합니다. 나는 이것에 관한 PHPass 정보뿐만 아니라 class-phpass.php의 내용을 wordpress 소스에서 검토하고있다. 나의 연구에서, 이것은 실행하기가 매우 어렵다면, 매우 복잡하게 보인다. 나는 뭔가를 놓치고 있습니까? 아니면 실제로 이것은 어렵거나 잠재적으로 난독 화 되려고합니까? MySQL에서이 기능을 복제 할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다. 감사합니다. 진행에 관한

편집 :이 작품 왜 내가 더 잘 설명해야

UPDATE `wp_user` SET user_pass = MD5('123') WHERE id = 1342; 

: 당신이 단지 보안의 개발 수준을 필요로하는 경우 다음 당신은 실제로 다음 사용할 수있는 경우입니다. Wordpress는 레거시 호환성 이유로 MD5 해시를 기본값으로 사용합니다. 기본적으로, 암호가 word press에 전달되면, wordpress PHPass 해시를 실행합니다. 이것은 MD5('123')과 같은 것으로 실패합니다. 그런 다음 wordpress는 SHA1과 MD5와 같은 다른 단순 해시 알고리즘을 시도합니다. 그런 다음 이들 중 하나에서 일치하는 항목이 발견되면 wordpress는 실제로 해당 레코드의 암호 열을 업데이트합니다. 주어진 비밀번호를 PHPass로 업데이트합니다. 이 일이 끝나면 여전히 잘됩니다. 이것은 기본적으로 dev 환경에서 완벽하게 작동하지만, PHPass의 작업과 일치하는 MySQL 쿼리는 훌륭한 작업입니다. 내가 그것을 깨면, 그것은 나의 다음 갱신 일 것이다. 분명히 wordpress는 최종 해시 결과를 생성하기 위해 약 8000 배 이상의 소금을 첨가 한 복어 해시를 실행하고 있습니다.

+0

음, Mr. Galt. 워드 프레스 사용자의 암호를 새로운 값으로 프로그래밍 방식으로 변경하는 MySQL 쿼리를 개발하는 것으로 보입니다. 그 맞습니까? 당신은 그것이 어렵다는 것이 옳다. 그러나 확실히 확실하지는 않습니다. wp_user 테이블에서 열을 업데이트하는 것만 큼 간단하지 않습니다. 암호를 변경할 때 사용자가 활성 상태 인 세션을 취소 하시겠습니까? –

+1

여러분이 지켜 보신 바와 같이'class-phpass.php'에는 많은 것들이 있습니다. 대부분은 해시 소금에 대해 암호 학적으로 강력한 난수를 생성하고 해시를 생성하는 두 가지 작업을 수행하는 것과 관련이 있습니다. RAND()와 MD5()와 같은 MySQL 함수로 이것을 복제하려고하면 WordPress 설치시 보안 구멍이 생길 가능성이 큽니다. MySQL RAND 함수는 암호 학적으로 강력하지 않기 때문입니다. 즉, MySQL 임의의 숫자는 예상보다 쉽게 ​​추측 할 수 있습니다. PHP 함수를 사용하거나 금이 간다! –

+0

@OllieJones 나는 현재 사용자 세션에 대해 너무 걱정하지 않는다.이 쿼리의 의도 된 기능은 사용자 가입시 생성되는 자동 생성 된 비밀번호를 스왑하는 것입니다. 이것은 dev 컴퓨터에서 테스트 목적으로 사용됩니다. 궁극적 인 목표는 임의의 사용자를 생성 할 수있는 쿼리입니다. 암호는 중요한 부분이지만 복제 방법을 아직 이해하지 못했습니다. – usumoio

답변

-3

실제로 실제로 내가보기에는 올바른 SQL을 게시했습니다.

+2

이 질문은 'SQL_YOU_POSTED' 현실에 있어야합니다. 질문에 쓴 것은 간단한 예입니다. 실제 쿼리는 훨씬 더 복잡합니다. – usumoio

+0

실제 쿼리 *는 훨씬 더 복잡합니다.이 답변은 OP의 게시물에있는 간단한 SQL이 "정확합니다"라고 주장하지만 OP에서 실제 WordPress가 생성되지 않는다는 의미에서 부적절하다고 말했지만, 호환 가능한 암호 해시.사실 단순하고 무수한 해시를 생성하고 공격 받기 쉽기 때문에 보안 관점에서는 ** 정확하지 않습니다 **. – Craig