Python新手,尝试创建一个小Python脚本,从使用javascripts和表单的密码生成内部网站提取密码

2024-09-30 16:31:04 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我们有一个内部网站,为我们的特权用户生成密码。我想通过使用python自动化这个函数

网站就是这样的:

  • 主页:输入您的凭据(特定于站点)—>;按Login 按钮
    • submit按钮在后端有j\ U安全检查
- loginUrl = 'https://internal.website.local/self/j_security_check'
resLogin = session.post(loginUrl, data = {'j_username': 'myusername' ,'j_password': 'mypassword', 'submitbut': 'Log In','command': 'submit','browserDate': '1576177981845','browserOffset': '240','browserTimeZone_2005': '0:240','browserTimeZone_2006': '0:240','browserTimeZone_2007': '0:240','browserTimeZone_2008': '0:240','browserTimeZone_2009': '0:240','browserTimeZone_2010': '0:240','browserTimeZone_2011': '0:240','browserTimeZone_2012': '0:240','browserTimeZone_2013': '0:240','browserTimeZone_2014': '0:240','browserTimeZone_2015': '0:240'}) 
  • 我在网站上的发帖请求中看到,这需要大量的borwserDates&;browserTimezone值,但是,即使我保持这些连续的一天又一天的工作正常
  • 此时登录成功Have achieved this part

登录后的第二页: -登录后,我们在页面上有很多链接。我们使用名为UseCredential.do的页面

MainCredential = 'https://internal.website.local/self/UseCredential.do'
CredentialDo = session.get(MainCredential, verify=False)
  • 此时,我已成功轮询UseCredential.do页面
  • 此页有两个框和一个搜索按钮
  • 通常我们把盒子空着,然后按搜索按钮
  • 此搜索按钮在后端提交一个表单,该表单的代码为
<input type="button" name="searchButton" value="Search" onclick="return submitForm('UseCredentialForm','search');" onmouseover="onMouseOverButtonHandler(this);" onmouseout="onMouseOutButtonHandler(this);" onblur="onMouseOutButtonHandler(this);" onfocus="onMouseOverButtonHandler(this);" id="searchButton" class="button button-primary " alt="Search">

Furthermore it also a script

<script>
    function onKeyPress(e) {
        if(e && e.keyCode === 13){
            e.preventDefault();
            submitForm('UseCredentialForm','search');
        }
    }
</script>
  1. 通过查看调试,我可以看到以下内容是在按下搜索按钮时提交的。所以用这个来执行脚本
CredentialDo2 = session.post(MainCredential, data = {'searchResourceCondInput':'','searchCredentialCondInput':'','command': 'search','linkRow': ''}) 
  1. 直到这部分我成功,如果我打印CredentialDo2.text,我可以看到搜索结果就在那里。 --------这是我无法进一步进行的地方,因为post数据仅在CredentialDo2中可用,我不知道如何进一步进行。 ---接下来的步骤是:
  2. 单击结果,结果总是相同的名称MyUserName2,后面有以下代码
                                            <div class="tableCellContent" title="MyUserName2">
                                                <a
                                                    href="javascript:submitTableLink(&#039;UseCredentialForm&#039;,&#039;selectSharedAccount&#039;,&#039;a73e0a84_0&#039;)"
                                                ><span class="pim-credential-name">MyUserName2</span>
                                                <span class=""></span>
                                                </a>
                                            </div>
                                            </td>   

观察:javascript a73e0a84\u 0末尾的值总是变化的。我可以看到这个值在帖子中传递

  1. 一旦我们点击MyUserName2,我就得到了需要输入的页面 在文本框中,按submit

  2. 一旦提交,它将发送到一个新的页面,我点击查看密码,以获得新的密码。此ViewPassword按钮 执行javascript。我需要两个人帮我弄到密码。我将分享更多的代码,一旦我到达那里

请注意,在所有这些中,地址栏中的链接不会从“https://internal.website.local/self/UseCredential.do”更改

任何帮助都将不胜感激。 这是我第一次用Python编程,所以请耐心听我说


Tags: https密码网站页面websitethis按钮do