douguan3470 2019-05-15 13:37
浏览 84

如何使用python请求登录基于SMF开源软件的网站

I'm trying to use python requests to login into a website. The only catch is that it is based on SMF and uses sha1 to encrypt and send a hashed password. I know how it is encrypted but I don't where to get smf_session_id which is required to encrypt the password.

I've tried seeing looking through all the javascript files on the website but I can't find where it's defined. I've also tried seeing if the __cfduid or PHPSESSID have any relationship to it but it's different.

Python

payload = {
'user': 'user',
'passwrd': my_hash_function('pass') #I don't know where/how to get smf_session_id to complete the hash 

with requests.Session() as s:
    p = s.post('http://www.example.com/SMF/index.php?action=login2', data=payload)        

print (s.cookies)        
print ("Status Code: ", p.status_code)

payload = {'test': 'testparm'}
r = s.get('http://www.example.com/cgi-bin/vote_rank.cgi', data=payload)
print (r.status_code)
print (s.cookies)
print (r.headers)

Javascript

if (cur_session_id == null)         
    cur_session_id = smf_session_id; 

doForm.hash_passwrd.value = hex_sha1(hex_sha1(doForm.user.value.php_to8bit().php_strtolower() + doForm.passwrd.value.php_to8bit()) + cur_session_id)
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Arcgis相交分析无法绘制一个或多个图形
    • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)