2013-06-26 3 views
0

저는 파이썬 기계어로 웹 사이트에 로그온하려고합니다. 형태로 올바른 자격 증명되게 그러나 그것은 로그인에 실패 나는 기계화 튜토리얼 다음 뭘하는지 여기 기계화/파이썬을 사용하여 비밀번호를 확인하지 못했습니다.

은 다음과 같습니다.

def logon(self): 
    baseurl = "https://www.website.com/login" 
    br = mechanize.Browser(factory=mechanize.RobustFactory()) 
    br.open(baseurl) 
    br.select_form(nr=0) 
    br.form["username"] = self.username 
    br.form["password"] = self.password 
    response = br.submit() 
    print response.geturl() 
website.com/dashboard에 저를해야

하지만 그건 website.com/login 페이지에서 실패한 것처럼 말하는 것입니다. 나는 수동으로 로그인 할 수 있으며 모든 것이 디버거를 통과하므로 내가 잘못하고 있는지 확실하지 않습니다. 좀 파고, 그리고 양식을 통해 HTML을 자바 스크립트에 대한 검사, 그리고 양식이 그것에 연결된 것으로 보이지 않습니다. 내가 질문 몇 가지 유사한 질문이 있었다하지만 내 검색이 제기 한 명확한 답변이있을 듯하지 않은 알고

<form method="post" class="login-form"> 
       <fieldset> 
        <div class="row form-section"> 
         <label for="email">Email Address</label> 
         <span class="input-text"><input class="required-email" type="text" id="email" value="" name="username" /><span class="required">Required Info</span></span> 
         <!--<input type="text" id="email" name="username" placeholder="Enter Email Address" class="text" aria-required="true" required="required" style='float:right;' size="30" value="" /><p> --> 
        </div> 
        <div class="row form-section"> 
         <label for="pass">Password</label> 
         <span class="input-text"><input class="required-text" type="password" id="pass" value="" name="password" /><span class="required">Required Info</span></span> 
         <!--<input type="password" placeholder="Enter Password" class="text" size="30" autocomplete="off" value="" id="password" name="password" style='float:right;' aria-required="true" required="required" />--> 
        </div> 
        <div class="row row-btn"> 
         <input type="submit" value="Log in" /> 
         <span><a href="/sign-up" class="sign-in">Don't have an account?</a><br><br><a href="/component/com_oms/task,reset-password/view,user/" class="sign-in">Forgot your password?</a>&nbsp;&nbsp;<a href="/resend-activation" class="sign-in">Didn't get your activation email?</a></span> 
        </div> 
       </fieldset> 
       <input type="hidden" value="com_oms" name="option"> 
       <input type="hidden" value="login" name="task"> 
       <input type="hidden" name="return" value=""> 
       <input type="hidden" name="9402951e32acb8d73d4a6972ae540c63" value="1" /> 
</form> 

:

여기 형태입니다. 누군가는 계속하고있는 무슨을에 어떤 빛을 비췄습니까?

+0

제가 생각할 수있는 유일한 다른 점은 웹 사이트가 https라는 것입니다. 기계화가 암호화를 처리 할 수 ​​있는지 확신 할 수 없습니다. – RMSD

답변

0

댓글로 추가하고 싶지만 수행 할 수없는 사람 : 몇 가지 숨겨진 입력, 특히 문자열이 CSRF 공격을 막기 위해 검증 역할을하는지 의심 스럽습니다. 이메일/비밀번호와 함께 숨겨진 필드를 다시 제출하려 했습니까? 그게 너를 도울지도 모른다.

+0

흠 ... 나는 그걸 생각하지 않았다. 나는 그것을 시도하고 어떤 일이 일어날지를 볼 것입니다. – RMSD

+0

그래서 나는 그들을 바꾸려고 노력했다. 그리고 그들은 명백하게 마지막 것을 제외하고 모두 단지 읽힌다. 마지막 하나가 나를 토큰 권위의 일종이라고 믿게하는 것으로 변하는 것 같습니다. 나는 그것을 어떻게 참조 할 지 모르겠다. – RMSD

+0

User-Agent를 헤더에 추가하려고 시도 했습니까? Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox : Mozilla/5.0 (X11; U, Linux i686, en-US, rv : 1.9.0.1) /13.0.1 ')] –

관련 문제